I see. So if a hfile has a long scanner job refer to it, after it is minor compacted, it will be moved to /hbase/.archive. But once that scanner job complete, it should be cleaned up from /hbase/.archive (with 5 minutes TTL).
public static final String TTL_CONF_KEY = "hbase.master.hfilecleaner.ttl"; // default ttl = 5 minutes private static final long DEFAULT_TTL = 60000 * 5; Thanks Tian-Ying On Fri, Jun 5, 2015 at 1:25 PM, Vladimir Rodionov <[email protected]> wrote: > HBase moves old hfiles into archive directory after compaction is finished. > Compacted files are not deleted > because they can be still in use (some long running scanners) - that is why > they get moved into archive directory. > HBase can locate hfile in both: standard and archive directory. There is a > separate archive cleaner agent which runs > periodically and cleans archive from hfiles which are no longer used. > > -Vlad > > On Fri, Jun 5, 2015 at 12:25 PM, Tianying Chang <[email protected]> wrote: > > > Hi, > > > > I found that there are many hfiles saved under /hbase/.archive/table/. I > > know when there is a snapshot taken, the hfile might have to be saved > > under /hbase/.archive. But when we are not even taking snapshot, I saw > lots > > of hfiles under /hbase/.archive. I noticed that if I run a major > > compaction, that seems clean up lots of hfiles from /hbase/.archive. But > > then it grows back again later. > > > > Wondering what else could cause hfiles stuck under /hbase/.archinve? Any > > hint is appreciated. > > > > Thanks > > Tian-YIng > > >
