From 93a642054e90c0ab0145ecadb9064fafa011fced Mon Sep 17 00:00:00 2001 From: Rob Austin Date: Fri, 17 Nov 2017 15:01:31 +0000 Subject: [PATCH] updated the bom to the latest map --- pom.xml | 2 +- .../chronicle/hash/impl/VanillaChronicleHash.java | 12 ++++++------ .../chronicle/hash/impl/stage/iter/TierRecovery.java | 4 ++-- .../chronicle/map/ReplicatedChronicleMap.java | 2 +- .../openhft/chronicle/map/VanillaChronicleMap.java | 2 +- .../map/impl/stage/data/ZeroBytesStore.java | 8 +++++++- .../map/impl/stage/entry/MapEntryStages.java | 4 +--- 7 files changed, 19 insertions(+), 15 deletions(-) diff --git a/pom.xml b/pom.xml index b8d2eb252..476addb28 100755 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ net.openhft chronicle-bom - 1.14.115 + 1.14.127-SNAPSHOT pom import diff --git a/src/main/java/net/openhft/chronicle/hash/impl/VanillaChronicleHash.java b/src/main/java/net/openhft/chronicle/hash/impl/VanillaChronicleHash.java index af15f7d9f..0422e3e9a 100644 --- a/src/main/java/net/openhft/chronicle/hash/impl/VanillaChronicleHash.java +++ b/src/main/java/net/openhft/chronicle/hash/impl/VanillaChronicleHash.java @@ -707,7 +707,7 @@ public abstract class VanillaChronicleHash c = m.queryContext(key)) { MapEntry entry2 = c.entry(); Data key2 = ((MapEntry) c).key(); - long keyAddress = key.bytes().address(key.offset()); - long key2Address = key2.bytes().address(key2.offset()); + long keyAddress = key.bytes().addressForRead(key.offset()); + long key2Address = key2.bytes().addressForRead(key2.offset()); if (key2Address != keyAddress) { report(corruptionListener, corruption, s.segmentIndex, () -> format("entries with duplicate key {} in segment {}: " + diff --git a/src/main/java/net/openhft/chronicle/map/ReplicatedChronicleMap.java b/src/main/java/net/openhft/chronicle/map/ReplicatedChronicleMap.java index 3aff5ec2f..a10a3d58d 100644 --- a/src/main/java/net/openhft/chronicle/map/ReplicatedChronicleMap.java +++ b/src/main/java/net/openhft/chronicle/map/ReplicatedChronicleMap.java @@ -695,7 +695,7 @@ public class ReplicatedChronicleMap extends VanillaChronicleMap } public void alignReadPosition(Bytes entry) { - long positionAddr = entry.address(entry.readPosition()); + long positionAddr = entry.addressForRead(entry.readPosition()); long skip = alignAddr(positionAddr, alignment) - positionAddr; if (skip > 0) entry.readSkip(skip); diff --git a/src/main/java/net/openhft/chronicle/map/impl/stage/data/ZeroBytesStore.java b/src/main/java/net/openhft/chronicle/map/impl/stage/data/ZeroBytesStore.java index 0e81772fd..b96cb5610 100644 --- a/src/main/java/net/openhft/chronicle/map/impl/stage/data/ZeroBytesStore.java +++ b/src/main/java/net/openhft/chronicle/map/impl/stage/data/ZeroBytesStore.java @@ -29,6 +29,11 @@ import java.nio.ByteBuffer; public enum ZeroBytesStore implements BytesStore { INSTANCE; + @Override + public long addressForWrite(long offset) throws UnsupportedOperationException, BufferOverflowException { + throw new UnsupportedOperationException("todo"); + } + @Override public int peekUnsignedByte(long offset) { return 0; @@ -123,10 +128,11 @@ public enum ZeroBytesStore implements BytesStore { } @Override - public long address(long offset) throws UnsupportedOperationException { + public long addressForRead(long offset) throws UnsupportedOperationException { return offset; } + @Override public boolean compareAndSwapInt(long offset, int expected, int value) throws BufferOverflowException, IllegalArgumentException { diff --git a/src/main/java/net/openhft/chronicle/map/impl/stage/entry/MapEntryStages.java b/src/main/java/net/openhft/chronicle/map/impl/stage/entry/MapEntryStages.java index a4824eac5..e9ee2db42 100644 --- a/src/main/java/net/openhft/chronicle/map/impl/stage/entry/MapEntryStages.java +++ b/src/main/java/net/openhft/chronicle/map/impl/stage/entry/MapEntryStages.java @@ -18,8 +18,6 @@ package net.openhft.chronicle.map.impl.stage.entry; import net.openhft.chronicle.bytes.Bytes; -import net.openhft.chronicle.bytes.NativeBytesStore; -import net.openhft.chronicle.bytes.RandomDataInput; import net.openhft.chronicle.hash.Data; import net.openhft.chronicle.hash.impl.CompactOffHeapLinearHashTable; import net.openhft.chronicle.hash.impl.stage.entry.AllocatedChunks; @@ -64,7 +62,7 @@ public abstract class MapEntryStages extends HashEntryStages segmentBytes.writePosition(valueSizeOffset); mh.m().valueSizeMarshaller.writeSize(segmentBytes, valueSize); long currentPosition = segmentBytes.writePosition(); - long currentAddr = segmentBytes.address(currentPosition); + long currentAddr = segmentBytes.addressForRead(currentPosition); long skip = alignAddr(currentAddr, mh.m().alignment) - currentAddr; if (skip > 0) segmentBytes.writeSkip(skip);