HCOLL-343 add an option not to erase old removed entries from ReplicatedChronicleMap

This commit is contained in:
leventov
2015-08-27 00:01:46 +03:00
parent 6cb62cf20b
commit 88843fae92
4 changed files with 32 additions and 1 deletions
@@ -164,6 +164,7 @@ public final class ChronicleMapBuilder<K, V> implements
// replication
private TimeProvider timeProvider = TimeProvider.SYSTEM;
long cleanupTimeout = 1;
private boolean cleanupRemovedEntries = true;
TimeUnit cleanupTimeoutUnit = TimeUnit.SECONDS;
private BytesMarshallerFactory bytesMarshallerFactory;
@@ -1075,6 +1076,12 @@ public final class ChronicleMapBuilder<K, V> implements
return this;
}
@Override
public ChronicleMapBuilder<K, V> cleanupRemovedEntries(boolean cleanupRemovedEntries) {
this.cleanupRemovedEntries = cleanupRemovedEntries;
return this;
}
TimeProvider timeProvider() {
return timeProvider;
}
@@ -1571,7 +1578,8 @@ public final class ChronicleMapBuilder<K, V> implements
throw new AssertionError("Only one non-null replication should be passed");
ReplicatedChronicleMap result = (ReplicatedChronicleMap) map;
establishCleanupThread(result);
if (cleanupRemovedEntries)
establishCleanupThread(result);
List<Replicator> replicators = new ArrayList<>(2);
if (singleHashReplication != null) {