Repository: hbase-site
Updated Branches:
  refs/heads/asf-site e1f06e8a1 -> 3353a0ace


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3353a0ac/testdevapidocs/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html
----------------------------------------------------------------------
diff --git 
a/testdevapidocs/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html
 
b/testdevapidocs/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html
new file mode 100644
index 0000000..51e3ac1
--- /dev/null
+++ 
b/testdevapidocs/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html
@@ -0,0 +1,571 @@
+<!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>TestSnapshotWhenChoreCleaning (Apache HBase 3.0.0-SNAPSHOT Test 
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="TestSnapshotWhenChoreCleaning (Apache HBase 
3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static 
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/TestSnapshotWhenChoreCleaning.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/snapshot/TestSnapshotManifest.html"
 title="class in org.apache.hadoop.hbase.snapshot"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a 
href="../../../../../index.html?org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html"
 target="_top">Frames</a></li>
+<li><a href="TestSnapshotWhenChoreCleaning.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>Nested&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.snapshot</div>
+<h2 title="Class TestSnapshotWhenChoreCleaning" class="title">Class 
TestSnapshotWhenChoreCleaning</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>org.apache.hadoop.hbase.snapshot.TestSnapshotWhenChoreCleaning</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.61">TestSnapshotWhenChoreCleaning</a>
+extends <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></pre>
+<div class="block">Test Case for HBASE-21387</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== 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>static <a 
href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" 
title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static 
org.apache.hadoop.conf.Configuration</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#CONF">CONF</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#FAMILY">FAMILY</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/snapshot/TestSnapshotWhenChoreCleaning.html#LOG">LOG</a></span></code>&nbsp;</td>
+</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/snapshot/TestSnapshotWhenChoreCleaning.html#MAX_SPLIT_KEYS_NUM">MAX_SPLIT_KEYS_NUM</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#QUALIFIER">QUALIFIER</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static 
org.apache.hadoop.hbase.client.Table</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#TABLE">TABLE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static 
org.apache.hadoop.hbase.TableName</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#TABLE_NAME">TABLE_NAME</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a 
href="../../../../../org/apache/hadoop/hbase/TestTableName.html" title="class 
in org.apache.hadoop.hbase">TestTableName</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#TEST_TABLE">TEST_TABLE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a 
href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" 
title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#VALUE">VALUE</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/snapshot/TestSnapshotWhenChoreCleaning.html#TestSnapshotWhenChoreCleaning--">TestSnapshotWhenChoreCleaning</a></span>()</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="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>private static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#createTable--">createTable</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#integerToBytes-int-">integerToBytes</a></span>(int&nbsp;i)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>private static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#isAnySnapshots-org.apache.hadoop.fs.FileSystem-">isAnySnapshots</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>private static <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.Path&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#listHFileNames-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">listHFileNames</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+              org.apache.hadoop.fs.Path&nbsp;tableDir)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>private static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#loadDataAndFlush--">loadDataAndFlush</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#setUp--">setUp</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#tearDown--">tearDown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#testSnapshotWhenSnapshotHFileCleanerRunning--">testSnapshotWhenSnapshotHFileCleanerRunning</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<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/ja
 va/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#toString--";
 title="class or interface in java.lang">toString</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="CLASS_RULE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CLASS_RULE</h4>
+<pre>public static final&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" 
title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a> <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.64">CLASS_RULE</a></pre>
+</li>
+</ul>
+<a name="TEST_UTIL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TEST_UTIL</h4>
+<pre>private static final&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" 
title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.67">TEST_UTIL</a></pre>
+</li>
+</ul>
+<a name="CONF">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CONF</h4>
+<pre>private static final&nbsp;org.apache.hadoop.conf.Configuration <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.68">CONF</a></pre>
+</li>
+</ul>
+<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/snapshot/TestSnapshotWhenChoreCleaning.html#line.69">LOG</a></pre>
+</li>
+</ul>
+<a name="TABLE_NAME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TABLE_NAME</h4>
+<pre>private static final&nbsp;org.apache.hadoop.hbase.TableName <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.70">TABLE_NAME</a></pre>
+</li>
+</ul>
+<a name="MAX_SPLIT_KEYS_NUM">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MAX_SPLIT_KEYS_NUM</h4>
+<pre>private static final&nbsp;int <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.71">MAX_SPLIT_KEYS_NUM</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a 
href="../../../../../constant-values.html#org.apache.hadoop.hbase.snapshot.TestSnapshotWhenChoreCleaning.MAX_SPLIT_KEYS_NUM">Constant
 Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="FAMILY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FAMILY</h4>
+<pre>private static final&nbsp;byte[] <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.72">FAMILY</a></pre>
+</li>
+</ul>
+<a name="QUALIFIER">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QUALIFIER</h4>
+<pre>private static final&nbsp;byte[] <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.73">QUALIFIER</a></pre>
+</li>
+</ul>
+<a name="VALUE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>VALUE</h4>
+<pre>private static final&nbsp;byte[] <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.74">VALUE</a></pre>
+</li>
+</ul>
+<a name="TABLE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TABLE</h4>
+<pre>private static&nbsp;org.apache.hadoop.hbase.client.Table <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.75">TABLE</a></pre>
+</li>
+</ul>
+<a name="TEST_TABLE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TEST_TABLE</h4>
+<pre>public&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/TestTableName.html" title="class 
in org.apache.hadoop.hbase">TestTableName</a> <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.78">TEST_TABLE</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="TestSnapshotWhenChoreCleaning--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TestSnapshotWhenChoreCleaning</h4>
+<pre>public&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.61">TestSnapshotWhenChoreCleaning</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setUp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUp</h4>
+<pre>public static&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.81">setUp</a>()
+                  throws <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="integerToBytes-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>integerToBytes</h4>
+<pre>private static&nbsp;byte[]&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.92">integerToBytes</a>(int&nbsp;i)</pre>
+</li>
+</ul>
+<a name="createTable--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createTable</h4>
+<pre>private static&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.96">createTable</a>()
+                         throws <a 
href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true";
 title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a 
href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true";
 title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="tearDown--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tearDown</h4>
+<pre>public static&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.105">tearDown</a>()
+                     throws <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="loadDataAndFlush--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>loadDataAndFlush</h4>
+<pre>private static&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.109">loadDataAndFlush</a>()
+                              throws <a 
href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true";
 title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a 
href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true";
 title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a 
name="listHFileNames-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>listHFileNames</h4>
+<pre>private static&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;org.apache.hadoop.fs.Path&gt;&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.118">listHFileNames</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+                                                              
org.apache.hadoop.fs.Path&nbsp;tableDir)
+                                                       throws <a 
href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true";
 title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a 
href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true";
 title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isAnySnapshots-org.apache.hadoop.fs.FileSystem-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isAnySnapshots</h4>
+<pre>private static&nbsp;boolean&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.128">isAnySnapshots</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs)
+                               throws <a 
href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true";
 title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a 
href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true";
 title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="testSnapshotWhenSnapshotHFileCleanerRunning--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testSnapshotWhenSnapshotHFileCleanerRunning</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html#line.144">testSnapshotWhenSnapshotHFileCleanerRunning</a>()
+                                                 throws <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true";
 title="class or interface in java.lang">Exception</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/TestSnapshotWhenChoreCleaning.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/snapshot/TestSnapshotManifest.html"
 title="class in org.apache.hadoop.hbase.snapshot"><span 
class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a 
href="../../../../../index.html?org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html"
 target="_top">Frames</a></li>
+<li><a href="TestSnapshotWhenChoreCleaning.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>Nested&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;2018 <a 
href="https://www.apache.org/";>The Apache Software Foundation</a>. All rights 
reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3353a0ac/testdevapidocs/org/apache/hadoop/hbase/snapshot/class-use/TestSnapshotWhenChoreCleaning.html
----------------------------------------------------------------------
diff --git 
a/testdevapidocs/org/apache/hadoop/hbase/snapshot/class-use/TestSnapshotWhenChoreCleaning.html
 
b/testdevapidocs/org/apache/hadoop/hbase/snapshot/class-use/TestSnapshotWhenChoreCleaning.html
new file mode 100644
index 0000000..5747c2d
--- /dev/null
+++ 
b/testdevapidocs/org/apache/hadoop/hbase/snapshot/class-use/TestSnapshotWhenChoreCleaning.html
@@ -0,0 +1,125 @@
+<!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>Uses of Class 
org.apache.hadoop.hbase.snapshot.TestSnapshotWhenChoreCleaning (Apache HBase 
3.0.0-SNAPSHOT Test 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="Uses of Class 
org.apache.hadoop.hbase.snapshot.TestSnapshotWhenChoreCleaning (Apache HBase 
3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</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><a 
href="../../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html"
 title="class in org.apache.hadoop.hbase.snapshot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-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>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a 
href="../../../../../../index.html?org/apache/hadoop/hbase/snapshot/class-use/TestSnapshotWhenChoreCleaning.html"
 target="_top">Frames</a></li>
+<li><a href="TestSnapshotWhenChoreCleaning.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>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class 
org.apache.hadoop.hbase.snapshot.TestSnapshotWhenChoreCleaning" 
class="title">Uses of 
Class<br>org.apache.hadoop.hbase.snapshot.TestSnapshotWhenChoreCleaning</h2>
+</div>
+<div class="classUseContainer">No usage of 
org.apache.hadoop.hbase.snapshot.TestSnapshotWhenChoreCleaning</div>
+<!-- ======= 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><a 
href="../../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html"
 title="class in org.apache.hadoop.hbase.snapshot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-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>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a 
href="../../../../../../index.html?org/apache/hadoop/hbase/snapshot/class-use/TestSnapshotWhenChoreCleaning.html"
 target="_top">Frames</a></li>
+<li><a href="TestSnapshotWhenChoreCleaning.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>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a 
href="https://www.apache.org/";>The Apache Software Foundation</a>. All rights 
reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3353a0ac/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-frame.html 
b/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-frame.html
index 749a61f..84f3987 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-frame.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-frame.html
@@ -41,6 +41,7 @@
 <li><a href="TestSnapshotClientRetries.MasterSyncObserver.html" title="class 
in org.apache.hadoop.hbase.snapshot" 
target="classFrame">TestSnapshotClientRetries.MasterSyncObserver</a></li>
 <li><a href="TestSnapshotDescriptionUtils.html" title="class in 
org.apache.hadoop.hbase.snapshot" 
target="classFrame">TestSnapshotDescriptionUtils</a></li>
 <li><a href="TestSnapshotManifest.html" title="class in 
org.apache.hadoop.hbase.snapshot" 
target="classFrame">TestSnapshotManifest</a></li>
+<li><a href="TestSnapshotWhenChoreCleaning.html" title="class in 
org.apache.hadoop.hbase.snapshot" 
target="classFrame">TestSnapshotWhenChoreCleaning</a></li>
 </ul>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3353a0ac/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-summary.html
----------------------------------------------------------------------
diff --git 
a/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-summary.html 
b/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-summary.html
index 87bcf2c..aeff2ba 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-summary.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-summary.html
@@ -227,6 +227,12 @@
 <td class="colFirst"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotManifest.html"
 title="class in org.apache.hadoop.hbase.snapshot">TestSnapshotManifest</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html"
 title="class in 
org.apache.hadoop.hbase.snapshot">TestSnapshotWhenChoreCleaning</a></td>
+<td class="colLast">
+<div class="block">Test Case for HBASE-21387</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3353a0ac/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-tree.html 
b/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-tree.html
index 511e7fc..81fc2e2 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/snapshot/package-tree.html
@@ -123,6 +123,7 @@
 <li type="circle">org.apache.hadoop.hbase.snapshot.<a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotClientRetries.MasterSyncObserver.html"
 title="class in org.apache.hadoop.hbase.snapshot"><span 
class="typeNameLink">TestSnapshotClientRetries.MasterSyncObserver</span></a> 
(implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, 
org.apache.hadoop.hbase.coprocessor.MasterObserver)</li>
 <li type="circle">org.apache.hadoop.hbase.snapshot.<a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotDescriptionUtils.html"
 title="class in org.apache.hadoop.hbase.snapshot"><span 
class="typeNameLink">TestSnapshotDescriptionUtils</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.snapshot.<a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotManifest.html"
 title="class in org.apache.hadoop.hbase.snapshot"><span 
class="typeNameLink">TestSnapshotManifest</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.snapshot.<a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html"
 title="class in org.apache.hadoop.hbase.snapshot"><span 
class="typeNameLink">TestSnapshotWhenChoreCleaning</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3353a0ac/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html 
b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
index 1bd5f18..3c4b4a9 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
@@ -253,8 +253,8 @@
 <ul>
 <li type="circle">java.lang.<a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true";
 title="class or interface in java.lang"><span 
class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true";
 title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a 
href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true";
 title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.test.<a 
href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Verify.Counts.html"
 title="enum in org.apache.hadoop.hbase.test"><span 
class="typeNameLink">IntegrationTestBigLinkedList.Verify.Counts</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.test.<a 
href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Generator.Counts.html"
 title="enum in org.apache.hadoop.hbase.test"><span 
class="typeNameLink">IntegrationTestBigLinkedList.Generator.Counts</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.test.<a 
href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Verify.Counts.html"
 title="enum in org.apache.hadoop.hbase.test"><span 
class="typeNameLink">IntegrationTestBigLinkedList.Verify.Counts</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.test.<a 
href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestWithCellVisibilityLoadAndVerify.Counters.html"
 title="enum in org.apache.hadoop.hbase.test"><span 
class="typeNameLink">IntegrationTestWithCellVisibilityLoadAndVerify.Counters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.test.<a 
href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.Counters.html"
 title="enum in org.apache.hadoop.hbase.test"><span 
class="typeNameLink">IntegrationTestLoadAndVerify.Counters</span></a></li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3353a0ac/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html 
b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index f62b3ca..7ec7716 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -147,9 +147,9 @@
 <ul>
 <li type="circle">java.lang.<a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true";
 title="class or interface in java.lang"><span 
class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true";
 title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a 
href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true";
 title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a 
href="../../../../../org/apache/hadoop/hbase/wal/FaultyFSLog.FailureType.html" 
title="enum in org.apache.hadoop.hbase.wal"><span 
class="typeNameLink">FaultyFSLog.FailureType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.wal.<a 
href="../../../../../org/apache/hadoop/hbase/wal/IOTestProvider.AllowedOperations.html"
 title="enum in org.apache.hadoop.hbase.wal"><span 
class="typeNameLink">IOTestProvider.AllowedOperations</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a 
href="../../../../../org/apache/hadoop/hbase/wal/TestWALSplit.Corruptions.html" 
title="enum in org.apache.hadoop.hbase.wal"><span 
class="typeNameLink">TestWALSplit.Corruptions</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a 
href="../../../../../org/apache/hadoop/hbase/wal/IOTestProvider.AllowedOperations.html"
 title="enum in org.apache.hadoop.hbase.wal"><span 
class="typeNameLink">IOTestProvider.AllowedOperations</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a 
href="../../../../../org/apache/hadoop/hbase/wal/FaultyFSLog.FailureType.html" 
title="enum in org.apache.hadoop.hbase.wal"><span 
class="typeNameLink">FaultyFSLog.FailureType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3353a0ac/testdevapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/overview-tree.html 
b/testdevapidocs/overview-tree.html
index bc9a9cb..71255d7 100644
--- a/testdevapidocs/overview-tree.html
+++ b/testdevapidocs/overview-tree.html
@@ -3781,6 +3781,7 @@
 <li type="circle">org.apache.hadoop.hbase.client.<a 
href="org/apache/hadoop/hbase/client/TestSnapshotTemporaryDirectoryWithRegionReplicas.html"
 title="class in org.apache.hadoop.hbase.client"><span 
class="typeNameLink">TestSnapshotTemporaryDirectoryWithRegionReplicas</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.hadoop.hbase.snapshot.<a 
href="org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html" 
title="class in org.apache.hadoop.hbase.snapshot"><span 
class="typeNameLink">TestSnapshotWhenChoreCleaning</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.snapshot.<a 
href="org/apache/hadoop/hbase/master/snapshot/TestSnapshotWhileRSCrashes.html" 
title="class in org.apache.hadoop.hbase.master.snapshot"><span 
class="typeNameLink">TestSnapshotWhileRSCrashes</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a 
href="org/apache/hadoop/hbase/client/TestSnapshotWithAcl.AccessReadAction.html" 
title="class in org.apache.hadoop.hbase.client"><span 
class="typeNameLink">TestSnapshotWithAcl.AccessReadAction</span></a> 
(implements org.apache.hadoop.hbase.security.access.<a 
href="org/apache/hadoop/hbase/security/access/SecureTestUtil.AccessTestAction.html"
 title="interface in 
org.apache.hadoop.hbase.security.access">SecureTestUtil.AccessTestAction</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.client.<a 
href="org/apache/hadoop/hbase/client/TestSnapshotWithAcl.AccessWriteAction.html"
 title="class in org.apache.hadoop.hbase.client"><span 
class="typeNameLink">TestSnapshotWithAcl.AccessWriteAction</span></a> 
(implements org.apache.hadoop.hbase.security.access.<a 
href="org/apache/hadoop/hbase/security/access/SecureTestUtil.AccessTestAction.html"
 title="interface in 
org.apache.hadoop.hbase.security.access">SecureTestUtil.AccessTestAction</a>)</li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3353a0ac/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.SnapshotFiles.html
----------------------------------------------------------------------
diff --git 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.SnapshotFiles.html
 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.SnapshotFiles.html
index 201cbdc..c0230a7 100644
--- 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.SnapshotFiles.html
+++ 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.SnapshotFiles.html
@@ -155,9 +155,9 @@
 <span class="sourceLineNo">147</span>    SnapshotFileCache cache = new 
SnapshotFileCache(fs, rootDir, period, 10000000,<a name="line.147"></a>
 <span class="sourceLineNo">148</span>        
"test-snapshot-file-cache-refresh", new SnapshotFiles()) {<a 
name="line.148"></a>
 <span class="sourceLineNo">149</span>      @Override<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      List&lt;String&gt; 
getSnapshotsInProgress(final SnapshotManager snapshotManager)<a 
name="line.150"></a>
+<span class="sourceLineNo">150</span>      List&lt;String&gt; 
getSnapshotsInProgress()<a name="line.150"></a>
 <span class="sourceLineNo">151</span>              throws IOException {<a 
name="line.151"></a>
-<span class="sourceLineNo">152</span>        List&lt;String&gt; result = 
super.getSnapshotsInProgress(snapshotManager);<a name="line.152"></a>
+<span class="sourceLineNo">152</span>        List&lt;String&gt; result = 
super.getSnapshotsInProgress();<a name="line.152"></a>
 <span class="sourceLineNo">153</span>        count.incrementAndGet();<a 
name="line.153"></a>
 <span class="sourceLineNo">154</span>        return result;<a 
name="line.154"></a>
 <span class="sourceLineNo">155</span>      }<a name="line.155"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3353a0ac/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.html
----------------------------------------------------------------------
diff --git 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.html
 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.html
index 201cbdc..c0230a7 100644
--- 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.html
+++ 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.html
@@ -155,9 +155,9 @@
 <span class="sourceLineNo">147</span>    SnapshotFileCache cache = new 
SnapshotFileCache(fs, rootDir, period, 10000000,<a name="line.147"></a>
 <span class="sourceLineNo">148</span>        
"test-snapshot-file-cache-refresh", new SnapshotFiles()) {<a 
name="line.148"></a>
 <span class="sourceLineNo">149</span>      @Override<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      List&lt;String&gt; 
getSnapshotsInProgress(final SnapshotManager snapshotManager)<a 
name="line.150"></a>
+<span class="sourceLineNo">150</span>      List&lt;String&gt; 
getSnapshotsInProgress()<a name="line.150"></a>
 <span class="sourceLineNo">151</span>              throws IOException {<a 
name="line.151"></a>
-<span class="sourceLineNo">152</span>        List&lt;String&gt; result = 
super.getSnapshotsInProgress(snapshotManager);<a name="line.152"></a>
+<span class="sourceLineNo">152</span>        List&lt;String&gt; result = 
super.getSnapshotsInProgress();<a name="line.152"></a>
 <span class="sourceLineNo">153</span>        count.incrementAndGet();<a 
name="line.153"></a>
 <span class="sourceLineNo">154</span>        return result;<a 
name="line.154"></a>
 <span class="sourceLineNo">155</span>      }<a name="line.155"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3353a0ac/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.SnapshotFiles.html
----------------------------------------------------------------------
diff --git 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.SnapshotFiles.html
 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.SnapshotFiles.html
index e9e09f3..eb9cd10 100644
--- 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.SnapshotFiles.html
+++ 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.SnapshotFiles.html
@@ -153,7 +153,7 @@
 <span class="sourceLineNo">145</span>    SnapshotFileCache cache = new 
SnapshotFileCache(fs, rootDir, period, 10000000,<a name="line.145"></a>
 <span class="sourceLineNo">146</span>        
"test-snapshot-file-cache-refresh", new SnapshotFiles());<a name="line.146"></a>
 <span class="sourceLineNo">147</span>    try {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      
cache.getSnapshotsInProgress(null);<a name="line.148"></a>
+<span class="sourceLineNo">148</span>      cache.getSnapshotsInProgress();<a 
name="line.148"></a>
 <span class="sourceLineNo">149</span>    } catch (CorruptedSnapshotException 
cse) {<a name="line.149"></a>
 <span class="sourceLineNo">150</span>      LOG.info("Expected exception " + 
cse);<a name="line.150"></a>
 <span class="sourceLineNo">151</span>    } finally {<a name="line.151"></a>
@@ -181,7 +181,7 @@
 <span class="sourceLineNo">173</span>    SnapshotFileCache cache = new 
SnapshotFileCache(fs, rootDir, period, 10000000,<a name="line.173"></a>
 <span class="sourceLineNo">174</span>        
"test-snapshot-file-cache-refresh", new SnapshotFiles());<a name="line.174"></a>
 <span class="sourceLineNo">175</span>    try {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      
cache.getSnapshotsInProgress(null);<a name="line.176"></a>
+<span class="sourceLineNo">176</span>      cache.getSnapshotsInProgress();<a 
name="line.176"></a>
 <span class="sourceLineNo">177</span>    } catch (CorruptedSnapshotException 
cse) {<a name="line.177"></a>
 <span class="sourceLineNo">178</span>      LOG.info("Expected exception " + 
cse);<a name="line.178"></a>
 <span class="sourceLineNo">179</span>    } finally {<a name="line.179"></a>
@@ -205,7 +205,7 @@
 <span class="sourceLineNo">197</span>      long period = Long.MAX_VALUE;<a 
name="line.197"></a>
 <span class="sourceLineNo">198</span>    SnapshotFileCache cache = new 
SnapshotFileCache(fs, rootDir, period, 10000000,<a name="line.198"></a>
 <span class="sourceLineNo">199</span>        
"test-snapshot-file-cache-refresh", new SnapshotFiles());<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    cache.getSnapshotsInProgress(null);<a 
name="line.200"></a>
+<span class="sourceLineNo">200</span>    cache.getSnapshotsInProgress();<a 
name="line.200"></a>
 <span class="sourceLineNo">201</span>    
assertFalse(fs.exists(builder.getSnapshotsDir()));<a name="line.201"></a>
 <span class="sourceLineNo">202</span>  }<a name="line.202"></a>
 <span class="sourceLineNo">203</span>}<a name="line.203"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3353a0ac/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.html
----------------------------------------------------------------------
diff --git 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.html
 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.html
index e9e09f3..eb9cd10 100644
--- 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.html
+++ 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.html
@@ -153,7 +153,7 @@
 <span class="sourceLineNo">145</span>    SnapshotFileCache cache = new 
SnapshotFileCache(fs, rootDir, period, 10000000,<a name="line.145"></a>
 <span class="sourceLineNo">146</span>        
"test-snapshot-file-cache-refresh", new SnapshotFiles());<a name="line.146"></a>
 <span class="sourceLineNo">147</span>    try {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      
cache.getSnapshotsInProgress(null);<a name="line.148"></a>
+<span class="sourceLineNo">148</span>      cache.getSnapshotsInProgress();<a 
name="line.148"></a>
 <span class="sourceLineNo">149</span>    } catch (CorruptedSnapshotException 
cse) {<a name="line.149"></a>
 <span class="sourceLineNo">150</span>      LOG.info("Expected exception " + 
cse);<a name="line.150"></a>
 <span class="sourceLineNo">151</span>    } finally {<a name="line.151"></a>
@@ -181,7 +181,7 @@
 <span class="sourceLineNo">173</span>    SnapshotFileCache cache = new 
SnapshotFileCache(fs, rootDir, period, 10000000,<a name="line.173"></a>
 <span class="sourceLineNo">174</span>        
"test-snapshot-file-cache-refresh", new SnapshotFiles());<a name="line.174"></a>
 <span class="sourceLineNo">175</span>    try {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      
cache.getSnapshotsInProgress(null);<a name="line.176"></a>
+<span class="sourceLineNo">176</span>      cache.getSnapshotsInProgress();<a 
name="line.176"></a>
 <span class="sourceLineNo">177</span>    } catch (CorruptedSnapshotException 
cse) {<a name="line.177"></a>
 <span class="sourceLineNo">178</span>      LOG.info("Expected exception " + 
cse);<a name="line.178"></a>
 <span class="sourceLineNo">179</span>    } finally {<a name="line.179"></a>
@@ -205,7 +205,7 @@
 <span class="sourceLineNo">197</span>      long period = Long.MAX_VALUE;<a 
name="line.197"></a>
 <span class="sourceLineNo">198</span>    SnapshotFileCache cache = new 
SnapshotFileCache(fs, rootDir, period, 10000000,<a name="line.198"></a>
 <span class="sourceLineNo">199</span>        
"test-snapshot-file-cache-refresh", new SnapshotFiles());<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    cache.getSnapshotsInProgress(null);<a 
name="line.200"></a>
+<span class="sourceLineNo">200</span>    cache.getSnapshotsInProgress();<a 
name="line.200"></a>
 <span class="sourceLineNo">201</span>    
assertFalse(fs.exists(builder.getSnapshotsDir()));<a name="line.201"></a>
 <span class="sourceLineNo">202</span>  }<a name="line.202"></a>
 <span class="sourceLineNo">203</span>}<a name="line.203"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3353a0ac/testdevapidocs/src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html
----------------------------------------------------------------------
diff --git 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html
 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html
new file mode 100644
index 0000000..224d47b
--- /dev/null
+++ 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/snapshot/TestSnapshotWhenChoreCleaning.html
@@ -0,0 +1,279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software 
Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license 
agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for 
additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The 
ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, 
Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file 
except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a 
copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     
http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or 
agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is 
distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF 
ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific 
language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a 
name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span>package 
org.apache.hadoop.hbase.snapshot;<a name="line.19"></a>
+<span class="sourceLineNo">020</span><a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.IOException;<a 
name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.ArrayList;<a 
name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.Collections;<a 
name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.List;<a 
name="line.24"></a>
+<span class="sourceLineNo">025</span>import 
java.util.concurrent.atomic.AtomicBoolean;<a name="line.25"></a>
+<span class="sourceLineNo">026</span><a name="line.26"></a>
+<span class="sourceLineNo">027</span>import 
org.apache.hadoop.conf.Configuration;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.fs.FileStatus;<a 
name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.fs.FileSystem;<a 
name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.fs.Path;<a 
name="line.30"></a>
+<span class="sourceLineNo">031</span>import 
org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import 
org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import 
org.apache.hadoop.hbase.TableName;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import 
org.apache.hadoop.hbase.TestTableName;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import 
org.apache.hadoop.hbase.client.Put;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import 
org.apache.hadoop.hbase.client.Table;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import 
org.apache.hadoop.hbase.master.HMaster;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import 
org.apache.hadoop.hbase.master.snapshot.SnapshotHFileCleaner;<a 
name="line.38"></a>
+<span class="sourceLineNo">039</span>import 
org.apache.hadoop.hbase.master.snapshot.SnapshotManager;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import 
org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import 
org.apache.hadoop.hbase.util.Bytes;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import 
org.apache.hadoop.hbase.util.FSUtils;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import 
org.apache.hadoop.hbase.util.FSVisitor;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.junit.AfterClass;<a 
name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.junit.Assert;<a 
name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.junit.BeforeClass;<a 
name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.junit.ClassRule;<a 
name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.junit.Rule;<a 
name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.junit.Test;<a 
name="line.49"></a>
+<span class="sourceLineNo">050</span>import 
org.junit.experimental.categories.Category;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.slf4j.Logger;<a 
name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.slf4j.LoggerFactory;<a 
name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>import 
org.apache.hbase.thirdparty.com.google.common.collect.ImmutableMap;<a 
name="line.54"></a>
+<span class="sourceLineNo">055</span>import 
org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a 
name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>/**<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * Test Case for HBASE-21387<a 
name="line.58"></a>
+<span class="sourceLineNo">059</span> */<a name="line.59"></a>
+<span class="sourceLineNo">060</span>@Category({ LargeTests.class })<a 
name="line.60"></a>
+<span class="sourceLineNo">061</span>public class 
TestSnapshotWhenChoreCleaning {<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>  @ClassRule<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  public static final HBaseClassTestRule 
CLASS_RULE =<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      
HBaseClassTestRule.forClass(TestSnapshotWhenChoreCleaning.class);<a 
name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span>  private static final 
HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  private static final Configuration CONF 
= TEST_UTIL.getConfiguration();<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  private static final Logger LOG = 
LoggerFactory.getLogger(TestSnapshotClientRetries.class);<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  private static final TableName 
TABLE_NAME = TableName.valueOf("testTable");<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  private static final int 
MAX_SPLIT_KEYS_NUM = 100;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private static final byte[] FAMILY = 
Bytes.toBytes("family");<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private static final byte[] QUALIFIER = 
Bytes.toBytes("qualifier");<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  private static final byte[] VALUE = 
Bytes.toBytes("value");<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  private static Table TABLE;<a 
name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>  @Rule<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public TestTableName TEST_TABLE = new 
TestTableName();<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  @BeforeClass<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  public static void setUp() throws 
Exception {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    // Set the 
hbase.snapshot.thread.pool.max to 1;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    
CONF.setInt("hbase.snapshot.thread.pool.max", 1);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    // Enable snapshot<a 
name="line.84"></a>
+<span class="sourceLineNo">085</span>    
CONF.setBoolean(SnapshotManager.HBASE_SNAPSHOT_ENABLED, true);<a 
name="line.85"></a>
+<span class="sourceLineNo">086</span>    // Start MiniCluster.<a 
name="line.86"></a>
+<span class="sourceLineNo">087</span>    TEST_UTIL.startMiniCluster(3);<a 
name="line.87"></a>
+<span class="sourceLineNo">088</span>    // Create talbe<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    createTable();<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  }<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>  private static byte[] 
integerToBytes(int i) {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    return 
Bytes.toBytes(String.format("%06d", i));<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
+<span class="sourceLineNo">095</span><a name="line.95"></a>
+<span class="sourceLineNo">096</span>  private static void createTable() 
throws IOException {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    byte[][] splitKeys = new 
byte[MAX_SPLIT_KEYS_NUM][];<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    for (int i = 0; i &lt; 
splitKeys.length; i++) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      splitKeys[i] = integerToBytes(i);<a 
name="line.99"></a>
+<span class="sourceLineNo">100</span>    }<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    TABLE = 
TEST_UTIL.createTable(TABLE_NAME, FAMILY, splitKeys);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  @AfterClass<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  public static void tearDown() throws 
Exception {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    TEST_UTIL.shutdownMiniCluster();<a 
name="line.106"></a>
+<span class="sourceLineNo">107</span>  }<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>  private static void loadDataAndFlush() 
throws IOException {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    for (int i = 0; i &lt; 
MAX_SPLIT_KEYS_NUM; i++) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      Put put = new 
Put(integerToBytes(i)).addColumn(FAMILY, QUALIFIER,<a name="line.111"></a>
+<span class="sourceLineNo">112</span>        Bytes.add(VALUE, 
Bytes.toBytes(i)));<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      TABLE.put(put);<a 
name="line.113"></a>
+<span class="sourceLineNo">114</span>    }<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    TEST_UTIL.flush(TABLE_NAME);<a 
name="line.115"></a>
+<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>  private static List&lt;Path&gt; 
listHFileNames(final FileSystem fs, final Path tableDir)<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      throws IOException {<a 
name="line.119"></a>
+<span class="sourceLineNo">120</span>    final List&lt;Path&gt; hfiles = new 
ArrayList&lt;&gt;();<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    FSVisitor.visitTableStoreFiles(fs, 
tableDir, (region, family, hfileName) -&gt; {<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      hfiles.add(new Path(new Path(new 
Path(tableDir, region), family), hfileName));<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    });<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    Collections.sort(hfiles);<a 
name="line.124"></a>
+<span class="sourceLineNo">125</span>    return hfiles;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  }<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>  private static boolean 
isAnySnapshots(FileSystem fs) throws IOException {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    Path snapshotDir = 
SnapshotDescriptionUtils.getSnapshotsDir(FSUtils.getRootDir(CONF));<a 
name="line.129"></a>
+<span class="sourceLineNo">130</span>    FileStatus[] snapFiles = 
fs.listStatus(snapshotDir);<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    if (snapFiles.length == 0) {<a 
name="line.131"></a>
+<span class="sourceLineNo">132</span>      return false;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    }<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    Path firstPath = 
snapFiles[0].getPath();<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    LOG.info("firstPath in 
isAnySnapshots: " + firstPath);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    if (snapFiles.length == 1 &amp;&amp; 
firstPath.getName().equals(".tmp")) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      FileStatus[] tmpSnapFiles = 
fs.listStatus(firstPath);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      return tmpSnapFiles != null 
&amp;&amp; tmpSnapFiles.length &gt; 0;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    return true;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  @Test<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  public void 
testSnapshotWhenSnapshotHFileCleanerRunning() throws Exception {<a 
name="line.144"></a>
+<span class="sourceLineNo">145</span>    // Load data and flush to generate 
huge number of HFiles.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    loadDataAndFlush();<a 
name="line.146"></a>
+<span class="sourceLineNo">147</span><a name="line.147"></a>
+<span class="sourceLineNo">148</span>    SnapshotHFileCleaner cleaner = new 
SnapshotHFileCleaner();<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    
cleaner.init(ImmutableMap.of(HMaster.MASTER, 
TEST_UTIL.getHBaseCluster().getMaster()));<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    cleaner.setConf(CONF);<a 
name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>    FileSystem fs = 
FSUtils.getCurrentFileSystem(CONF);<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    List&lt;Path&gt; fileNames =<a 
name="line.153"></a>
+<span class="sourceLineNo">154</span>        listHFileNames(fs, 
FSUtils.getTableDir(FSUtils.getRootDir(CONF), TABLE_NAME));<a 
name="line.154"></a>
+<span class="sourceLineNo">155</span>    List&lt;FileStatus&gt; files = new 
ArrayList&lt;&gt;();<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    for (Path fileName : fileNames) {<a 
name="line.156"></a>
+<span class="sourceLineNo">157</span>      
files.add(fs.getFileStatus(fileName));<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    }<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>    
TEST_UTIL.getAdmin().snapshot("snapshotName_prev", TABLE_NAME);<a 
name="line.160"></a>
+<span class="sourceLineNo">161</span>    
Assert.assertEquals(Lists.newArrayList(cleaner.getDeletableFiles(files)).size(),
 0);<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    
TEST_UTIL.getAdmin().deleteSnapshot("snapshotName_prev");<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    
cleaner.getFileCacheForTesting().triggerCacheRefreshForTesting();<a 
name="line.163"></a>
+<span class="sourceLineNo">164</span>    
Assert.assertEquals(Lists.newArrayList(cleaner.getDeletableFiles(files)).size(),
 100);<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>    Runnable snapshotRunnable = () -&gt; 
{<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      try {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>        // The thread will be busy on 
taking snapshot;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>        for (int k = 0; k &lt; 5; k++) 
{<a name="line.169"></a>
+<span class="sourceLineNo">170</span>          
TEST_UTIL.getAdmin().snapshot("snapshotName_" + k, TABLE_NAME);<a 
name="line.170"></a>
+<span class="sourceLineNo">171</span>        }<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      } catch (Exception e) {<a 
name="line.172"></a>
+<span class="sourceLineNo">173</span>        LOG.error("Snapshot failed: ", 
e);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      }<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    };<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    final AtomicBoolean success = new 
AtomicBoolean(true);<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    Runnable cleanerRunnable = () -&gt; 
{<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      try {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>        while (!isAnySnapshots(fs)) {<a 
name="line.179"></a>
+<span class="sourceLineNo">180</span>          LOG.info("Not found any 
snapshot, sleep 100ms");<a name="line.180"></a>
+<span class="sourceLineNo">181</span>          Thread.sleep(100);<a 
name="line.181"></a>
+<span class="sourceLineNo">182</span>        }<a name="line.182"></a>
+<span class="sourceLineNo">183</span>        for (int k = 0; k &lt; 5; k++) 
{<a name="line.183"></a>
+<span class="sourceLineNo">184</span>          
cleaner.getFileCacheForTesting().triggerCacheRefreshForTesting();<a 
name="line.184"></a>
+<span class="sourceLineNo">185</span>          Iterable&lt;FileStatus&gt; 
toDeleteFiles = cleaner.getDeletableFiles(files);<a name="line.185"></a>
+<span class="sourceLineNo">186</span>          List&lt;FileStatus&gt; 
deletableFiles = Lists.newArrayList(toDeleteFiles);<a name="line.186"></a>
+<span class="sourceLineNo">187</span>          LOG.info("Size of 
deletableFiles is: " + deletableFiles.size());<a name="line.187"></a>
+<span class="sourceLineNo">188</span>          for (int i = 0; i &lt; 
deletableFiles.size(); i++) {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>            LOG.debug("toDeleteFiles[{}] 
is: {}", i, deletableFiles.get(i));<a name="line.189"></a>
+<span class="sourceLineNo">190</span>          }<a name="line.190"></a>
+<span class="sourceLineNo">191</span>          if (deletableFiles.size() &gt; 
0) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>            success.set(false);<a 
name="line.192"></a>
+<span class="sourceLineNo">193</span>          }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>        }<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      } catch (Exception e) {<a 
name="line.195"></a>
+<span class="sourceLineNo">196</span>        LOG.error("Chore cleaning failed: 
", e);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    };<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    Thread t1 = new 
Thread(snapshotRunnable);<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    t1.start();<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    Thread t2 = new 
Thread(cleanerRunnable);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    t2.start();<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    t1.join();<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    t2.join();<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    Assert.assertTrue(success.get());<a 
name="line.205"></a>
+<span class="sourceLineNo">206</span>  }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>}<a name="line.207"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

Reply via email to