public class HFileCleaner extends CleanerChore<BaseHFileCleanerDelegate>
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_HFILE_DELETE_THROTTLE_THRESHOLD |
static int |
DEFAULT_LARGE_HFILE_DELETE_THREAD_NUMBER |
static int |
DEFAULT_LARGE_HFILE_QUEUE_INIT_SIZE |
static int |
DEFAULT_SMALL_HFILE_DELETE_THREAD_NUMBER |
static int |
DEFAULT_SMALL_HFILE_QUEUE_INIT_SIZE |
static java.lang.String |
HFILE_DELETE_THROTTLE_THRESHOLD |
static java.lang.String |
LARGE_HFILE_DELETE_THREAD_NUMBER |
static java.lang.String |
LARGE_HFILE_QUEUE_INIT_SIZE |
static java.lang.String |
MASTER_HFILE_CLEANER_PLUGINS |
static java.lang.String |
SMALL_HFILE_DELETE_THREAD_NUMBER |
static java.lang.String |
SMALL_HFILE_QUEUE_INIT_SIZE |
CHORE_POOL_SIZE, cleanersChain, fs, params
Constructor and Description |
---|
HFileCleaner(int period,
Stoppable stopper,
Configuration conf,
FileSystem fs,
Path directory) |
HFileCleaner(int period,
Stoppable stopper,
Configuration conf,
FileSystem fs,
Path directory,
java.util.Map<java.lang.String,java.lang.Object> params) |
Modifier and Type | Method and Description |
---|---|
void |
cancel(boolean mayInterruptIfRunning) |
void |
cleanup() |
protected void |
consumerLoop(java.util.concurrent.BlockingQueue<org.apache.hadoop.hbase.master.cleaner.HFileCleaner.HFileDeleteTask> queue) |
int |
deleteFiles(java.lang.Iterable<FileStatus> filesToDelete)
Delete the given files
|
java.util.List<java.lang.Thread> |
getCleanerThreads() |
java.util.List<BaseHFileCleanerDelegate> |
getDelegatesForTesting()
Exposed for TESTING!
|
long |
getLargeQueueInitSize() |
long |
getNumOfDeletedLargeFiles() |
long |
getNumOfDeletedSmallFiles() |
long |
getSmallQueueInitSize() |
long |
getThrottlePoint() |
void |
onConfigurationChange(Configuration conf)
This method would be called by the
ConfigurationManager
object when the Configuration object is reloaded from disk. |
protected boolean |
validate(Path file)
Validate the file to see if it even belongs in the directory.
|
chore, getEnabled, runCleaner, setEnabled
public static final java.lang.String MASTER_HFILE_CLEANER_PLUGINS
public static final java.lang.String HFILE_DELETE_THROTTLE_THRESHOLD
public static final int DEFAULT_HFILE_DELETE_THROTTLE_THRESHOLD
public static final java.lang.String LARGE_HFILE_QUEUE_INIT_SIZE
public static final int DEFAULT_LARGE_HFILE_QUEUE_INIT_SIZE
public static final java.lang.String SMALL_HFILE_QUEUE_INIT_SIZE
public static final int DEFAULT_SMALL_HFILE_QUEUE_INIT_SIZE
public static final java.lang.String LARGE_HFILE_DELETE_THREAD_NUMBER
public static final int DEFAULT_LARGE_HFILE_DELETE_THREAD_NUMBER
public static final java.lang.String SMALL_HFILE_DELETE_THREAD_NUMBER
public static final int DEFAULT_SMALL_HFILE_DELETE_THREAD_NUMBER
public HFileCleaner(int period, Stoppable stopper, Configuration conf, FileSystem fs, Path directory)
public HFileCleaner(int period, Stoppable stopper, Configuration conf, FileSystem fs, Path directory, java.util.Map<java.lang.String,java.lang.Object> params)
period
- the period of time to sleep between each runstopper
- the stopperconf
- configuration to usefs
- handle to the FSdirectory
- directory to be cleanedparams
- params could be used in subclass of BaseHFileCleanerDelegateprotected boolean validate(Path file)
CleanerChore
validate
in class CleanerChore<BaseHFileCleanerDelegate>
file
- full Path
of the file to be checkedpublic java.util.List<BaseHFileCleanerDelegate> getDelegatesForTesting()
public int deleteFiles(java.lang.Iterable<FileStatus> filesToDelete)
CleanerChore
deleteFiles
in class CleanerChore<BaseHFileCleanerDelegate>
filesToDelete
- files to deletepublic void cleanup()
cleanup
in class CleanerChore<BaseHFileCleanerDelegate>
protected void consumerLoop(java.util.concurrent.BlockingQueue<org.apache.hadoop.hbase.master.cleaner.HFileCleaner.HFileDeleteTask> queue)
public java.util.List<java.lang.Thread> getCleanerThreads()
public long getNumOfDeletedLargeFiles()
public long getNumOfDeletedSmallFiles()
public long getLargeQueueInitSize()
public long getSmallQueueInitSize()
public long getThrottlePoint()
public void onConfigurationChange(Configuration conf)
ConfigurationObserver
ConfigurationManager
object when the Configuration
object is reloaded from disk.onConfigurationChange
in interface ConfigurationObserver
onConfigurationChange
in class CleanerChore<BaseHFileCleanerDelegate>
public void cancel(boolean mayInterruptIfRunning)