public class MapClearExpiredRecordsTask extends ClearExpiredRecordsTask<PartitionContainer,RecordStore>
These parameters can be set node-wide or system-wide
Node-wide setting example:
           Config config = new Config();
           config.setProperty(
           , "3");
           Hazelcast.newHazelcastInstance(config);
       
 
 System-wide setting example:
        System.setProperty(
        , "3");
    
 ClearExpiredRecordsTask.ProcessablePartitionType| Modifier and Type | Field and Description | 
|---|---|
static String | 
PROP_CLEANUP_OPERATION_COUNT  | 
static String | 
PROP_CLEANUP_PERCENTAGE  | 
static String | 
PROP_PRIMARY_DRIVES_BACKUP  | 
static String | 
PROP_TASK_PERIOD_SECONDS  | 
containers, nodeEngine, partitionService, toBackupSender| Constructor and Description | 
|---|
MapClearExpiredRecordsTask(PartitionContainer[] containers,
                          NodeEngine nodeEngine)  | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
canPrimaryDriveExpiration()  | 
protected void | 
clearLeftoverExpiredKeyQueues(PartitionContainer container)
This can happen due to the partition ownership changes. 
 | 
protected void | 
equalizeBackupSizeWithPrimary(PartitionContainer container)  | 
protected long | 
getLastCleanupTime(PartitionContainer container)  | 
protected ClearExpiredRecordsTask.ProcessablePartitionType | 
getProcessablePartitionType()  | 
protected boolean | 
hasExpiredKeyToSendBackup(PartitionContainer container)  | 
protected boolean | 
hasRunningCleanup(PartitionContainer container)  | 
protected boolean | 
isContainerEmpty(PartitionContainer container)  | 
protected Operation | 
newBackupExpiryOp(RecordStore store,
                 Collection<ExpiredKey> expiredKeys)  | 
protected Operation | 
newPrimaryExpiryOp(int expirationPercentage,
                  PartitionContainer container)  | 
protected boolean | 
notHaveAnyExpirableRecord(PartitionContainer partitionContainer)
Here we check if that partition has any expirable record or not,
 if no expirable record exists in that partition no need to fire an expiration operation. 
 | 
protected void | 
setHasRunningCleanup(PartitionContainer container)  | 
protected void | 
sortPartitionContainers(List<PartitionContainer> partitionContainers)  | 
Iterator<RecordStore> | 
storeIterator(PartitionContainer container)  | 
String | 
toString()  | 
void | 
tryToSendBackupExpiryOp(RecordStore store,
                       boolean sendIfAtBatchSize)  | 
newBackupExpiryOpFilter, partitionLost, run, sendQueuedExpiredKeyspublic static final String PROP_PRIMARY_DRIVES_BACKUP
public static final String PROP_CLEANUP_PERCENTAGE
public static final String PROP_CLEANUP_OPERATION_COUNT
public static final String PROP_TASK_PERIOD_SECONDS
public MapClearExpiredRecordsTask(PartitionContainer[] containers, NodeEngine nodeEngine)
public boolean canPrimaryDriveExpiration()
public void tryToSendBackupExpiryOp(RecordStore store, boolean sendIfAtBatchSize)
tryToSendBackupExpiryOp in class ClearExpiredRecordsTask<PartitionContainer,RecordStore>public Iterator<RecordStore> storeIterator(PartitionContainer container)
storeIterator in class ClearExpiredRecordsTask<PartitionContainer,RecordStore>protected Operation newPrimaryExpiryOp(int expirationPercentage, PartitionContainer container)
newPrimaryExpiryOp in class ClearExpiredRecordsTask<PartitionContainer,RecordStore>protected Operation newBackupExpiryOp(RecordStore store, Collection<ExpiredKey> expiredKeys)
newBackupExpiryOp in class ClearExpiredRecordsTask<PartitionContainer,RecordStore>protected void sortPartitionContainers(List<PartitionContainer> partitionContainers)
sortPartitionContainers in class ClearExpiredRecordsTask<PartitionContainer,RecordStore>protected ClearExpiredRecordsTask.ProcessablePartitionType getProcessablePartitionType()
getProcessablePartitionType in class ClearExpiredRecordsTask<PartitionContainer,RecordStore>protected void equalizeBackupSizeWithPrimary(PartitionContainer container)
equalizeBackupSizeWithPrimary in class ClearExpiredRecordsTask<PartitionContainer,RecordStore>protected boolean hasExpiredKeyToSendBackup(PartitionContainer container)
hasExpiredKeyToSendBackup in class ClearExpiredRecordsTask<PartitionContainer,RecordStore>protected boolean hasRunningCleanup(PartitionContainer container)
hasRunningCleanup in class ClearExpiredRecordsTask<PartitionContainer,RecordStore>protected void setHasRunningCleanup(PartitionContainer container)
setHasRunningCleanup in class ClearExpiredRecordsTask<PartitionContainer,RecordStore>protected void clearLeftoverExpiredKeyQueues(PartitionContainer container)
clearLeftoverExpiredKeyQueues in class ClearExpiredRecordsTask<PartitionContainer,RecordStore>protected boolean notHaveAnyExpirableRecord(PartitionContainer partitionContainer)
notHaveAnyExpirableRecord in class ClearExpiredRecordsTask<PartitionContainer,RecordStore>partitionContainer - corresponding partition container.true if no expirable record in that partition false otherwise.protected boolean isContainerEmpty(PartitionContainer container)
isContainerEmpty in class ClearExpiredRecordsTask<PartitionContainer,RecordStore>protected long getLastCleanupTime(PartitionContainer container)
getLastCleanupTime in class ClearExpiredRecordsTask<PartitionContainer,RecordStore>Copyright © 2020 Hazelcast, Inc.. All Rights Reserved.