You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2018/08/16 14:48:52 UTC

[50/51] [partial] hbase-site git commit: Published site at 092efb42749bf7fc6ad338c96aae8e7b9d3a2c74.

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f3d62514/apidocs/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html b/apidocs/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html
index 8fd675f..2950fc7 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.47">TsvImporterMapper</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.49">TsvImporterMapper</a>
 extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.Text,<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;</pre>
 <div class="block">Write table content out to files in hdfs.</div>
 </li>
@@ -272,7 +272,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>ts</h4>
-<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.52">ts</a></pre>
+<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.54">ts</a></pre>
 <div class="block">Timestamp for all inserted rows</div>
 </li>
 </ul>
@@ -282,7 +282,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>parser</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.mapreduce.ImportTsv.TsvParser <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.64">parser</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.mapreduce.ImportTsv.TsvParser <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.66">parser</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -291,7 +291,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <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/mapreduce/TsvImporterMapper.html#line.66">conf</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.68">conf</a></pre>
 </li>
 </ul>
 <a name="cellVisibilityExpr">
@@ -300,7 +300,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>cellVisibilityExpr</h4>
-<pre>protected&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/mapreduce/TsvImporterMapper.html#line.68">cellVisibilityExpr</a></pre>
+<pre>protected&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/mapreduce/TsvImporterMapper.html#line.70">cellVisibilityExpr</a></pre>
 </li>
 </ul>
 <a name="ttl">
@@ -309,7 +309,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>ttl</h4>
-<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.70">ttl</a></pre>
+<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.72">ttl</a></pre>
 </li>
 </ul>
 <a name="kvCreator">
@@ -318,7 +318,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockListLast">
 <li class="blockList">
 <h4>kvCreator</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCreator.html" title="class in org.apache.hadoop.hbase.mapreduce">CellCreator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.72">kvCreator</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCreator.html" title="class in org.apache.hadoop.hbase.mapreduce">CellCreator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.74">kvCreator</a></pre>
 </li>
 </ul>
 </li>
@@ -335,7 +335,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TsvImporterMapper</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.47">TsvImporterMapper</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.49">TsvImporterMapper</a>()</pre>
 </li>
 </ul>
 </li>
@@ -352,7 +352,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>getTs</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.79">getTs</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.81">getTs</a>()</pre>
 </li>
 </ul>
 <a name="getSkipBadLines--">
@@ -361,7 +361,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>getSkipBadLines</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.83">getSkipBadLines</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.85">getSkipBadLines</a>()</pre>
 </li>
 </ul>
 <a name="getBadLineCount--">
@@ -370,7 +370,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>getBadLineCount</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.Counter&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.87">getBadLineCount</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.mapreduce.Counter&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.89">getBadLineCount</a>()</pre>
 </li>
 </ul>
 <a name="incrementBadLineCount-int-">
@@ -379,7 +379,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementBadLineCount</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.91">incrementBadLineCount</a>(int&nbsp;count)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.93">incrementBadLineCount</a>(int&nbsp;count)</pre>
 </li>
 </ul>
 <a name="setup-org.apache.hadoop.mapreduce.Mapper.Context-">
@@ -388,7 +388,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>setup</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.104">setup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.106">setup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)</pre>
 <div class="block">Handles initializing this class with objects specific to it (i.e., the parser).
  Common initialization that might be leveraged by a subsclass is done in
  <code>doSetup</code>. Hence a subclass may choose to override this method
@@ -407,7 +407,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>doSetup</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.121">doSetup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.123">doSetup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)</pre>
 <div class="block">Handles common parameter initialization that a subclass might want to leverage.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -421,7 +421,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>map</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.149">map</a>(org.apache.hadoop.io.LongWritable&nbsp;offset,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.151">map</a>(org.apache.hadoop.io.LongWritable&nbsp;offset,
                 org.apache.hadoop.io.Text&nbsp;value,
                 org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
          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>
@@ -440,7 +440,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockListLast">
 <li class="blockList">
 <h4>populatePut</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.206">populatePut</a>(byte[]&nbsp;lineBytes,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#line.209">populatePut</a>(byte[]&nbsp;lineBytes,
                            org.apache.hadoop.hbase.mapreduce.ImportTsv.TsvParser.ParsedLine&nbsp;parsed,
                            <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
                            int&nbsp;i)

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f3d62514/apidocs/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html b/apidocs/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html
index 8b5b32b..6de80a0 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.36">TsvImporterTextMapper</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.38">TsvImporterTextMapper</a>
 extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.Text,<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,org.apache.hadoop.io.Text&gt;</pre>
 <div class="block">Write table content out to map output files.</div>
 </li>
@@ -220,7 +220,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TsvImporterTextMapper</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.36">TsvImporterTextMapper</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.38">TsvImporterTextMapper</a>()</pre>
 </li>
 </ul>
 </li>
@@ -237,7 +237,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>getSkipBadLines</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.50">getSkipBadLines</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.52">getSkipBadLines</a>()</pre>
 </li>
 </ul>
 <a name="getBadLineCount--">
@@ -246,7 +246,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>getBadLineCount</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.Counter&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.54">getBadLineCount</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.mapreduce.Counter&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.56">getBadLineCount</a>()</pre>
 </li>
 </ul>
 <a name="incrementBadLineCount-int-">
@@ -255,7 +255,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementBadLineCount</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.58">incrementBadLineCount</a>(int&nbsp;count)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.60">incrementBadLineCount</a>(int&nbsp;count)</pre>
 </li>
 </ul>
 <a name="setup-org.apache.hadoop.mapreduce.Mapper.Context-">
@@ -264,7 +264,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>setup</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.71">setup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.73">setup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)</pre>
 <div class="block">Handles initializing this class with objects specific to it (i.e., the parser).
  Common initialization that might be leveraged by a subclass is done in
  <code>doSetup</code>. Hence a subclass may choose to override this method
@@ -283,7 +283,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>doSetup</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.86">doSetup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.88">doSetup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)</pre>
 <div class="block">Handles common parameter initialization that a subclass might want to leverage.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -297,7 +297,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockListLast">
 <li class="blockList">
 <h4>map</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.107">map</a>(org.apache.hadoop.io.LongWritable&nbsp;offset,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.html#line.109">map</a>(org.apache.hadoop.io.LongWritable&nbsp;offset,
                 org.apache.hadoop.io.Text&nbsp;value,
                 org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
          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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f3d62514/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html b/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
index 0b077d2..ae2d067 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
@@ -397,7 +397,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createSubmittableJob</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.267">createSubmittableJob</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;args)
+<pre>public&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.269">createSubmittableJob</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;args)
                                                      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>
 <div class="block">Sets up the actual job.</div>
 <dl>
@@ -416,7 +416,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.382">main</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;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.384">main</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;args)
                  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>
 <div class="block">Main entry point.</div>
 <dl>
@@ -433,7 +433,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.388">run</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;args)
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.390">run</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;args)
         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="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f3d62514/apidocs/src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html b/apidocs/src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html
index 9aa09f0..6900b04 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html
@@ -306,159 +306,162 @@
 <span class="sourceLineNo">298</span>        LOG.info("Waiting on " + rst.getRegionServer().toString());<a name="line.298"></a>
 <span class="sourceLineNo">299</span>        rst.join();<a name="line.299"></a>
 <span class="sourceLineNo">300</span>      } catch (InterruptedException e) {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>        e.printStackTrace();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    }<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    regionThreads.remove(rst);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    return rst.getName();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * @return the HMaster thread<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   */<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  public HMaster getMaster(int serverNumber) {<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return masterThreads.get(serverNumber).getMaster();<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  /**<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   * Gets the current active master, if available.  If no active master, returns<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * null.<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   * @return the HMaster for the active master<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  public HMaster getActiveMaster() {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    for (JVMClusterUtil.MasterThread mt : masterThreads) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      // Ensure that the current active master is not stopped.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // We don't want to return a stopping master as an active master.<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      if (mt.getMaster().isActiveMaster()  &amp;&amp; !mt.getMaster().isStopped()) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>        return mt.getMaster();<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    }<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return null;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * @return Read-only list of master threads.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   */<a name="line.333"></a>
-<span class="sourceLineNo">334</span>  public List&lt;JVMClusterUtil.MasterThread&gt; getMasters() {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    return Collections.unmodifiableList(this.masterThreads);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>  /**<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @return List of running master servers (Some servers may have been killed<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * or aborted during lifetime of cluster; these servers are not included in<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * this list).<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  public List&lt;JVMClusterUtil.MasterThread&gt; getLiveMasters() {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    List&lt;JVMClusterUtil.MasterThread&gt; liveServers = new ArrayList&lt;&gt;();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    List&lt;JVMClusterUtil.MasterThread&gt; list = getMasters();<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    for (JVMClusterUtil.MasterThread mt: list) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      if (mt.isAlive()) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>        liveServers.add(mt);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      }<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    }<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    return liveServers;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  }<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  /**<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * Wait for the specified master to stop. Removes this thread from list of running threads.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * @return Name of master that just went down.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public String waitOnMaster(int serverNumber) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    JVMClusterUtil.MasterThread masterThread = this.masterThreads.get(serverNumber);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    return waitOnMaster(masterThread);<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  /**<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * Wait for the specified master to stop. Removes this thread from list of running threads.<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return Name of master that just went down.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   */<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  public String waitOnMaster(JVMClusterUtil.MasterThread masterThread) {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    while (masterThread.isAlive()) {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      try {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        LOG.info("Waiting on " + masterThread.getMaster().getServerName().toString());<a name="line.370"></a>
-<span class="sourceLineNo">371</span>        masterThread.join();<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      } catch (InterruptedException e) {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>        e.printStackTrace();<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      }<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    }<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    masterThreads.remove(masterThread);<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    return masterThread.getName();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>  }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>  /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * Wait for Mini HBase Cluster to shut down.<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * Presumes you've already called {@link #shutdown()}.<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   */<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  public void join() {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    if (this.regionThreads != null) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      for(Thread t: this.regionThreads) {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>        if (t.isAlive()) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>          try {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>            Threads.threadDumpingIsAlive(t);<a name="line.389"></a>
-<span class="sourceLineNo">390</span>          } catch (InterruptedException e) {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>            LOG.debug("Interrupted", e);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>          }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>        }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      }<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    }<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    if (this.masterThreads != null) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      for (Thread t : this.masterThreads) {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        if (t.isAlive()) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>          try {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>            Threads.threadDumpingIsAlive(t);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>          } catch (InterruptedException e) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>            LOG.debug("Interrupted", e);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>          }<a name="line.403"></a>
-<span class="sourceLineNo">404</span>        }<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    }<a name="line.406"></a>
-<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
-<span class="sourceLineNo">408</span><a name="line.408"></a>
-<span class="sourceLineNo">409</span>  /**<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * Start the cluster.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   */<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  public void startup() throws IOException {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    JVMClusterUtil.startup(this.masterThreads, this.regionThreads);<a name="line.413"></a>
-<span class="sourceLineNo">414</span>  }<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>  /**<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * Shut down the mini HBase cluster<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   */<a name="line.418"></a>
-<span class="sourceLineNo">419</span>  public void shutdown() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    JVMClusterUtil.shutdown(this.masterThreads, this.regionThreads);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * @param c Configuration to check.<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * @return True if a 'local' address in hbase.master value.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   */<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  public static boolean isLocal(final Configuration c) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    boolean mode = c.getBoolean(HConstants.CLUSTER_DISTRIBUTED, HConstants.DEFAULT_CLUSTER_DISTRIBUTED);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    return(mode == HConstants.CLUSTER_IS_LOCAL);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Test things basically work.<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * @param args<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * @throws IOException<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public static void main(String[] args) throws IOException {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    Configuration conf = HBaseConfiguration.create();<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    LocalHBaseCluster cluster = new LocalHBaseCluster(conf);<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    cluster.startup();<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    Connection connection = ConnectionFactory.createConnection(conf);<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    Admin admin = connection.getAdmin();<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    try {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      HTableDescriptor htd =<a name="line.444"></a>
-<span class="sourceLineNo">445</span>        new HTableDescriptor(TableName.valueOf(cluster.getClass().getName()));<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      admin.createTable(htd);<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    } finally {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      admin.close();<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    }<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    connection.close();<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    cluster.shutdown();<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  }<a name="line.452"></a>
-<span class="sourceLineNo">453</span>}<a name="line.453"></a>
+<span class="sourceLineNo">301</span>        LOG.error("Interrupted while waiting for {} to finish. Retrying join", rst.getName(), e);<a name="line.301"></a>
+<span class="sourceLineNo">302</span>        Thread.currentThread().interrupt();<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      }<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    regionThreads.remove(rst);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    return rst.getName();<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  }<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  /**<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * @return the HMaster thread<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
+<span class="sourceLineNo">312</span>  public HMaster getMaster(int serverNumber) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    return masterThreads.get(serverNumber).getMaster();<a name="line.313"></a>
+<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>  /**<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   * Gets the current active master, if available.  If no active master, returns<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * null.<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   * @return the HMaster for the active master<a name="line.319"></a>
+<span class="sourceLineNo">320</span>   */<a name="line.320"></a>
+<span class="sourceLineNo">321</span>  public HMaster getActiveMaster() {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    for (JVMClusterUtil.MasterThread mt : masterThreads) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      // Ensure that the current active master is not stopped.<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      // We don't want to return a stopping master as an active master.<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      if (mt.getMaster().isActiveMaster()  &amp;&amp; !mt.getMaster().isStopped()) {<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        return mt.getMaster();<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    return null;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * @return Read-only list of master threads.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   */<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  public List&lt;JVMClusterUtil.MasterThread&gt; getMasters() {<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    return Collections.unmodifiableList(this.masterThreads);<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  }<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>  /**<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @return List of running master servers (Some servers may have been killed<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * or aborted during lifetime of cluster; these servers are not included in<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * this list).<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   */<a name="line.343"></a>
+<span class="sourceLineNo">344</span>  public List&lt;JVMClusterUtil.MasterThread&gt; getLiveMasters() {<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    List&lt;JVMClusterUtil.MasterThread&gt; liveServers = new ArrayList&lt;&gt;();<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    List&lt;JVMClusterUtil.MasterThread&gt; list = getMasters();<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    for (JVMClusterUtil.MasterThread mt: list) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      if (mt.isAlive()) {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>        liveServers.add(mt);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      }<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    }<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    return liveServers;<a name="line.352"></a>
+<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
+<span class="sourceLineNo">354</span><a name="line.354"></a>
+<span class="sourceLineNo">355</span>  /**<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   * Wait for the specified master to stop. Removes this thread from list of running threads.<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   * @return Name of master that just went down.<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   */<a name="line.358"></a>
+<span class="sourceLineNo">359</span>  public String waitOnMaster(int serverNumber) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    JVMClusterUtil.MasterThread masterThread = this.masterThreads.get(serverNumber);<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    return waitOnMaster(masterThread);<a name="line.361"></a>
+<span class="sourceLineNo">362</span>  }<a name="line.362"></a>
+<span class="sourceLineNo">363</span><a name="line.363"></a>
+<span class="sourceLineNo">364</span>  /**<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * Wait for the specified master to stop. Removes this thread from list of running threads.<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @return Name of master that just went down.<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  public String waitOnMaster(JVMClusterUtil.MasterThread masterThread) {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    while (masterThread.isAlive()) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      try {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>        LOG.info("Waiting on " + masterThread.getMaster().getServerName().toString());<a name="line.371"></a>
+<span class="sourceLineNo">372</span>        masterThread.join();<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      } catch (InterruptedException e) {<a name="line.373"></a>
+<span class="sourceLineNo">374</span>        LOG.error("Interrupted while waiting for {} to finish. Retrying join",<a name="line.374"></a>
+<span class="sourceLineNo">375</span>            masterThread.getName(), e);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>        Thread.currentThread().interrupt();<a name="line.376"></a>
+<span class="sourceLineNo">377</span>      }<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    masterThreads.remove(masterThread);<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    return masterThread.getName();<a name="line.380"></a>
+<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span>  /**<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * Wait for Mini HBase Cluster to shut down.<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   * Presumes you've already called {@link #shutdown()}.<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   */<a name="line.386"></a>
+<span class="sourceLineNo">387</span>  public void join() {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    if (this.regionThreads != null) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      for(Thread t: this.regionThreads) {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>        if (t.isAlive()) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>          try {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>            Threads.threadDumpingIsAlive(t);<a name="line.392"></a>
+<span class="sourceLineNo">393</span>          } catch (InterruptedException e) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>            LOG.debug("Interrupted", e);<a name="line.394"></a>
+<span class="sourceLineNo">395</span>          }<a name="line.395"></a>
+<span class="sourceLineNo">396</span>        }<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      }<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    if (this.masterThreads != null) {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>      for (Thread t : this.masterThreads) {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        if (t.isAlive()) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>          try {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>            Threads.threadDumpingIsAlive(t);<a name="line.403"></a>
+<span class="sourceLineNo">404</span>          } catch (InterruptedException e) {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>            LOG.debug("Interrupted", e);<a name="line.405"></a>
+<span class="sourceLineNo">406</span>          }<a name="line.406"></a>
+<span class="sourceLineNo">407</span>        }<a name="line.407"></a>
+<span class="sourceLineNo">408</span>      }<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    }<a name="line.409"></a>
+<span class="sourceLineNo">410</span>  }<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span>  /**<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * Start the cluster.<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   */<a name="line.414"></a>
+<span class="sourceLineNo">415</span>  public void startup() throws IOException {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    JVMClusterUtil.startup(this.masterThreads, this.regionThreads);<a name="line.416"></a>
+<span class="sourceLineNo">417</span>  }<a name="line.417"></a>
+<span class="sourceLineNo">418</span><a name="line.418"></a>
+<span class="sourceLineNo">419</span>  /**<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * Shut down the mini HBase cluster<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  public void shutdown() {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    JVMClusterUtil.shutdown(this.masterThreads, this.regionThreads);<a name="line.423"></a>
+<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
+<span class="sourceLineNo">425</span><a name="line.425"></a>
+<span class="sourceLineNo">426</span>  /**<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * @param c Configuration to check.<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * @return True if a 'local' address in hbase.master value.<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
+<span class="sourceLineNo">430</span>  public static boolean isLocal(final Configuration c) {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    boolean mode = c.getBoolean(HConstants.CLUSTER_DISTRIBUTED, HConstants.DEFAULT_CLUSTER_DISTRIBUTED);<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    return(mode == HConstants.CLUSTER_IS_LOCAL);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>  }<a name="line.433"></a>
+<span class="sourceLineNo">434</span><a name="line.434"></a>
+<span class="sourceLineNo">435</span>  /**<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * Test things basically work.<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * @param args<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   * @throws IOException<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   */<a name="line.439"></a>
+<span class="sourceLineNo">440</span>  public static void main(String[] args) throws IOException {<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    Configuration conf = HBaseConfiguration.create();<a name="line.441"></a>
+<span class="sourceLineNo">442</span>    LocalHBaseCluster cluster = new LocalHBaseCluster(conf);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    cluster.startup();<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    Connection connection = ConnectionFactory.createConnection(conf);<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    Admin admin = connection.getAdmin();<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    try {<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      HTableDescriptor htd =<a name="line.447"></a>
+<span class="sourceLineNo">448</span>        new HTableDescriptor(TableName.valueOf(cluster.getClass().getName()));<a name="line.448"></a>
+<span class="sourceLineNo">449</span>      admin.createTable(htd);<a name="line.449"></a>
+<span class="sourceLineNo">450</span>    } finally {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>      admin.close();<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    }<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    connection.close();<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    cluster.shutdown();<a name="line.454"></a>
+<span class="sourceLineNo">455</span>  }<a name="line.455"></a>
+<span class="sourceLineNo">456</span>}<a name="line.456"></a>