1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.hbase.master.cleaner;
19
20 import org.apache.hadoop.classification.InterfaceAudience;
21 import org.apache.hadoop.conf.Configuration;
22 import org.apache.hadoop.fs.FileSystem;
23 import org.apache.hadoop.fs.Path;
24 import org.apache.hadoop.hbase.Stoppable;
25 import org.apache.hadoop.hbase.io.HFileLink;
26 import org.apache.hadoop.hbase.regionserver.StoreFile;
27
28
29
30
31 @InterfaceAudience.Private
32 public class HFileCleaner extends CleanerChore<BaseHFileCleanerDelegate> {
33
34 public static final String MASTER_HFILE_CLEANER_PLUGINS = "hbase.master.hfilecleaner.plugins";
35
36
37
38
39
40
41
42
43 public HFileCleaner(final int period, final Stoppable stopper, Configuration conf, FileSystem fs,
44 Path directory) {
45 super("HFileCleaner", period, stopper, conf, fs, directory, MASTER_HFILE_CLEANER_PLUGINS);
46 }
47
48 @Override
49 protected boolean validate(Path file) {
50 if (HFileLink.isBackReferencesDir(file) || HFileLink.isBackReferencesDir(file.getParent())) {
51 return true;
52 }
53 return StoreFile.validateStoreFileName(file.getName());
54 }
55 }