voldemort.server.scheduler.slop
Class SlopPurgeJob
java.lang.Object
voldemort.server.storage.DataMaintenanceJob
voldemort.server.scheduler.slop.SlopPurgeJob
- All Implemented Interfaces:
- java.lang.Runnable
public class SlopPurgeJob
- extends DataMaintenanceJob
Async job to clean up slops accumulated on the nodes, based on the following
criteria
1. Slops destined for a given list of nodes
2. Slops destined for nodes in a given zone.
3. Slops destined for a given store.
Note that the slop will be dropped if ANY of three filters match. Also, since
the job just makes a single pass over the slop store, and new slops could
potentially be coming in continuously, we may need to run this repeatedly to
make ABSOLUTELY sure that there are no slops left matching the given filter
criteria.
Fields inherited from class voldemort.server.storage.DataMaintenanceJob |
BLACKLISTED_STORAGE_TYPES, isRunning, iterator, metadataStore, numKeysScannedThisRun, numKeysUpdatedThisRun, scanPermits, STAT_RECORDS_INTERVAL, storeRepo, throttler, totalKeysScanned, totalKeysUpdated |
Method Summary |
java.lang.String |
getJobName()
|
protected org.apache.log4j.Logger |
getLogger()
|
long |
getSlopsPurged()
|
void |
operate()
|
void |
setFilter(java.util.List<java.lang.Integer> nodesToPurge,
int zoneToPurge,
java.util.List<java.lang.String> storesToPurge)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SlopPurgeJob
public SlopPurgeJob(StoreRepository storeRepo,
MetadataStore metadataStore,
ScanPermitWrapper repairPermits,
int maxKeysScannedPerSecond)
setFilter
public void setFilter(java.util.List<java.lang.Integer> nodesToPurge,
int zoneToPurge,
java.util.List<java.lang.String> storesToPurge)
operate
public void operate()
throws java.lang.Exception
- Specified by:
operate
in class DataMaintenanceJob
- Throws:
java.lang.Exception
getLogger
protected org.apache.log4j.Logger getLogger()
- Specified by:
getLogger
in class DataMaintenanceJob
getJobName
public java.lang.String getJobName()
- Specified by:
getJobName
in class DataMaintenanceJob
getSlopsPurged
public long getSlopsPurged()
Jay Kreps, Roshan Sumbaly, Alex Feinberg, Bhupesh Bansal, Lei Gao, Chinmay Soman, Vinoth Chandar, Zhongjie Wu