http://git-wip-us.apache.org/repos/asf/hbase-site/blob/9eba7fcf/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html 
b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
index ed5c618..f2efa79 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -158,6 +158,7 @@
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/BoundedCompletionService.html"
 title="class in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">BoundedCompletionService</span></a>&lt;V&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/BoundedPriorityBlockingQueue.PriorityQueue.html"
 title="class in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">BoundedPriorityBlockingQueue.PriorityQueue</span></a>&lt;E&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/ByteBufferArray.html" 
title="class in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">ByteBufferArray</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/ByteBufferArray.BufferCreatorCallable.html"
 title="class in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">ByteBufferArray.BufferCreatorCallable</span></a> 
(implements java.util.concurrent.<a 
href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true";
 title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/ByteBufferUtils.html" 
title="class in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">ByteBufferUtils</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/ByteRangeUtils.html" 
title="class in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">ByteRangeUtils</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in 
org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes</span></a> 
(implements java.lang.<a 
href="http://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;)</li>
@@ -521,14 +522,14 @@
 <ul>
 <li type="circle">java.lang.<a 
href="http://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="http://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="http://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.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" 
title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">ChecksumType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a>
 (implements org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" 
title="interface in 
org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a>
 (implements org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" 
title="interface in 
org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" 
title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">PrettyPrinter.Unit</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in 
org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a>
 (implements org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" 
title="interface in 
org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a>
 (implements org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" 
title="interface in 
org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" 
title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">ChecksumType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" 
title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">PoolMap.PoolType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" 
title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">PrettyPrinter.Unit</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/9eba7fcf/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html 
b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index ef802fb..3ded3f7 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -167,8 +167,8 @@
 <ul>
 <li type="circle">java.lang.<a 
href="http://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="http://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="http://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/RegionGroupingProvider.Strategies.html"
 title="enum in org.apache.hadoop.hbase.wal"><span 
class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a 
href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" 
title="enum in org.apache.hadoop.hbase.wal"><span 
class="typeNameLink">WALFactory.Providers</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a 
href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html"
 title="enum in org.apache.hadoop.hbase.wal"><span 
class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/9eba7fcf/devapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index 3ec7fc3..5af5dcd 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -870,6 +870,7 @@
 </ul>
 </li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="org/apache/hadoop/hbase/util/ByteBufferArray.html" title="class in 
org.apache.hadoop.hbase.util"><span 
class="typeNameLink">ByteBufferArray</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a 
href="org/apache/hadoop/hbase/util/ByteBufferArray.BufferCreatorCallable.html" 
title="class in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">ByteBufferArray.BufferCreatorCallable</span></a> 
(implements java.util.concurrent.<a 
href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true";
 title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.<a 
href="org/apache/hadoop/hbase/ByteBufferCell.html" title="class in 
org.apache.hadoop.hbase"><span class="typeNameLink">ByteBufferCell</span></a> 
(implements org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/Cell.html" 
title="interface in org.apache.hadoop.hbase">Cell</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.io.encoding.<a 
href="org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.OffheapDecodedCell.html"
 title="class in org.apache.hadoop.hbase.io.encoding"><span 
class="typeNameLink">BufferedDataBlockEncoder.OffheapDecodedCell</span></a> 
(implements org.apache.hadoop.hbase.<a 
href="org/apache/hadoop/hbase/ExtendedCell.html" title="interface in 
org.apache.hadoop.hbase">ExtendedCell</a>)</li>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/9eba7fcf/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html 
b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index 68198e9..ac28212 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -16,11 +16,11 @@
 <span class="sourceLineNo">008</span>@InterfaceAudience.Private<a 
name="line.8"></a>
 <span class="sourceLineNo">009</span>public class Version {<a 
name="line.9"></a>
 <span class="sourceLineNo">010</span>  public static final String version = 
"3.0.0-SNAPSHOT";<a name="line.10"></a>
-<span class="sourceLineNo">011</span>  public static final String revision = 
"56d00f574b391fa58ba5b73718f2a5b29171bd07";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = 
"5f54e28510fdbdc1a08688168f8df19904bcd975";<a name="line.11"></a>
 <span class="sourceLineNo">012</span>  public static final String user = 
"jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span>  public static final String date = "Tue 
Jul 18 21:39:34 UTC 2017";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Wed 
Jul 19 21:39:34 UTC 2017";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = 
"git://asf920.gq1.ygridcore.net/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a
 name="line.14"></a>
-<span class="sourceLineNo">015</span>  public static final String srcChecksum 
= "122d6b2b09c08fdce36bda6088189a49";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum 
= "b993c2bc29b4c3bdde7e9ae32a183a0d";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 

Reply via email to