diff --git a/src/main/java/net/openhft/chronicle/map/OldDeletedEntriesCleanupThread.java b/src/main/java/net/openhft/chronicle/map/OldDeletedEntriesCleanupThread.java index af294b8b0..126384c6a 100644 --- a/src/main/java/net/openhft/chronicle/map/OldDeletedEntriesCleanupThread.java +++ b/src/main/java/net/openhft/chronicle/map/OldDeletedEntriesCleanupThread.java @@ -114,8 +114,9 @@ private static int[] inversePermutation(int[] permutation) { public void run() { throwExceptionIfClosed(); - if (System.currentTimeMillis() - startTime < 1_000) - return; + long runningTime = System.currentTimeMillis() - startTime; + if (runningTime < 1_000) + sleepMillis(1_000 - runningTime); while (!shutdown) { int nextSegmentIndex; diff --git a/src/test/java/net/openhft/chronicle/map/MemoryLeaksTest.java b/src/test/java/net/openhft/chronicle/map/MemoryLeaksTest.java index a3acdb151..443785a39 100644 --- a/src/test/java/net/openhft/chronicle/map/MemoryLeaksTest.java +++ b/src/test/java/net/openhft/chronicle/map/MemoryLeaksTest.java @@ -69,6 +69,7 @@ public MemoryLeaksTest(String testType, boolean replicated, boolean persisted, b builder = ChronicleMap .of(IntValue.class, String.class).constantKeySizeBySample(Values.newHeapInstance(IntValue.class)) .valueReaderAndDataAccess(new CountedStringReader(this), new StringUtf8DataAccess()); + builder.cleanupRemovedEntries(false); if (replicated) builder.replication((byte) 1); builder.entries(1).averageValueSize(10);