Class SnapshotHFileCleaner
java.lang.Object
org.apache.hadoop.hbase.BaseConfigurable
org.apache.hadoop.hbase.master.cleaner.BaseFileCleanerDelegate
org.apache.hadoop.hbase.master.cleaner.BaseHFileCleanerDelegate
org.apache.hadoop.hbase.master.snapshot.SnapshotHFileCleaner
- All Implemented Interfaces:
org.apache.hadoop.conf.Configurable
,FileCleanerDelegate
,Stoppable
@LimitedPrivate("Configuration")
@Evolving
public class SnapshotHFileCleaner
extends BaseHFileCleanerDelegate
Implementation of a file cleaner that checks if a hfile is still used by snapshots of HBase
tables.
-
Field Summary
Modifier and TypeFieldDescriptionprivate SnapshotFileCache
File cache for HFiles in the completed and currently running snapshotsprivate static final long
Refresh cache, by default, every 5 minutesstatic final String
Conf key for the frequency to attempt to refresh the cache of hfiles currently used in snapshots (ms)private static final org.slf4j.Logger
private MasterServices
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionIterable<org.apache.hadoop.fs.FileStatus>
getDeletableFiles
(Iterable<org.apache.hadoop.fs.FileStatus> files) Determines which of the given files are safe to deleteExposed for Testing!void
this method is used to pass some instance into subclassprotected boolean
isFileDeletable
(org.apache.hadoop.fs.FileStatus fStat) Should the master delete the file or keep it?boolean
Returns True ifStoppable.stop(String)
has been closed.void
setConf
(org.apache.hadoop.conf.Configuration conf) void
Stop this service.Methods inherited from class org.apache.hadoop.hbase.BaseConfigurable
getConf
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.hadoop.conf.Configurable
getConf
Methods inherited from interface org.apache.hadoop.hbase.master.cleaner.FileCleanerDelegate
isEmptyDirDeletable, postClean, preClean
-
Field Details
-
LOG
-
HFILE_CACHE_REFRESH_PERIOD_CONF_KEY
Conf key for the frequency to attempt to refresh the cache of hfiles currently used in snapshots (ms)- See Also:
-
DEFAULT_HFILE_CACHE_REFRESH_PERIOD
Refresh cache, by default, every 5 minutes- See Also:
-
cache
File cache for HFiles in the completed and currently running snapshots -
master
-
-
Constructor Details
-
SnapshotHFileCleaner
public SnapshotHFileCleaner()
-
-
Method Details
-
getDeletableFiles
public Iterable<org.apache.hadoop.fs.FileStatus> getDeletableFiles(Iterable<org.apache.hadoop.fs.FileStatus> files) Description copied from interface:FileCleanerDelegate
Determines which of the given files are safe to delete- Specified by:
getDeletableFiles
in interfaceFileCleanerDelegate
- Overrides:
getDeletableFiles
in classBaseFileCleanerDelegate
- Parameters:
files
- files to check for deletion- Returns:
- files that are ok to delete according to this cleaner
-
init
Description copied from interface:FileCleanerDelegate
this method is used to pass some instance into subclass- Specified by:
init
in interfaceFileCleanerDelegate
- Overrides:
init
in classBaseFileCleanerDelegate
-
isFileDeletable
Description copied from class:BaseFileCleanerDelegate
Should the master delete the file or keep it?- Specified by:
isFileDeletable
in classBaseFileCleanerDelegate
- Parameters:
fStat
- file status of the file to check- Returns:
- true if the file is deletable, false if not
-
setConf
- Specified by:
setConf
in interfaceorg.apache.hadoop.conf.Configurable
- Overrides:
setConf
in classBaseConfigurable
-
stop
Description copied from interface:Stoppable
Stop this service. Implementers should favor logging errors over throwing RuntimeExceptions.- Specified by:
stop
in interfaceStoppable
- Overrides:
stop
in classBaseHFileCleanerDelegate
- Parameters:
why
- Why we're stopping.
-
isStopped
Description copied from interface:Stoppable
Returns True ifStoppable.stop(String)
has been closed.- Specified by:
isStopped
in interfaceStoppable
- Overrides:
isStopped
in classBaseHFileCleanerDelegate
-
getFileCacheForTesting
Exposed for Testing!- Returns:
- the cache of all hfiles
-