Don't force cleanup deleted entries on alloc, if it is disabled in this ReplicatedChronicleMap

This commit is contained in:
leventov
2015-12-25 20:39:43 +03:00
parent d41f9a106c
commit 0ead52335b
4 changed files with 5 additions and 2 deletions
@@ -193,7 +193,7 @@ public final class ChronicleMapBuilder<K, V> implements
*/
long cleanupTimeout = 1;
TimeUnit cleanupTimeoutUnit = TimeUnit.MINUTES;
private boolean cleanupRemovedEntries = true;
boolean cleanupRemovedEntries = true;
DefaultValueProvider<K, V> defaultValueProvider = DefaultSpi.defaultValueProvider();
@@ -110,6 +110,7 @@ public class ReplicatedChronicleMap<K, V, R> extends VanillaChronicleMap<K, V, R
private transient long startOfModificationIterators;
private transient boolean bootstrapOnlyLocalEntries;
public transient boolean cleanupRemovedEntries;
public transient long cleanupTimeout;
public transient TimeUnit cleanupTimeoutUnit;
@@ -168,6 +169,7 @@ public class ReplicatedChronicleMap<K, V, R> extends VanillaChronicleMap<K, V, R
super.initTransientsFromBuilder(builder);
this.remoteOperations = (MapRemoteOperations<K, V, R>) builder.remoteOperations;
this.timeProvider = builder.timeProvider();
cleanupRemovedEntries = builder.cleanupRemovedEntries;
cleanupTimeout = builder.cleanupTimeout;
cleanupTimeoutUnit = builder.cleanupTimeoutUnit;
}
@@ -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;