diff --git a/src/main/java/net/openhft/chronicle/map/ReadValue.java b/src/main/java/net/openhft/chronicle/map/ReadValue.java index 8d925ce37..2b90e13d7 100644 --- a/src/main/java/net/openhft/chronicle/map/ReadValue.java +++ b/src/main/java/net/openhft/chronicle/map/ReadValue.java @@ -24,6 +24,9 @@ import org.jetbrains.annotations.NotNull; * @param result type, map value type or Bytes */ interface ReadValue { + /** + * Updates the entry position by valueSize. + */ RV readValue(@NotNull ThreadLocalCopies copies, Bytes entry, RV usingValue, long valueSize); RV readNull(); } diff --git a/src/main/java/net/openhft/chronicle/map/VanillaChronicleMap.java b/src/main/java/net/openhft/chronicle/map/VanillaChronicleMap.java index 4ba59a3e7..bb5de7251 100755 --- a/src/main/java/net/openhft/chronicle/map/VanillaChronicleMap.java +++ b/src/main/java/net/openhft/chronicle/map/VanillaChronicleMap.java @@ -384,7 +384,7 @@ class VanillaChronicleMap, } static abstract class ReadValueToBytes implements ReadValue { - private SizeMarshaller valueSizeMarshaller; + SizeMarshaller valueSizeMarshaller; abstract Bytes bytes(long valueSize); @@ -398,6 +398,7 @@ class VanillaChronicleMap, usingBytes = bytes(valueSize); valueSizeMarshaller.writeSize(usingBytes, valueSize); usingBytes.write(entry, entry.position(), valueSize); + entry.skip(valueSize); return usingBytes; } } @@ -434,6 +435,7 @@ class VanillaChronicleMap, @Override Bytes bytes(long valueSize) { + valueSize = valueSizeMarshaller.sizeEncodingSize(valueSize) + valueSize; if (lazyBytes != null) { if (lazyBytes.capacity() < valueSize) { DirectStore store = (DirectStore) lazyBytes.store(); diff --git a/src/test/java/net/openhft/chronicle/map/EventListenerTestWithTCPSocketReplication.java b/src/test/java/net/openhft/chronicle/map/EventListenerTestWithTCPSocketReplication.java index 893b96a30..3d00cb137 100644 --- a/src/test/java/net/openhft/chronicle/map/EventListenerTestWithTCPSocketReplication.java +++ b/src/test/java/net/openhft/chronicle/map/EventListenerTestWithTCPSocketReplication.java @@ -180,7 +180,6 @@ public class EventListenerTestWithTCPSocketReplication { } @Test - @Ignore("TODO Failing test") public void testRemoteNotifyRemove() throws IOException, InterruptedException { // ---------- SERVER1 1 ----------