blob: d375f3749f9b44a90d63da7c56d3f1c20d020e18 [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>LogCleaner (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="LogCleaner (Apache HBase 3.0.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance 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/LogCleaner.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/HFileLinkCleaner.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/LogCleaner.CleanerContext.html" title="class 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/LogCleaner.html" target="_top">Frames</a></li>
<li><a href="LogCleaner.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 LogCleaner" class="title">Class LogCleaner</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><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html" title="class in org.apache.hadoop.hbase.master.cleaner">org.apache.hadoop.hbase.master.cleaner.CleanerChore</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.html" title="class in org.apache.hadoop.hbase.master.cleaner">BaseLogCleanerDelegate</a>&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.master.cleaner.LogCleaner</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<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>, <a href="../../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">ConfigurationObserver</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.50">LogCleaner</a>
extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html" title="class in org.apache.hadoop.hbase.master.cleaner">CleanerChore</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.html" title="class in org.apache.hadoop.hbase.master.cleaner">BaseLogCleanerDelegate</a>&gt;
implements <a href="../../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">ConfigurationObserver</a></pre>
<div class="block">This Chore, every time it runs, will attempt to delete the WALs and Procedure WALs in the old
logs folder. The WAL is only deleted if none of the cleaner delegates says otherwise.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.html" title="class in org.apache.hadoop.hbase.master.cleaner"><code>BaseLogCleanerDelegate</code></a></dd>
</dl>
</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 class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.CleanerContext.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner.CleanerContext</a></span></code>&nbsp;</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 long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#cleanerThreadTimeoutMsec">cleanerThreadTimeoutMsec</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#DEFAULT_OLD_WALS_CLEANER_THREAD_SIZE">DEFAULT_OLD_WALS_CLEANER_THREAD_SIZE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#DEFAULT_OLD_WALS_CLEANER_THREAD_TIMEOUT_MSEC">DEFAULT_OLD_WALS_CLEANER_THREAD_TIMEOUT_MSEC</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/LogCleaner.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<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/LogCleaner.html#OLD_WALS_CLEANER_THREAD_SIZE">OLD_WALS_CLEANER_THREAD_SIZE</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/LogCleaner.html#OLD_WALS_CLEANER_THREAD_TIMEOUT_MSEC">OLD_WALS_CLEANER_THREAD_TIMEOUT_MSEC</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <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="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#oldWALsCleaner">oldWALsCleaner</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/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.CleanerContext.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner.CleanerContext</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#pendingDelete">pendingDelete</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.cleaner.CleanerChore">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.master.cleaner.<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html" title="class in org.apache.hadoop.hbase.master.cleaner">CleanerChore</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#CHORE_POOL_SIZE">CHORE_POOL_SIZE</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#cleanersChain">cleanersChain</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#DEFAULT_CHORE_POOL_SIZE">DEFAULT_CHORE_POOL_SIZE</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#fs">fs</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#params">params</a></code></li>
</ul>
</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/LogCleaner.html#LogCleaner-int-org.apache.hadoop.hbase.Stoppable-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.master.cleaner.DirScanPool-">LogCleaner</a></span>(int&nbsp;period,
<a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a>&nbsp;stopper,
org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;oldLogDir,
<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>
</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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance 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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#cancel-boolean-">cancel</a></span>(boolean&nbsp;mayInterruptIfRunning)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.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="i2" class="altColor">
<td class="colFirst"><code>private <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="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#createOldWalsCleaner-int-">createOldWalsCleaner</a></span>(int&nbsp;size)</code>&nbsp;</td>
</tr>
<tr id="i3" 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/LogCleaner.html#deleteFile--">deleteFile</a></span>()</code>&nbsp;</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/LogCleaner.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) long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#getCleanerThreadTimeoutMsec--">getCleanerThreadTimeoutMsec</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#getSizeOfCleaners--">getSizeOfCleaners</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/LogCleaner.html#interruptOldWALsCleaner--">interruptOldWALsCleaner</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">onConfigurationChange</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
<div class="block">This method would be called by the <a href="../../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a>
object when the <code>Configuration</code> object is reloaded from disk.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.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.master.cleaner.CleanerChore">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.master.cleaner.<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html" title="class in org.apache.hadoop.hbase.master.cleaner">CleanerChore</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#calculatePoolSize-java.lang.String-">calculatePoolSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#chore--">chore</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#getChorePoolSize--">getChorePoolSize</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#getEnabled--">getEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#runCleaner--">runCleaner</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#setEnabled-boolean-">setEnabled</a></code></li>
</ul>
<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#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/LogCleaner.html#line.52">LOG</a></pre>
</li>
</ul>
<a name="OLD_WALS_CLEANER_THREAD_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OLD_WALS_CLEANER_THREAD_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/LogCleaner.html#line.54">OLD_WALS_CLEANER_THREAD_SIZE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.cleaner.LogCleaner.OLD_WALS_CLEANER_THREAD_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_OLD_WALS_CLEANER_THREAD_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_OLD_WALS_CLEANER_THREAD_SIZE</h4>
<pre>public static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.55">DEFAULT_OLD_WALS_CLEANER_THREAD_SIZE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.cleaner.LogCleaner.DEFAULT_OLD_WALS_CLEANER_THREAD_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="OLD_WALS_CLEANER_THREAD_TIMEOUT_MSEC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OLD_WALS_CLEANER_THREAD_TIMEOUT_MSEC</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/LogCleaner.html#line.57">OLD_WALS_CLEANER_THREAD_TIMEOUT_MSEC</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.cleaner.LogCleaner.OLD_WALS_CLEANER_THREAD_TIMEOUT_MSEC">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_OLD_WALS_CLEANER_THREAD_TIMEOUT_MSEC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_OLD_WALS_CLEANER_THREAD_TIMEOUT_MSEC</h4>
<pre>static final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.60">DEFAULT_OLD_WALS_CLEANER_THREAD_TIMEOUT_MSEC</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.cleaner.LogCleaner.DEFAULT_OLD_WALS_CLEANER_THREAD_TIMEOUT_MSEC">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="pendingDelete">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pendingDelete</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.CleanerContext.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner.CleanerContext</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.62">pendingDelete</a></pre>
</li>
</ul>
<a name="oldWALsCleaner">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>oldWALsCleaner</h4>
<pre>private&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="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.63">oldWALsCleaner</a></pre>
</li>
</ul>
<a name="cleanerThreadTimeoutMsec">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>cleanerThreadTimeoutMsec</h4>
<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.64">cleanerThreadTimeoutMsec</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="LogCleaner-int-org.apache.hadoop.hbase.Stoppable-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.master.cleaner.DirScanPool-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LogCleaner</h4>
<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.74">LogCleaner</a>(int&nbsp;period,
<a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a>&nbsp;stopper,
org.apache.hadoop.conf.Configuration&nbsp;conf,
org.apache.hadoop.fs.FileSystem&nbsp;fs,
org.apache.hadoop.fs.Path&nbsp;oldLogDir,
<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/DirScanPool.html" title="class in org.apache.hadoop.hbase.master.cleaner">DirScanPool</a>&nbsp;pool)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>period</code> - the period of time to sleep between each run</dd>
<dd><code>stopper</code> - the stopper</dd>
<dd><code>conf</code> - configuration to use</dd>
<dd><code>fs</code> - handle to the FS</dd>
<dd><code>oldLogDir</code> - the path to the archived logs</dd>
<dd><code>pool</code> - the thread pool used to scan directories</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="validate-org.apache.hadoop.fs.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validate</h4>
<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.86">validate</a>(org.apache.hadoop.fs.Path&nbsp;file)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#validate-org.apache.hadoop.fs.Path-">CleanerChore</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#validate-org.apache.hadoop.fs.Path-">validate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html" title="class in org.apache.hadoop.hbase.master.cleaner">CleanerChore</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.html" title="class in org.apache.hadoop.hbase.master.cleaner">BaseLogCleanerDelegate</a>&gt;</code></dd>
<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="onConfigurationChange-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onConfigurationChange</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.92">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">ConfigurationObserver</a></code></span></div>
<div class="block">This method would be called by the <a href="../../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a>
object when the <code>Configuration</code> object is reloaded from disk.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">onConfigurationChange</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">ConfigurationObserver</a></code></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/LogCleaner.html#line.106">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"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#deleteFiles-java.lang.Iterable-">CleanerChore</a></code></span></div>
<div class="block">Delete the given files</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#deleteFiles-java.lang.Iterable-">deleteFiles</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html" title="class in org.apache.hadoop.hbase.master.cleaner">CleanerChore</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.html" title="class in org.apache.hadoop.hbase.master.cleaner">BaseLogCleanerDelegate</a>&gt;</code></dd>
<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/LogCleaner.html#line.127">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/master/cleaner/CleanerChore.html#cleanup--">cleanup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/CleanerChore.html" title="class in org.apache.hadoop.hbase.master.cleaner">CleanerChore</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.html" title="class in org.apache.hadoop.hbase.master.cleaner">BaseLogCleanerDelegate</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getSizeOfCleaners--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSizeOfCleaners</h4>
<pre>int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.133">getSizeOfCleaners</a>()</pre>
</li>
</ul>
<a name="getCleanerThreadTimeoutMsec--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCleanerThreadTimeoutMsec</h4>
<pre>long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.138">getCleanerThreadTimeoutMsec</a>()</pre>
</li>
</ul>
<a name="createOldWalsCleaner-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createOldWalsCleaner</h4>
<pre>private&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="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.142">createOldWalsCleaner</a>(int&nbsp;size)</pre>
</li>
</ul>
<a name="interruptOldWALsCleaner--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interruptOldWALsCleaner</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.156">interruptOldWALsCleaner</a>()</pre>
</li>
</ul>
<a name="deleteFile--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteFile</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.164">deleteFile</a>()</pre>
</li>
</ul>
<a name="cancel-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>cancel</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/cleaner/LogCleaner.html#line.192">cancel</a>(boolean&nbsp;mayInterruptIfRunning)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/ScheduledChore.html#cancel-boolean-">cancel</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>
</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/LogCleaner.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/HFileLinkCleaner.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/LogCleaner.CleanerContext.html" title="class 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/LogCleaner.html" target="_top">Frames</a></li>
<li><a href="LogCleaner.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>