public class MapClearExpiredRecordsTask extends ClearExpiredRecordsTask<PartitionContainer> implements OperationResponseHandler
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");
Modifier and Type | Field and Description |
---|---|
static HazelcastProperty |
CLEANUP_OPERATION_COUNT |
static HazelcastProperty |
CLEANUP_PERCENTAGE |
static int |
DEFAULT_CLEANUP_PERCENTAGE |
static boolean |
DEFAULT_PRIMARY_DRIVES_BACKUP |
static int |
DEFAULT_TASK_PERIOD_SECONDS |
static int |
MAX_EXPIRED_KEY_COUNT_IN_BATCH |
static HazelcastProperty |
PRIMARY_DRIVES_BACKUP |
protected boolean |
primaryDrivesEviction |
static String |
PROP_CLEANUP_OPERATION_COUNT |
static String |
PROP_CLEANUP_PERCENTAGE |
static String |
PROP_PRIMARY_DRIVES_BACKUP |
static String |
PROP_TASK_PERIOD_SECONDS |
static HazelcastProperty |
TASK_PERIOD_SECONDS |
cleanupOperationCount, cleanupPercentage, containers, DIFFERENCE_BETWEEN_TWO_SUBSEQUENT_PARTITION_CLEANUP_MILLIS, nodeEngine, operationService, taskPeriodSeconds
Constructor and Description |
---|
MapClearExpiredRecordsTask(NodeEngine nodeEngine,
PartitionContainer[] containers) |
Modifier and Type | Method and Description |
---|---|
boolean |
canPrimaryDriveExpiration() |
protected void |
clearLeftoverExpiredKeyQueues(PartitionContainer container)
This can happen due to the partition ownership changes.
|
protected Operation |
createExpirationOperation(int expirationPercentage,
PartitionContainer container) |
protected long |
getLastCleanupTime(PartitionContainer container) |
protected boolean |
hasExpiredKeyToSendBackup(PartitionContainer container) |
protected boolean |
hasRunningCleanup(PartitionContainer container) |
protected boolean |
isContainerEmpty(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.
|
void |
sendResponse(Operation op,
Object response)
Sends a response.
|
protected void |
setHasRunningCleanup(PartitionContainer container,
boolean status) |
protected void |
sortPartitionContainers(List<PartitionContainer> partitionContainers) |
String |
toString() |
getCleanupOperationCount, run, sendCleanupOperations
public 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 static final int DEFAULT_TASK_PERIOD_SECONDS
public static final HazelcastProperty TASK_PERIOD_SECONDS
public static final boolean DEFAULT_PRIMARY_DRIVES_BACKUP
public static final int DEFAULT_CLEANUP_PERCENTAGE
public static final int MAX_EXPIRED_KEY_COUNT_IN_BATCH
public static final HazelcastProperty PRIMARY_DRIVES_BACKUP
public static final HazelcastProperty CLEANUP_PERCENTAGE
public static final HazelcastProperty CLEANUP_OPERATION_COUNT
protected final boolean primaryDrivesEviction
public MapClearExpiredRecordsTask(NodeEngine nodeEngine, PartitionContainer[] containers)
protected void sortPartitionContainers(List<PartitionContainer> partitionContainers)
sortPartitionContainers
in class ClearExpiredRecordsTask<PartitionContainer>
public void sendResponse(Operation op, Object response)
OperationResponseHandler
sendResponse
in interface OperationResponseHandler
op
- the operation that got executed.response
- the response of the operation that got executed.public boolean canPrimaryDriveExpiration()
protected Operation createExpirationOperation(int expirationPercentage, PartitionContainer container)
createExpirationOperation
in class ClearExpiredRecordsTask<PartitionContainer>
protected boolean hasExpiredKeyToSendBackup(PartitionContainer container)
hasExpiredKeyToSendBackup
in class ClearExpiredRecordsTask<PartitionContainer>
protected boolean hasRunningCleanup(PartitionContainer container)
hasRunningCleanup
in class ClearExpiredRecordsTask<PartitionContainer>
protected void setHasRunningCleanup(PartitionContainer container, boolean status)
setHasRunningCleanup
in class ClearExpiredRecordsTask<PartitionContainer>
protected void clearLeftoverExpiredKeyQueues(PartitionContainer container)
clearLeftoverExpiredKeyQueues
in class ClearExpiredRecordsTask<PartitionContainer>
protected boolean notHaveAnyExpirableRecord(PartitionContainer partitionContainer)
notHaveAnyExpirableRecord
in class ClearExpiredRecordsTask<PartitionContainer>
partitionContainer
- corresponding partition container.true
if no expirable record in that partition false
otherwise.protected boolean isContainerEmpty(PartitionContainer container)
isContainerEmpty
in class ClearExpiredRecordsTask<PartitionContainer>
protected long getLastCleanupTime(PartitionContainer container)
getLastCleanupTime
in class ClearExpiredRecordsTask<PartitionContainer>
Copyright © 2018 Hazelcast, Inc.. All Rights Reserved.