voldemort.server.scheduler.slop
Class SlopPurgeJob

java.lang.Object
  extended by voldemort.server.storage.DataMaintenanceJob
      extended by 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.


Field Summary
 
Fields inherited from class voldemort.server.storage.DataMaintenanceJob
BLACKLISTED_STORAGE_TYPES, isRunning, iterator, metadataStore, numKeysScannedThisRun, numKeysUpdatedThisRun, scanPermits, STAT_RECORDS_INTERVAL, storeRepo, throttler, totalKeysScanned, totalKeysUpdated
 
Constructor Summary
SlopPurgeJob(StoreRepository storeRepo, MetadataStore metadataStore, ScanPermitWrapper repairPermits, int maxKeysScannedPerSecond)
           
 
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 voldemort.server.storage.DataMaintenanceJob
closeIterator, getIsRunning, getKeysScanned, isWritableStore, resetStats, run
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SlopPurgeJob

public SlopPurgeJob(StoreRepository storeRepo,
                    MetadataStore metadataStore,
                    ScanPermitWrapper repairPermits,
                    int maxKeysScannedPerSecond)
Method Detail

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