diff --git a/src/main/java/net/openhft/chronicle/map/ChronicleMapBuilder.java b/src/main/java/net/openhft/chronicle/map/ChronicleMapBuilder.java index cf6470298..a5ce0d020 100755 --- a/src/main/java/net/openhft/chronicle/map/ChronicleMapBuilder.java +++ b/src/main/java/net/openhft/chronicle/map/ChronicleMapBuilder.java @@ -193,7 +193,7 @@ public final class ChronicleMapBuilder implements */ long cleanupTimeout = 1; TimeUnit cleanupTimeoutUnit = TimeUnit.MINUTES; - private boolean cleanupRemovedEntries = true; + boolean cleanupRemovedEntries = true; DefaultValueProvider defaultValueProvider = DefaultSpi.defaultValueProvider(); diff --git a/src/main/java/net/openhft/chronicle/map/ReplicatedChronicleMap.java b/src/main/java/net/openhft/chronicle/map/ReplicatedChronicleMap.java index 6346cf068..3c6da3bc0 100644 --- a/src/main/java/net/openhft/chronicle/map/ReplicatedChronicleMap.java +++ b/src/main/java/net/openhft/chronicle/map/ReplicatedChronicleMap.java @@ -110,6 +110,7 @@ public class ReplicatedChronicleMap extends VanillaChronicleMap extends VanillaChronicleMap) builder.remoteOperations; this.timeProvider = builder.timeProvider(); + cleanupRemovedEntries = builder.cleanupRemovedEntries; cleanupTimeout = builder.cleanupTimeout; cleanupTimeoutUnit = builder.cleanupTimeoutUnit; } diff --git a/src/main/java/net/openhft/chronicle/map/impl/stage/replication/ReplicatedQueryAlloc.java b/src/main/java/net/openhft/chronicle/map/impl/stage/replication/ReplicatedQueryAlloc.java index fffe3ec00..91a0170e1 100644 --- a/src/main/java/net/openhft/chronicle/map/impl/stage/replication/ReplicatedQueryAlloc.java +++ b/src/main/java/net/openhft/chronicle/map/impl/stage/replication/ReplicatedQueryAlloc.java @@ -44,6 +44,8 @@ public class ReplicatedQueryAlloc extends QueryAlloc { */ public boolean forcedOldDeletedEntriesCleanup(long prevPos) { ReplicatedChronicleMap map = mh.m(); + if (!map.cleanupRemovedEntries) + return false; try (MapSegmentContext sc = map.segmentContext(s.segmentIndex)) { cleanupAction.removedCompletely = 0; cleanupAction.posToSkip = prevPos; diff --git a/src/test/java/net/openhft/chronicle/map/OldDeletedEntriesCleanupTest.java b/src/test/java/net/openhft/chronicle/map/OldDeletedEntriesCleanupTest.java index daa6a29d7..3c5f7898b 100644 --- a/src/test/java/net/openhft/chronicle/map/OldDeletedEntriesCleanupTest.java +++ b/src/test/java/net/openhft/chronicle/map/OldDeletedEntriesCleanupTest.java @@ -34,7 +34,6 @@ import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.util.*; -import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; public class OldDeletedEntriesCleanupTest {