Repository: hbase-site
Updated Branches:
  refs/heads/asf-site c93dd16ca -> 545640e1c


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/545640e1/testdevapidocs/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html
----------------------------------------------------------------------
diff --git 
a/testdevapidocs/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html
 
b/testdevapidocs/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html
index 74f7096..2a73722 100644
--- 
a/testdevapidocs/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html
+++ 
b/testdevapidocs/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = 
{"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance 
Methods"],8:["t4","Concrete Methods"]};
+var methods = 
{"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10,"i15":10,"i16":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";
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public class <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.56">TestRestoreSnapshotHelper</a>
+<pre>public class <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.66">TestRestoreSnapshotHelper</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 the restore/clone operation from a file-system point 
of view.</div>
 </li>
@@ -193,20 +193,29 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </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>
+<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 void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#checkNoHFileLinkInTableDir-org.apache.hadoop.hbase.TableName-">checkNoHFileLinkInTableDir</a></span>(org.apache.hadoop.hbase.TableName&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>protected <a 
href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.SnapshotMock.html"
 title="class in 
org.apache.hadoop.hbase.snapshot">SnapshotTestingUtils.SnapshotMock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#createSnapshotMock--">createSnapshotMock</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#createTableAndSnapshot-org.apache.hadoop.hbase.TableName-java.lang.String-">createTableAndSnapshot</a></span>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
+                      <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in 
java.lang">String</a>&nbsp;snapshotName)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#getReferredToFile-java.lang.String-">getReferredToFile</a></span>(<a
 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in 
java.lang">String</a>&nbsp;referenceName)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>private 
org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#getRestoreHelper-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">getRestoreHelper</a></span>(org.apache.hadoop.fs.Path&nbsp;rootDir,
                 org.apache.hadoop.fs.Path&nbsp;snapshotDir,
@@ -215,28 +224,44 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">Initialize the restore helper, based on the snapshot and 
table information provided.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#hasHFileLink-org.apache.hadoop.fs.Path-">hasHFileLink</a></span>(org.apache.hadoop.fs.Path&nbsp;tableDir)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#restoreAndVerify-java.lang.String-java.lang.String-">restoreAndVerify</a></span>(<a
 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>&nbsp;snapshotName,
                 <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in 
java.lang">String</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<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/TestRestoreSnapshotHelper.html#setup--">setup</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#setupCluster--">setupCluster</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#setupConf-org.apache.hadoop.conf.Configuration-">setupConf</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#tearDown--">tearDown</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#tearDownCluster--">tearDownCluster</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#testNoHFileLinkInRootDir--">testNoHFileLinkInRootDir</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#testRestore--">testRestore</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#testRestore-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">testRestore</a></span>(org.apache.hadoop.fs.Path&nbsp;snapshotDir,
            
org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription&nbsp;sd,
@@ -244,11 +269,11 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">Execute the restore operation</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#testRestoreWithNamespace--">testRestoreWithNamespace</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../../org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#verifyRestore-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">verifyRestore</a></span>(org.apache.hadoop.fs.Path&nbsp;rootDir,
              org.apache.hadoop.hbase.client.TableDescriptor&nbsp;sourceHtd,
@@ -282,7 +307,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <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/TestRestoreSnapshotHelper.html#line.59">CLASS_RULE</a></pre>
+<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/TestRestoreSnapshotHelper.html#line.69">CLASS_RULE</a></pre>
 </li>
 </ul>
 <a name="LOG">
@@ -291,7 +316,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <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/TestRestoreSnapshotHelper.html#line.62">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.72">LOG</a></pre>
 </li>
 </ul>
 <a name="TEST_UTIL">
@@ -300,7 +325,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_UTIL</h4>
-<pre>protected 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/TestRestoreSnapshotHelper.html#line.64">TEST_UTIL</a></pre>
+<pre>protected 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/TestRestoreSnapshotHelper.html#line.74">TEST_UTIL</a></pre>
 </li>
 </ul>
 <a name="TEST_HFILE">
@@ -309,7 +334,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_HFILE</h4>
-<pre>protected 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/snapshot/TestRestoreSnapshotHelper.html#line.65">TEST_HFILE</a></pre>
+<pre>protected 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/snapshot/TestRestoreSnapshotHelper.html#line.75">TEST_HFILE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a 
href="../../../../../constant-values.html#org.apache.hadoop.hbase.snapshot.TestRestoreSnapshotHelper.TEST_HFILE">Constant
 Field Values</a></dd>
@@ -322,7 +347,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>conf</h4>
-<pre>protected&nbsp;org.apache.hadoop.conf.Configuration <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.67">conf</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.conf.Configuration <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.77">conf</a></pre>
 </li>
 </ul>
 <a name="archiveDir">
@@ -331,7 +356,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>archiveDir</h4>
-<pre>protected&nbsp;org.apache.hadoop.fs.Path <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.68">archiveDir</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.fs.Path <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.78">archiveDir</a></pre>
 </li>
 </ul>
 <a name="fs">
@@ -340,7 +365,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>fs</h4>
-<pre>protected&nbsp;org.apache.hadoop.fs.FileSystem <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.69">fs</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.fs.FileSystem <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.79">fs</a></pre>
 </li>
 </ul>
 <a name="rootDir">
@@ -349,7 +374,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rootDir</h4>
-<pre>protected&nbsp;org.apache.hadoop.fs.Path <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.70">rootDir</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.fs.Path <a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.80">rootDir</a></pre>
 </li>
 </ul>
 </li>
@@ -366,7 +391,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestRestoreSnapshotHelper</h4>
-<pre>public&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.56">TestRestoreSnapshotHelper</a>()</pre>
+<pre>public&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.66">TestRestoreSnapshotHelper</a>()</pre>
 </li>
 </ul>
 </li>
@@ -383,7 +408,35 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setupConf</h4>
-<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.72">setupConf</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.82">setupConf</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+</li>
+</ul>
+<a name="setupCluster--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setupCluster</h4>
+<pre>public static&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.86">setupCluster</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="tearDownCluster--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tearDownCluster</h4>
+<pre>public static&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.91">tearDownCluster</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="setup--">
@@ -392,7 +445,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setup</h4>
-<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.76">setup</a>()
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.96">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>
@@ -406,7 +459,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>tearDown</h4>
-<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.86">tearDown</a>()
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.106">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>
@@ -420,7 +473,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createSnapshotMock</h4>
-<pre>protected&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.SnapshotMock.html"
 title="class in 
org.apache.hadoop.hbase.snapshot">SnapshotTestingUtils.SnapshotMock</a>&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.90">createSnapshotMock</a>()
+<pre>protected&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.SnapshotMock.html"
 title="class in 
org.apache.hadoop.hbase.snapshot">SnapshotTestingUtils.SnapshotMock</a>&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.110">createSnapshotMock</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>
@@ -434,7 +487,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testRestore</h4>
-<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.95">testRestore</a>()
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.115">testRestore</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>
@@ -448,7 +501,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testRestoreWithNamespace</h4>
-<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.100">testRestoreWithNamespace</a>()
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.120">testRestoreWithNamespace</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>
@@ -456,13 +509,70 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </dl>
 </li>
 </ul>
+<a name="testNoHFileLinkInRootDir--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testNoHFileLinkInRootDir</h4>
+<pre>public&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.125">testNoHFileLinkInRootDir</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="createTableAndSnapshot-org.apache.hadoop.hbase.TableName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createTableAndSnapshot</h4>
+<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.139">createTableAndSnapshot</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
+                                      <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>&nbsp;snapshotName)
+                               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="checkNoHFileLinkInTableDir-org.apache.hadoop.hbase.TableName-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checkNoHFileLinkInTableDir</h4>
+<pre>private&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.147">checkNoHFileLinkInTableDir</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
+                                 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="hasHFileLink-org.apache.hadoop.fs.Path-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasHFileLink</h4>
+<pre>private&nbsp;boolean&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.156">hasHFileLink</a>(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="restoreAndVerify-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreAndVerify</h4>
-<pre>private&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.104">restoreAndVerify</a>(<a
 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>&nbsp;snapshotName,
+<pre>private&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.169">restoreAndVerify</a>(<a
 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>&nbsp;snapshotName,
                               <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>&nbsp;tableName)
                        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>
@@ -477,7 +587,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyRestore</h4>
-<pre>private&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.133">verifyRestore</a>(org.apache.hadoop.fs.Path&nbsp;rootDir,
+<pre>private&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.198">verifyRestore</a>(org.apache.hadoop.fs.Path&nbsp;rootDir,
                            
org.apache.hadoop.hbase.client.TableDescriptor&nbsp;sourceHtd,
                            
org.apache.hadoop.hbase.client.TableDescriptor&nbsp;htdClone)
                     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>
@@ -493,7 +603,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testRestore</h4>
-<pre>private&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.157">testRestore</a>(org.apache.hadoop.fs.Path&nbsp;snapshotDir,
+<pre>private&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.222">testRestore</a>(org.apache.hadoop.fs.Path&nbsp;snapshotDir,
                          
org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription&nbsp;sd,
                          
org.apache.hadoop.hbase.client.TableDescriptor&nbsp;htdClone)
                   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>
@@ -514,7 +624,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getRestoreHelper</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper&nbsp;<a
 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.173">getRestoreHelper</a>(org.apache.hadoop.fs.Path&nbsp;rootDir,
+<pre>private&nbsp;org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper&nbsp;<a
 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.238">getRestoreHelper</a>(org.apache.hadoop.fs.Path&nbsp;rootDir,
                                                                                
 org.apache.hadoop.fs.Path&nbsp;snapshotDir,
                                                                                
 
org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription&nbsp;sd,
                                                                                
 org.apache.hadoop.hbase.client.TableDescriptor&nbsp;htdClone)
@@ -532,7 +642,7 @@ extends <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getReferredToFile</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.Path&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.183">getReferredToFile</a>(<a
 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>&nbsp;referenceName)</pre>
+<pre>private&nbsp;org.apache.hadoop.fs.Path&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html#line.248">getReferredToFile</a>(<a
 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a>&nbsp;referenceName)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/545640e1/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 4d297af..ec4ec49 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
@@ -253,10 +253,10 @@
 <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/IntegrationTestLoadAndVerify.Counters.html"
 title="enum in org.apache.hadoop.hbase.test"><span 
class="typeNameLink">IntegrationTestLoadAndVerify.Counters</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/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/IntegrationTestLoadAndVerify.Counters.html"
 title="enum in org.apache.hadoop.hbase.test"><span 
class="typeNameLink">IntegrationTestLoadAndVerify.Counters</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/545640e1/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..2981b5a 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -147,8 +147,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.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/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/TestWALSplit.Corruptions.html" 
title="enum in org.apache.hadoop.hbase.wal"><span 
class="typeNameLink">TestWALSplit.Corruptions</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/545640e1/testdevapidocs/src-html/org/apache/hadoop/hbase/snapshot/TestMobRestoreSnapshotHelper.html
----------------------------------------------------------------------
diff --git 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/snapshot/TestMobRestoreSnapshotHelper.html
 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/snapshot/TestMobRestoreSnapshotHelper.html
index 4a73374..07844a3 100644
--- 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/snapshot/TestMobRestoreSnapshotHelper.html
+++ 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/snapshot/TestMobRestoreSnapshotHelper.html
@@ -28,36 +28,48 @@
 <span class="sourceLineNo">020</span>import java.io.IOException;<a 
name="line.20"></a>
 <span class="sourceLineNo">021</span>import 
org.apache.hadoop.conf.Configuration;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import 
org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import 
org.apache.hadoop.hbase.mob.MobConstants;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import 
org.apache.hadoop.hbase.snapshot.MobSnapshotTestingUtils.SnapshotMock;<a 
name="line.24"></a>
-<span class="sourceLineNo">025</span>import 
org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.junit.ClassRule;<a 
name="line.26"></a>
-<span class="sourceLineNo">027</span>import 
org.junit.experimental.categories.Category;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.slf4j.Logger;<a 
name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.slf4j.LoggerFactory;<a 
name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * Test the restore/clone operation from 
a file-system point of view.<a name="line.32"></a>
-<span class="sourceLineNo">033</span> */<a name="line.33"></a>
-<span class="sourceLineNo">034</span>@Category(SmallTests.class)<a 
name="line.34"></a>
-<span class="sourceLineNo">035</span>public class TestMobRestoreSnapshotHelper 
extends TestRestoreSnapshotHelper {<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>  @ClassRule<a name="line.37"></a>
-<span class="sourceLineNo">038</span>  public static final HBaseClassTestRule 
CLASS_RULE =<a name="line.38"></a>
-<span class="sourceLineNo">039</span>      
HBaseClassTestRule.forClass(TestMobRestoreSnapshotHelper.class);<a 
name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>  final Logger LOG = 
LoggerFactory.getLogger(getClass());<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>  @Override<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  protected void setupConf(Configuration 
conf) {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    
conf.setInt(MobConstants.MOB_FILE_CACHE_SIZE_KEY, 0);<a name="line.45"></a>
-<span class="sourceLineNo">046</span>  }<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>  @Override<a name="line.48"></a>
-<span class="sourceLineNo">049</span>  protected SnapshotMock 
createSnapshotMock() throws IOException {<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    return new 
SnapshotMock(TEST_UTIL.getConfiguration(), fs, rootDir);<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  }<a name="line.51"></a>
-<span class="sourceLineNo">052</span>}<a name="line.52"></a>
+<span class="sourceLineNo">023</span>import 
org.apache.hadoop.hbase.TableName;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import 
org.apache.hadoop.hbase.client.Table;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import 
org.apache.hadoop.hbase.mob.MobConstants;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import 
org.apache.hadoop.hbase.snapshot.MobSnapshotTestingUtils.SnapshotMock;<a 
name="line.26"></a>
+<span class="sourceLineNo">027</span>import 
org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import 
org.apache.hadoop.hbase.util.Bytes;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.junit.ClassRule;<a 
name="line.29"></a>
+<span class="sourceLineNo">030</span>import 
org.junit.experimental.categories.Category;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.slf4j.Logger;<a 
name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.slf4j.LoggerFactory;<a 
name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>/**<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * Test the restore/clone operation from 
a file-system point of view.<a name="line.35"></a>
+<span class="sourceLineNo">036</span> */<a name="line.36"></a>
+<span class="sourceLineNo">037</span>@Category(MediumTests.class)<a 
name="line.37"></a>
+<span class="sourceLineNo">038</span>public class TestMobRestoreSnapshotHelper 
extends TestRestoreSnapshotHelper {<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>  @ClassRule<a name="line.40"></a>
+<span class="sourceLineNo">041</span>  public static final HBaseClassTestRule 
CLASS_RULE =<a name="line.41"></a>
+<span class="sourceLineNo">042</span>      
HBaseClassTestRule.forClass(TestMobRestoreSnapshotHelper.class);<a 
name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>  final Logger LOG = 
LoggerFactory.getLogger(getClass());<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>  @Override<a name="line.46"></a>
+<span class="sourceLineNo">047</span>  protected void setupConf(Configuration 
conf) {<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    
conf.setInt(MobConstants.MOB_FILE_CACHE_SIZE_KEY, 0);<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  }<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  @Override<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  protected SnapshotMock 
createSnapshotMock() throws IOException {<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    return new 
SnapshotMock(TEST_UTIL.getConfiguration(), fs, rootDir);<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  }<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  @Override<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  protected void 
createTableAndSnapshot(TableName tableName, String snapshotName)<a 
name="line.57"></a>
+<span class="sourceLineNo">058</span>      throws IOException {<a 
name="line.58"></a>
+<span class="sourceLineNo">059</span>    byte[] column = Bytes.toBytes("A");<a 
name="line.59"></a>
+<span class="sourceLineNo">060</span>    Table table = 
MobSnapshotTestingUtils.createMobTable(TEST_UTIL, tableName, column);<a 
name="line.60"></a>
+<span class="sourceLineNo">061</span>    TEST_UTIL.loadTable(table, column);<a 
name="line.61"></a>
+<span class="sourceLineNo">062</span>    
TEST_UTIL.getAdmin().snapshot(snapshotName, tableName);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  }<a name="line.63"></a>
+<span class="sourceLineNo">064</span>}<a name="line.64"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/545640e1/testdevapidocs/src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html
----------------------------------------------------------------------
diff --git 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html
 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html
index 59c4e5e..3560b81 100644
--- 
a/testdevapidocs/src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html
+++ 
b/testdevapidocs/src-html/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.html
@@ -32,167 +32,232 @@
 <span class="sourceLineNo">024</span>import java.util.List;<a 
name="line.24"></a>
 <span class="sourceLineNo">025</span>import 
org.apache.hadoop.conf.Configuration;<a name="line.25"></a>
 <span class="sourceLineNo">026</span>import org.apache.hadoop.fs.FileSystem;<a 
name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.fs.Path;<a 
name="line.27"></a>
-<span class="sourceLineNo">028</span>import 
org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import 
org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import 
org.apache.hadoop.hbase.HConstants;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import 
org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import 
org.apache.hadoop.hbase.errorhandling.ForeignExceptionDispatcher;<a 
name="line.32"></a>
-<span class="sourceLineNo">033</span>import 
org.apache.hadoop.hbase.io.HFileLink;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import 
org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import 
org.apache.hadoop.hbase.regionserver.StoreFileInfo;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import 
org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils.SnapshotMock;<a 
name="line.36"></a>
-<span class="sourceLineNo">037</span>import 
org.apache.hadoop.hbase.testclassification.RegionServerTests;<a 
name="line.37"></a>
-<span class="sourceLineNo">038</span>import 
org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import 
org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import 
org.apache.hadoop.hbase.util.FSUtils;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.junit.After;<a 
name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.junit.Before;<a 
name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.junit.ClassRule;<a 
name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.junit.Test;<a 
name="line.44"></a>
-<span class="sourceLineNo">045</span>import 
org.junit.experimental.categories.Category;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.mockito.Mockito;<a 
name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.slf4j.Logger;<a 
name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.slf4j.LoggerFactory;<a 
name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>import 
org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a
 name="line.50"></a>
-<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span>/**<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * Test the restore/clone operation from 
a file-system point of view.<a name="line.53"></a>
-<span class="sourceLineNo">054</span> */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>@Category({RegionServerTests.class, 
SmallTests.class})<a name="line.55"></a>
-<span class="sourceLineNo">056</span>public class TestRestoreSnapshotHelper 
{<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  @ClassRule<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public static final HBaseClassTestRule 
CLASS_RULE =<a name="line.59"></a>
-<span class="sourceLineNo">060</span>      
HBaseClassTestRule.forClass(TestRestoreSnapshotHelper.class);<a 
name="line.60"></a>
+<span class="sourceLineNo">027</span>import 
org.apache.hadoop.fs.LocatedFileStatus;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.fs.Path;<a 
name="line.28"></a>
+<span class="sourceLineNo">029</span>import 
org.apache.hadoop.fs.RemoteIterator;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import 
org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import 
org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import 
org.apache.hadoop.hbase.HConstants;<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.client.Table;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import 
org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import 
org.apache.hadoop.hbase.errorhandling.ForeignExceptionDispatcher;<a 
name="line.36"></a>
+<span class="sourceLineNo">037</span>import 
org.apache.hadoop.hbase.io.HFileLink;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import 
org.apache.hadoop.hbase.mob.MobUtils;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import 
org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import 
org.apache.hadoop.hbase.regionserver.StoreFileInfo;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import 
org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils.SnapshotMock;<a 
name="line.41"></a>
+<span class="sourceLineNo">042</span>import 
org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import 
org.apache.hadoop.hbase.testclassification.RegionServerTests;<a 
name="line.43"></a>
+<span class="sourceLineNo">044</span>import 
org.apache.hadoop.hbase.util.Bytes;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import 
org.apache.hadoop.hbase.util.CommonFSUtils;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import 
org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import 
org.apache.hadoop.hbase.util.FSUtils;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.junit.After;<a 
name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.junit.AfterClass;<a 
name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.junit.Assert;<a 
name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.junit.Before;<a 
name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.junit.BeforeClass;<a 
name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.junit.ClassRule;<a 
name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.junit.Test;<a 
name="line.54"></a>
+<span class="sourceLineNo">055</span>import 
org.junit.experimental.categories.Category;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.mockito.Mockito;<a 
name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.slf4j.Logger;<a 
name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.slf4j.LoggerFactory;<a 
name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>import 
org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a
 name="line.60"></a>
 <span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span>  private static final Logger LOG = 
LoggerFactory.getLogger(TestRestoreSnapshotHelper.class);<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>  protected final static 
HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  protected final static String 
TEST_HFILE = "abc";<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>  protected Configuration conf;<a 
name="line.67"></a>
-<span class="sourceLineNo">068</span>  protected Path archiveDir;<a 
name="line.68"></a>
-<span class="sourceLineNo">069</span>  protected FileSystem fs;<a 
name="line.69"></a>
-<span class="sourceLineNo">070</span>  protected Path rootDir;<a 
name="line.70"></a>
+<span class="sourceLineNo">062</span>/**<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * Test the restore/clone operation from 
a file-system point of view.<a name="line.63"></a>
+<span class="sourceLineNo">064</span> */<a name="line.64"></a>
+<span class="sourceLineNo">065</span>@Category({RegionServerTests.class, 
MediumTests.class})<a name="line.65"></a>
+<span class="sourceLineNo">066</span>public class TestRestoreSnapshotHelper 
{<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  @ClassRule<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public static final HBaseClassTestRule 
CLASS_RULE =<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      
HBaseClassTestRule.forClass(TestRestoreSnapshotHelper.class);<a 
name="line.70"></a>
 <span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>  protected void setupConf(Configuration 
conf) {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  }<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  @Before<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public void setup() throws Exception 
{<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    rootDir = 
TEST_UTIL.getDataTestDir("testRestore");<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    archiveDir = new Path(rootDir, 
HConstants.HFILE_ARCHIVE_DIRECTORY);<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    fs = TEST_UTIL.getTestFileSystem();<a 
name="line.79"></a>
-<span class="sourceLineNo">080</span>    conf = 
TEST_UTIL.getConfiguration();<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    setupConf(conf);<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    FSUtils.setRootDir(conf, rootDir);<a 
name="line.82"></a>
+<span class="sourceLineNo">072</span>  private static final Logger LOG = 
LoggerFactory.getLogger(TestRestoreSnapshotHelper.class);<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  protected final static 
HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  protected final static String 
TEST_HFILE = "abc";<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>  protected Configuration conf;<a 
name="line.77"></a>
+<span class="sourceLineNo">078</span>  protected Path archiveDir;<a 
name="line.78"></a>
+<span class="sourceLineNo">079</span>  protected FileSystem fs;<a 
name="line.79"></a>
+<span class="sourceLineNo">080</span>  protected Path rootDir;<a 
name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>  protected void setupConf(Configuration 
conf) {<a name="line.82"></a>
 <span class="sourceLineNo">083</span>  }<a name="line.83"></a>
 <span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  @After<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public void tearDown() throws Exception 
{<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    fs.delete(TEST_UTIL.getDataTestDir(), 
true);<a name="line.87"></a>
+<span class="sourceLineNo">085</span>  @BeforeClass<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  public static void setupCluster() 
throws Exception {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    TEST_UTIL.startMiniCluster();<a 
name="line.87"></a>
 <span class="sourceLineNo">088</span>  }<a name="line.88"></a>
 <span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  protected SnapshotMock 
createSnapshotMock() throws IOException {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    return new 
SnapshotMock(TEST_UTIL.getConfiguration(), fs, rootDir);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  @Test<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  public void testRestore() throws 
IOException {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    restoreAndVerify("snapshot", 
"testRestore");<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  }<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  @Test<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public void testRestoreWithNamespace() 
throws IOException {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    restoreAndVerify("snapshot", 
"namespace1:testRestoreWithNamespace");<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>  private void restoreAndVerify(final 
String snapshotName, final String tableName) throws IOException {<a 
name="line.104"></a>
-<span class="sourceLineNo">105</span>    // Test Rolling-Upgrade like 
Snapshot.<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // half machines writing using v1 and 
the others using v2 format.<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    SnapshotMock snapshotMock = 
createSnapshotMock();<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    SnapshotMock.SnapshotBuilder builder 
= snapshotMock.createSnapshotV2("snapshot", tableName);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    builder.addRegionV1();<a 
name="line.109"></a>
-<span class="sourceLineNo">110</span>    builder.addRegionV2();<a 
name="line.110"></a>
-<span class="sourceLineNo">111</span>    builder.addRegionV2();<a 
name="line.111"></a>
-<span class="sourceLineNo">112</span>    builder.addRegionV1();<a 
name="line.112"></a>
-<span class="sourceLineNo">113</span>    Path snapshotDir = 
builder.commit();<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    TableDescriptor htd = 
builder.getTableDescriptor();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    SnapshotDescription desc = 
builder.getSnapshotDescription();<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>    // Test clone a snapshot<a 
name="line.117"></a>
-<span class="sourceLineNo">118</span>    TableDescriptor htdClone = 
snapshotMock.createHtd("testtb-clone");<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    testRestore(snapshotDir, desc, 
htdClone);<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    verifyRestore(rootDir, htd, 
htdClone);<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>    // Test clone a clone ("link to 
link")<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    SnapshotDescription cloneDesc = 
SnapshotDescription.newBuilder()<a name="line.123"></a>
-<span class="sourceLineNo">124</span>        .setName("cloneSnapshot")<a 
name="line.124"></a>
-<span class="sourceLineNo">125</span>        .setTable("testtb-clone")<a 
name="line.125"></a>
-<span class="sourceLineNo">126</span>        .build();<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    Path cloneDir = 
FSUtils.getTableDir(rootDir, htdClone.getTableName());<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    TableDescriptor htdClone2 = 
snapshotMock.createHtd("testtb-clone2");<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    testRestore(cloneDir, cloneDesc, 
htdClone2);<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    verifyRestore(rootDir, htd, 
htdClone2);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  }<a name="line.131"></a>
-<span class="sourceLineNo">132</span><a name="line.132"></a>
-<span class="sourceLineNo">133</span>  private void verifyRestore(final Path 
rootDir, final TableDescriptor sourceHtd,<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      final TableDescriptor htdClone) 
throws IOException {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    List&lt;String&gt; files = 
SnapshotTestingUtils.listHFileNames(fs,<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      FSUtils.getTableDir(rootDir, 
htdClone.getTableName()));<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    assertEquals(12, files.size());<a 
name="line.137"></a>
-<span class="sourceLineNo">138</span>    for (int i = 0; i &lt; files.size(); 
i += 2) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      String linkFile = files.get(i);<a 
name="line.139"></a>
-<span class="sourceLineNo">140</span>      String refFile = files.get(i+1);<a 
name="line.140"></a>
-<span class="sourceLineNo">141</span>      assertTrue(linkFile + " should be a 
HFileLink", HFileLink.isHFileLink(linkFile));<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      assertTrue(refFile + " should be a 
Referene", StoreFileInfo.isReference(refFile));<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      
assertEquals(sourceHtd.getTableName(), 
HFileLink.getReferencedTableName(linkFile));<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      Path refPath = 
getReferredToFile(refFile);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      LOG.debug("get reference name for 
file " + refFile + " = " + refPath);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      assertTrue(refPath.getName() + " 
should be a HFileLink", HFileLink.isHFileLink(refPath.getName()));<a 
name="line.146"></a>
-<span class="sourceLineNo">147</span>      assertEquals(linkFile, 
refPath.getName());<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>  /**<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Execute the restore operation<a 
name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @param snapshotDir The snapshot 
directory to use as "restore source"<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * @param sd The snapshot descriptor<a 
name="line.154"></a>
-<span class="sourceLineNo">155</span>   * @param htdClone The HTableDescriptor 
of the table to restore/clone.<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  private void testRestore(final Path 
snapshotDir, final SnapshotDescription sd,<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      final TableDescriptor htdClone) 
throws IOException {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    LOG.debug("pre-restore table=" + 
htdClone.getTableName() + " snapshot=" + snapshotDir);<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    FSUtils.logFileSystemState(fs, 
rootDir, LOG);<a name="line.160"></a>
-<span class="sourceLineNo">161</span><a name="line.161"></a>
-<span class="sourceLineNo">162</span>    new 
FSTableDescriptors(conf).createTableDescriptor(htdClone);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    RestoreSnapshotHelper helper = 
getRestoreHelper(rootDir, snapshotDir, sd, htdClone);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    helper.restoreHdfsRegions();<a 
name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>    LOG.debug("post-restore table=" + 
htdClone.getTableName() + " snapshot=" + snapshotDir);<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    FSUtils.logFileSystemState(fs, 
rootDir, LOG);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>  }<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>  /**<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   * Initialize the restore helper, based 
on the snapshot and table information provided.<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   */<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  private RestoreSnapshotHelper 
getRestoreHelper(final Path rootDir, final Path snapshotDir,<a 
name="line.173"></a>
-<span class="sourceLineNo">174</span>      final SnapshotDescription sd, final 
TableDescriptor htdClone) throws IOException {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    ForeignExceptionDispatcher monitor = 
Mockito.mock(ForeignExceptionDispatcher.class);<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    MonitoredTask status = 
Mockito.mock(MonitoredTask.class);<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>    SnapshotManifest manifest = 
SnapshotManifest.open(conf, fs, snapshotDir, sd);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    return new 
RestoreSnapshotHelper(conf, fs, manifest,<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      htdClone, rootDir, monitor, 
status);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  private Path getReferredToFile(final 
String referenceName) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    Path fakeBasePath = new Path(new 
Path("table", "region"), "cf");<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    return 
StoreFileInfo.getReferredToFile(new Path(fakeBasePath, referenceName));<a 
name="line.185"></a>
-<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
-<span class="sourceLineNo">187</span>}<a name="line.187"></a>
+<span class="sourceLineNo">090</span>  @AfterClass<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  public static void tearDownCluster() 
throws Exception {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    TEST_UTIL.shutdownMiniCluster();<a 
name="line.92"></a>
+<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  @Before<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  public void setup() throws Exception 
{<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    rootDir = 
TEST_UTIL.getDataTestDir("testRestore");<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    archiveDir = new Path(rootDir, 
HConstants.HFILE_ARCHIVE_DIRECTORY);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    fs = TEST_UTIL.getTestFileSystem();<a 
name="line.99"></a>
+<span class="sourceLineNo">100</span>    conf = 
TEST_UTIL.getConfiguration();<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    setupConf(conf);<a 
name="line.101"></a>
+<span class="sourceLineNo">102</span>    FSUtils.setRootDir(conf, rootDir);<a 
name="line.102"></a>
+<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>  @After<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  public void tearDown() throws Exception 
{<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    fs.delete(TEST_UTIL.getDataTestDir(), 
true);<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  protected SnapshotMock 
createSnapshotMock() throws IOException {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    return new 
SnapshotMock(TEST_UTIL.getConfiguration(), fs, rootDir);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  @Test<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public void testRestore() throws 
IOException {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    restoreAndVerify("snapshot", 
"testRestore");<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  @Test<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  public void testRestoreWithNamespace() 
throws IOException {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    restoreAndVerify("snapshot", 
"namespace1:testRestoreWithNamespace");<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  }<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>  @Test<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  public void testNoHFileLinkInRootDir() 
throws IOException {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    rootDir = 
TEST_UTIL.getDefaultRootDirPath();<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    FSUtils.setRootDir(conf, rootDir);<a 
name="line.127"></a>
+<span class="sourceLineNo">128</span>    fs = rootDir.getFileSystem(conf);<a 
name="line.128"></a>
+<span class="sourceLineNo">129</span><a name="line.129"></a>
+<span class="sourceLineNo">130</span>    TableName tableName = 
TableName.valueOf("testNoHFileLinkInRootDir");<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    String snapshotName = 
tableName.getNameAsString() + "-snapshot";<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    createTableAndSnapshot(tableName, 
snapshotName);<a name="line.132"></a>
+<span class="sourceLineNo">133</span><a name="line.133"></a>
+<span class="sourceLineNo">134</span>    Path restoreDir = new 
Path("/hbase/.tmp-restore");<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    
RestoreSnapshotHelper.copySnapshotForScanner(conf, fs, rootDir, restoreDir, 
snapshotName);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    
checkNoHFileLinkInTableDir(tableName);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  }<a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>  protected void 
createTableAndSnapshot(TableName tableName, String snapshotName)<a 
name="line.139"></a>
+<span class="sourceLineNo">140</span>      throws IOException {<a 
name="line.140"></a>
+<span class="sourceLineNo">141</span>    byte[] column = Bytes.toBytes("A");<a 
name="line.141"></a>
+<span class="sourceLineNo">142</span>    Table table = 
TEST_UTIL.createTable(tableName, column, 2);<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    TEST_UTIL.loadTable(table, column);<a 
name="line.143"></a>
+<span class="sourceLineNo">144</span>    
TEST_UTIL.getAdmin().snapshot(snapshotName, tableName);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>  private void 
checkNoHFileLinkInTableDir(TableName tableName) throws IOException {<a 
name="line.147"></a>
+<span class="sourceLineNo">148</span>    Path[] tableDirs = new Path[] { 
CommonFSUtils.getTableDir(rootDir, tableName),<a name="line.148"></a>
+<span class="sourceLineNo">149</span>        CommonFSUtils.getTableDir(new 
Path(rootDir, HConstants.HFILE_ARCHIVE_DIRECTORY), tableName),<a 
name="line.149"></a>
+<span class="sourceLineNo">150</span>        
CommonFSUtils.getTableDir(MobUtils.getMobHome(rootDir), tableName) };<a 
name="line.150"></a>
+<span class="sourceLineNo">151</span>    for (Path tableDir : tableDirs) {<a 
name="line.151"></a>
+<span class="sourceLineNo">152</span>      
Assert.assertFalse(hasHFileLink(tableDir));<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span>  private boolean hasHFileLink(Path 
tableDir) throws IOException {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    if (fs.exists(tableDir)) {<a 
name="line.157"></a>
+<span class="sourceLineNo">158</span>      
RemoteIterator&lt;LocatedFileStatus&gt; iterator = fs.listFiles(tableDir, 
true);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      while (iterator.hasNext()) {<a 
name="line.159"></a>
+<span class="sourceLineNo">160</span>        LocatedFileStatus fileStatus = 
iterator.next();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        if (fileStatus.isFile() 
&amp;&amp; HFileLink.isHFileLink(fileStatus.getPath())) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>          return true;<a 
name="line.162"></a>
+<span class="sourceLineNo">163</span>        }<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      }<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    return false;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  }<a name="line.167"></a>
+<span class="sourceLineNo">168</span><a name="line.168"></a>
+<span class="sourceLineNo">169</span>  private void restoreAndVerify(final 
String snapshotName, final String tableName) throws IOException {<a 
name="line.169"></a>
+<span class="sourceLineNo">170</span>    // Test Rolling-Upgrade like 
Snapshot.<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    // half machines writing using v1 and 
the others using v2 format.<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    SnapshotMock snapshotMock = 
createSnapshotMock();<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    SnapshotMock.SnapshotBuilder builder 
= snapshotMock.createSnapshotV2("snapshot", tableName);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    builder.addRegionV1();<a 
name="line.174"></a>
+<span class="sourceLineNo">175</span>    builder.addRegionV2();<a 
name="line.175"></a>
+<span class="sourceLineNo">176</span>    builder.addRegionV2();<a 
name="line.176"></a>
+<span class="sourceLineNo">177</span>    builder.addRegionV1();<a 
name="line.177"></a>
+<span class="sourceLineNo">178</span>    Path snapshotDir = 
builder.commit();<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    TableDescriptor htd = 
builder.getTableDescriptor();<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    SnapshotDescription desc = 
builder.getSnapshotDescription();<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>    // Test clone a snapshot<a 
name="line.182"></a>
+<span class="sourceLineNo">183</span>    TableDescriptor htdClone = 
snapshotMock.createHtd("testtb-clone");<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    testRestore(snapshotDir, desc, 
htdClone);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    verifyRestore(rootDir, htd, 
htdClone);<a name="line.185"></a>
+<span class="sourceLineNo">186</span><a name="line.186"></a>
+<span class="sourceLineNo">187</span>    // Test clone a clone ("link to 
link")<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    SnapshotDescription cloneDesc = 
SnapshotDescription.newBuilder()<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        .setName("cloneSnapshot")<a 
name="line.189"></a>
+<span class="sourceLineNo">190</span>        .setTable("testtb-clone")<a 
name="line.190"></a>
+<span class="sourceLineNo">191</span>        .build();<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    Path cloneDir = 
FSUtils.getTableDir(rootDir, htdClone.getTableName());<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    TableDescriptor htdClone2 = 
snapshotMock.createHtd("testtb-clone2");<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    testRestore(cloneDir, cloneDesc, 
htdClone2);<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    verifyRestore(rootDir, htd, 
htdClone2);<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  }<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>  private void verifyRestore(final Path 
rootDir, final TableDescriptor sourceHtd,<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      final TableDescriptor htdClone) 
throws IOException {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    List&lt;String&gt; files = 
SnapshotTestingUtils.listHFileNames(fs,<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      FSUtils.getTableDir(rootDir, 
htdClone.getTableName()));<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    assertEquals(12, files.size());<a 
name="line.202"></a>
+<span class="sourceLineNo">203</span>    for (int i = 0; i &lt; files.size(); 
i += 2) {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      String linkFile = files.get(i);<a 
name="line.204"></a>
+<span class="sourceLineNo">205</span>      String refFile = files.get(i+1);<a 
name="line.205"></a>
+<span class="sourceLineNo">206</span>      assertTrue(linkFile + " should be a 
HFileLink", HFileLink.isHFileLink(linkFile));<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      assertTrue(refFile + " should be a 
Referene", StoreFileInfo.isReference(refFile));<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      
assertEquals(sourceHtd.getTableName(), 
HFileLink.getReferencedTableName(linkFile));<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      Path refPath = 
getReferredToFile(refFile);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      LOG.debug("get reference name for 
file " + refFile + " = " + refPath);<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      assertTrue(refPath.getName() + " 
should be a HFileLink", HFileLink.isHFileLink(refPath.getName()));<a 
name="line.211"></a>
+<span class="sourceLineNo">212</span>      assertEquals(linkFile, 
refPath.getName());<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    }<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>  /**<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Execute the restore operation<a 
name="line.217"></a>
+<span class="sourceLineNo">218</span>   * @param snapshotDir The snapshot 
directory to use as "restore source"<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   * @param sd The snapshot descriptor<a 
name="line.219"></a>
+<span class="sourceLineNo">220</span>   * @param htdClone The HTableDescriptor 
of the table to restore/clone.<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   */<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  private void testRestore(final Path 
snapshotDir, final SnapshotDescription sd,<a name="line.222"></a>
+<span class="sourceLineNo">223</span>      final TableDescriptor htdClone) 
throws IOException {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    LOG.debug("pre-restore table=" + 
htdClone.getTableName() + " snapshot=" + snapshotDir);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    FSUtils.logFileSystemState(fs, 
rootDir, LOG);<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>    new 
FSTableDescriptors(conf).createTableDescriptor(htdClone);<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    RestoreSnapshotHelper helper = 
getRestoreHelper(rootDir, snapshotDir, sd, htdClone);<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    helper.restoreHdfsRegions();<a 
name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>    LOG.debug("post-restore table=" + 
htdClone.getTableName() + " snapshot=" + snapshotDir);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    FSUtils.logFileSystemState(fs, 
rootDir, LOG);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
+<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * Initialize the restore helper, based 
on the snapshot and table information provided.<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   */<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  private RestoreSnapshotHelper 
getRestoreHelper(final Path rootDir, final Path snapshotDir,<a 
name="line.238"></a>
+<span class="sourceLineNo">239</span>      final SnapshotDescription sd, final 
TableDescriptor htdClone) throws IOException {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    ForeignExceptionDispatcher monitor = 
Mockito.mock(ForeignExceptionDispatcher.class);<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    MonitoredTask status = 
Mockito.mock(MonitoredTask.class);<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>    SnapshotManifest manifest = 
SnapshotManifest.open(conf, fs, snapshotDir, sd);<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    return new 
RestoreSnapshotHelper(conf, fs, manifest,<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      htdClone, rootDir, monitor, 
status);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  }<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>  private Path getReferredToFile(final 
String referenceName) {<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    Path fakeBasePath = new Path(new 
Path("table", "region"), "cf");<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    return 
StoreFileInfo.getReferredToFile(new Path(fakeBasePath, referenceName));<a 
name="line.250"></a>
+<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
+<span class="sourceLineNo">252</span>}<a name="line.252"></a>
 
 
 

Reply via email to