public class CacheClearExpiredRecordsTask extends ClearExpiredRecordsTask<CachePartitionSegment,ICacheRecordStore>
This task provides per partition expiration operation logic. Fires cleanup operations at most partition operation thread count or some factor of it in one round.
These parameters can be set node-wide or system-wide
Node-wide setting example:
Config config = new Config(); config.setProperty("hazelcast.internal.cache.expiration.cleanup.operation.count", "3"); Hazelcast.newHazelcastInstance(config);
System-wide setting example:
System.setProperty("hazelcast.internal.cache.expiration.cleanup.operation.count", "3");
ClearExpiredRecordsTask.ProcessablePartitionType
Modifier and Type | Field and Description |
---|---|
static String |
PROP_CLEANUP_OPERATION_COUNT |
static String |
PROP_CLEANUP_PERCENTAGE |
static String |
PROP_TASK_PERIOD_SECONDS |
containers, nodeEngine, partitionService, toBackupSender
Constructor and Description |
---|
CacheClearExpiredRecordsTask(CachePartitionSegment[] containers,
NodeEngine nodeEngine) |
newBackupExpiryOpFilter, partitionLost, run, sendQueuedExpiredKeys
public static final String PROP_CLEANUP_PERCENTAGE
public static final String PROP_TASK_PERIOD_SECONDS
public static final String PROP_CLEANUP_OPERATION_COUNT
public CacheClearExpiredRecordsTask(CachePartitionSegment[] containers, NodeEngine nodeEngine)
public void tryToSendBackupExpiryOp(ICacheRecordStore store, boolean sendIfAtBatchSize)
tryToSendBackupExpiryOp
in class ClearExpiredRecordsTask<CachePartitionSegment,ICacheRecordStore>
public Iterator<ICacheRecordStore> storeIterator(CachePartitionSegment container)
storeIterator
in class ClearExpiredRecordsTask<CachePartitionSegment,ICacheRecordStore>
protected Operation newPrimaryExpiryOp(int expirationPercentage, CachePartitionSegment container)
newPrimaryExpiryOp
in class ClearExpiredRecordsTask<CachePartitionSegment,ICacheRecordStore>
protected Operation newBackupExpiryOp(ICacheRecordStore store, Collection<ExpiredKey> expiredKeys)
newBackupExpiryOp
in class ClearExpiredRecordsTask<CachePartitionSegment,ICacheRecordStore>
protected void equalizeBackupSizeWithPrimary(CachePartitionSegment container)
equalizeBackupSizeWithPrimary
in class ClearExpiredRecordsTask<CachePartitionSegment,ICacheRecordStore>
protected boolean hasExpiredKeyToSendBackup(CachePartitionSegment container)
hasExpiredKeyToSendBackup
in class ClearExpiredRecordsTask<CachePartitionSegment,ICacheRecordStore>
protected boolean hasRunningCleanup(CachePartitionSegment container)
hasRunningCleanup
in class ClearExpiredRecordsTask<CachePartitionSegment,ICacheRecordStore>
protected void setHasRunningCleanup(CachePartitionSegment container)
setHasRunningCleanup
in class ClearExpiredRecordsTask<CachePartitionSegment,ICacheRecordStore>
protected boolean isContainerEmpty(CachePartitionSegment container)
isContainerEmpty
in class ClearExpiredRecordsTask<CachePartitionSegment,ICacheRecordStore>
protected boolean notHaveAnyExpirableRecord(CachePartitionSegment container)
notHaveAnyExpirableRecord
in class ClearExpiredRecordsTask<CachePartitionSegment,ICacheRecordStore>
protected long getLastCleanupTime(CachePartitionSegment container)
getLastCleanupTime
in class ClearExpiredRecordsTask<CachePartitionSegment,ICacheRecordStore>
protected void sortPartitionContainers(List<CachePartitionSegment> containers)
sortPartitionContainers
in class ClearExpiredRecordsTask<CachePartitionSegment,ICacheRecordStore>
protected ClearExpiredRecordsTask.ProcessablePartitionType getProcessablePartitionType()
getProcessablePartitionType
in class ClearExpiredRecordsTask<CachePartitionSegment,ICacheRecordStore>
Copyright © 2019 Hazelcast, Inc.. All rights reserved.