blob: cf1c8f6f32c24e58acde56b6ff9e841c7a7425c9 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CleanerChore (Apache HBase 3.0.0-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="CleanerChore (Apache HBase 3.0.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":6};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CleanerChore.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.html" title="class in org.apache.hadoop.hbase.master.cleaner"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.Action.html" title="interface in org.apache.hadoop.hbase.master.cleaner"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/cleaner/CleanerChore.html" target="_top">Frames</a></li>
<li><a href="CleanerChore.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hbase.master.cleaner</div>
<h2 title="Class CleanerChore" class="title">Class CleanerChore&lt;T extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/FileCleanerDelegate.html" title="interface in org.apache.hadoop.hbase.master.cleaner">FileCleanerDelegate</a>&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.ScheduledChore</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.master.cleaner.CleanerChore&lt;T&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - Cleaner delegate class that is dynamically loaded from configuration</dd>
</dl>
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Private
public abstract class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.56">CleanerChore</a>&lt;T extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/FileCleanerDelegate.html" title="interface in org.apache.hadoop.hbase.master.cleaner">FileCleanerDelegate</a>&gt;
extends <a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a></pre>
<div class="block">Abstract Cleaner that uses a chain of delegates to clean a directory of files</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.Action.html" title="interface in org.apache.hadoop.hbase.master.cleaner">CleanerChore.Action</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.Action.html" title="type parameter in CleanerChore.Action">T</a>&gt;</span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.CleanerTask.html" title="class in org.apache.hadoop.hbase.master.cleaner">CleanerChore.CleanerTask</a></span></code>
<div class="block">Attemps to clean up a directory, its subdirectories, and files.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#AVAIL_PROCESSORS">AVAIL_PROCESSORS</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#CHORE_POOL_SIZE">CHORE_POOL_SIZE</a></span></code>
<div class="block">If it is an integer and >= 1, it would be the size;
if 0.0 < size <= 1.0, size would be available processors * size.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html" title="type parameter in CleanerChore">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#cleanersChain">cleanersChain</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private org.apache.hadoop.conf.Configuration</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#conf">conf</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#DEFAULT_CHORE_POOL_SIZE">DEFAULT_CHORE_POOL_SIZE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#enabled">enabled</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.hadoop.fs.FileSystem</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#fs">fs</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#oldFileDir">oldFileDir</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#params">params</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/DirScanPool.html" title="class in org.apache.hadoop.hbase.master.cleaner">DirScanPool</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#pool">pool</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#CleanerChore-java.lang.String-int-org.apache.hadoop.hbase.Stoppable-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-java.lang.String-org.apache.hadoop.hbase.master.cleaner.DirScanPool-">CleanerChore</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
int&nbsp;sleepPeriod,
<a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a>&nbsp;s,
org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;oldFileDir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;confKey,
<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/DirScanPool.html" title="class in org.apache.hadoop.hbase.master.cleaner">DirScanPool</a>&nbsp;pool)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#CleanerChore-java.lang.String-int-org.apache.hadoop.hbase.Stoppable-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-java.lang.String-org.apache.hadoop.hbase.master.cleaner.DirScanPool-java.util.Map-">CleanerChore</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
int&nbsp;sleepPeriod,
<a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a>&nbsp;s,
org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;oldFileDir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;confKey,
<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/DirScanPool.html" title="class in org.apache.hadoop.hbase.master.cleaner">DirScanPool</a>&nbsp;pool,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;params)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>(package private) static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#calculatePoolSize-java.lang.String-">calculatePoolSize</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;poolSize)</code>
<div class="block">Calculate size for cleaner pool.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#checkAndDeleteFiles-java.util.List-">checkAndDeleteFiles</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;files)</code>
<div class="block">Run the given files through each of the cleaners to see if it should be deleted, deleting it if
necessary.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#chore--">chore</a></span>()</code>
<div class="block">The task to execute on each scheduled execution of the Chore</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#cleanup--">cleanup</a></span>()</code>
<div class="block">Override to run cleanup tasks when the Chore encounters an error and must stop running</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#deleteFiles-java.lang.Iterable-">deleteFiles</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;filesToDelete)</code>
<div class="block">Delete the given files</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#getChorePoolSize--">getChorePoolSize</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#getEnabled--">getEnabled</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#initCleanerChain-java.lang.String-">initCleanerChain</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;confKey)</code>
<div class="block">Instantiate and initialize all the file cleaners set in the configuration</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#isEmptyDirDeletable-org.apache.hadoop.fs.Path-">isEmptyDirDeletable</a></span>(org.apache.hadoop.fs.Path&nbsp;dir)</code>
<div class="block">Check if a empty directory with no subdirs or subfiles can be deleted</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html" title="type parameter in CleanerChore">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#newFileCleaner-java.lang.String-org.apache.hadoop.conf.Configuration-">newFileCleaner</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
<div class="block">A utility method to create new instances of LogCleanerDelegate based on the class name of the
LogCleanerDelegate.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#preRunCleaner--">preRunCleaner</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#runCleaner--">runCleaner</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#setEnabled-boolean-">setEnabled</a></span>(boolean&nbsp;enabled)</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#sortByConsumedSpace-java.util.List-">sortByConsumedSpace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;dirs)</code>
<div class="block">Sort the given list in (descending) order of the space each element takes</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#validate-org.apache.hadoop.fs.Path-">validate</a></span>(org.apache.hadoop.fs.Path&nbsp;file)</code>
<div class="block">Validate the file to see if it even belongs in the directory.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.ScheduledChore">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#cancel--">cancel</a>, <a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#cancel-boolean-">cancel</a>, <a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#choreForTesting--">choreForTesting</a>, <a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#getInitialDelay--">getInitialDelay</a>, <a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#getName--">getName</a>, <a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#getPeriod--">getPeriod</a>, <a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#getStopper--">getStopper</a>, <a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#getTimeUnit--">getTimeUnit</a>, <a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#initialChore--">initialChore</a>, <a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#isInitialChoreComplete--">isInitialChoreComplete</a>, <a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#isScheduled--">isScheduled</a>, <a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#run--">run</a>, <a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#toString--">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#triggerNow--">triggerNow</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="LOG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.58">LOG</a></pre>
</li>
</ul>
<a name="AVAIL_PROCESSORS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AVAIL_PROCESSORS</h4>
<pre>private static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.59">AVAIL_PROCESSORS</a></pre>
</li>
</ul>
<a name="CHORE_POOL_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CHORE_POOL_SIZE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.67">CHORE_POOL_SIZE</a></pre>
<div class="block">If it is an integer and >= 1, it would be the size;
if 0.0 < size <= 1.0, size would be available processors * size.
Pay attention that 1.0 is different from 1, former indicates it will use 100% of cores,
while latter will use only 1 thread for chore to scan dir.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.cleaner.CleanerChore.CHORE_POOL_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_CHORE_POOL_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_CHORE_POOL_SIZE</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.68">DEFAULT_CHORE_POOL_SIZE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.cleaner.CleanerChore.DEFAULT_CHORE_POOL_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="pool">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pool</h4>
<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/DirScanPool.html" title="class in org.apache.hadoop.hbase.master.cleaner">DirScanPool</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.70">pool</a></pre>
</li>
</ul>
<a name="fs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fs</h4>
<pre>protected final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.72">fs</a></pre>
</li>
</ul>
<a name="oldFileDir">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>oldFileDir</h4>
<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.73">oldFileDir</a></pre>
</li>
</ul>
<a name="conf">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>conf</h4>
<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.74">conf</a></pre>
</li>
</ul>
<a name="params">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>params</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.75">params</a></pre>
</li>
</ul>
<a name="enabled">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enabled</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.76">enabled</a></pre>
</li>
</ul>
<a name="cleanersChain">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>cleanersChain</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html" title="type parameter in CleanerChore">T</a> extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/FileCleanerDelegate.html" title="interface in org.apache.hadoop.hbase.master.cleaner">FileCleanerDelegate</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.77">cleanersChain</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="CleanerChore-java.lang.String-int-org.apache.hadoop.hbase.Stoppable-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-java.lang.String-org.apache.hadoop.hbase.master.cleaner.DirScanPool-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CleanerChore</h4>
<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.79">CleanerChore</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
int&nbsp;sleepPeriod,
<a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a>&nbsp;s,
org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;oldFileDir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;confKey,
<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/DirScanPool.html" title="class in org.apache.hadoop.hbase.master.cleaner">DirScanPool</a>&nbsp;pool)</pre>
</li>
</ul>
<a name="CleanerChore-java.lang.String-int-org.apache.hadoop.hbase.Stoppable-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-java.lang.String-org.apache.hadoop.hbase.master.cleaner.DirScanPool-java.util.Map-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CleanerChore</h4>
<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.95">CleanerChore</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
int&nbsp;sleepPeriod,
<a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a>&nbsp;s,
org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;oldFileDir,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;confKey,
<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/DirScanPool.html" title="class in org.apache.hadoop.hbase.master.cleaner">DirScanPool</a>&nbsp;pool,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;params)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - name of the chore being run</dd>
<dd><code>sleepPeriod</code> - the period of time to sleep between each run</dd>
<dd><code>s</code> - the stopper</dd>
<dd><code>conf</code> - configuration to use</dd>
<dd><code>fs</code> - handle to the FS</dd>
<dd><code>oldFileDir</code> - the path to the archived files</dd>
<dd><code>confKey</code> - configuration key for the classes to instantiate</dd>
<dd><code>pool</code> - the thread pool used to scan directories</dd>
<dd><code>params</code> - members could be used in cleaner</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="calculatePoolSize-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>calculatePoolSize</h4>
<pre>static&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.113">calculatePoolSize</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;poolSize)</pre>
<div class="block">Calculate size for cleaner pool.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>poolSize</code> - size from configuration</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>size of pool after calculation</dd>
</dl>
</li>
</ul>
<a name="validate-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validate</h4>
<pre>protected abstract&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.144">validate</a>(org.apache.hadoop.fs.Path&nbsp;file)</pre>
<div class="block">Validate the file to see if it even belongs in the directory. If it is valid, then the file
will go through the cleaner delegates, but otherwise the file is just deleted.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>file</code> - full <code>Path</code> of the file to be checked</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>true</tt> if the file is valid, <tt>false</tt> otherwise</dd>
</dl>
</li>
</ul>
<a name="initCleanerChain-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initCleanerChain</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.150">initCleanerChain</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;confKey)</pre>
<div class="block">Instantiate and initialize all the file cleaners set in the configuration</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>confKey</code> - key to get the file cleaner classes from the configuration</dd>
</dl>
</li>
</ul>
<a name="newFileCleaner-java.lang.String-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newFileCleaner</h4>
<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html" title="type parameter in CleanerChore">T</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.171">newFileCleaner</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className,
org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
<div class="block">A utility method to create new instances of LogCleanerDelegate based on the class name of the
LogCleanerDelegate.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>className</code> - fully qualified class name of the LogCleanerDelegate</dd>
<dd><code>conf</code> - used configuration</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new instance</dd>
</dl>
</li>
</ul>
<a name="chore--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>chore</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.188">chore</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#chore--">ScheduledChore</a></code></span></div>
<div class="block">The task to execute on each scheduled execution of the Chore</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#chore--">chore</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a></code></dd>
</dl>
</li>
</ul>
<a name="preRunCleaner--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preRunCleaner</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.210">preRunCleaner</a>()</pre>
</li>
</ul>
<a name="runCleaner--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>runCleaner</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.214">runCleaner</a>()</pre>
</li>
</ul>
<a name="sortByConsumedSpace-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortByConsumedSpace</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.225">sortByConsumedSpace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;dirs)</pre>
<div class="block">Sort the given list in (descending) order of the space each element takes</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dirs</code> - the list to sort, element in it should be directory (not file)</dd>
</dl>
</li>
</ul>
<a name="checkAndDeleteFiles-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAndDeleteFiles</h4>
<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.264">checkAndDeleteFiles</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;files)</pre>
<div class="block">Run the given files through each of the cleaners to see if it should be deleted, deleting it if
necessary.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>files</code> - List of FileStatus for the files to check (and possibly delete)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true iff successfully deleted all files</dd>
</dl>
</li>
</ul>
<a name="isEmptyDirDeletable-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmptyDirDeletable</h4>
<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.314">isEmptyDirDeletable</a>(org.apache.hadoop.fs.Path&nbsp;dir)</pre>
<div class="block">Check if a empty directory with no subdirs or subfiles can be deleted</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dir</code> - Path of the directory</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the directory can be deleted, otherwise false</dd>
</dl>
</li>
</ul>
<a name="deleteFiles-java.lang.Iterable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteFiles</h4>
<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.334">deleteFiles</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;filesToDelete)</pre>
<div class="block">Delete the given files</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filesToDelete</code> - files to delete</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>number of deleted files</dd>
</dl>
</li>
</ul>
<a name="cleanup--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanup</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.357">cleanup</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#cleanup--">ScheduledChore</a></code></span></div>
<div class="block">Override to run cleanup tasks when the Chore encounters an error and must stop running</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#cleanup--">cleanup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a></code></dd>
</dl>
</li>
</ul>
<a name="getChorePoolSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChorePoolSize</h4>
<pre>int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.368">getChorePoolSize</a>()</pre>
</li>
</ul>
<a name="setEnabled-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEnabled</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.375">setEnabled</a>(boolean&nbsp;enabled)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>enabled</code> - </dd>
</dl>
</li>
</ul>
<a name="getEnabled--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getEnabled</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#line.379">getEnabled</a>()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CleanerChore.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.html" title="class in org.apache.hadoop.hbase.master.cleaner"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.Action.html" title="interface in org.apache.hadoop.hbase.master.cleaner"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/cleaner/CleanerChore.html" target="_top">Frames</a></li>
<li><a href="CleanerChore.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>