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><V></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><E></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><V>)</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><T>)</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><E> (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><T>, 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><T>)</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><T>)</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><T>)</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><T>)</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><E> (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><T>, 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><V>)</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() && !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<JVMClusterUtil.MasterThread> 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<JVMClusterUtil.MasterThread> getLiveMasters() {<a name="line.335"></a> -<span class="sourceLineNo">336</span> List<JVMClusterUtil.MasterThread> liveServers = new ArrayList<>();<a name="line.336"></a> -<span class="sourceLineNo">337</span> List<JVMClusterUtil.MasterThread> 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() && !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<JVMClusterUtil.MasterThread> 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<JVMClusterUtil.MasterThread> getLiveMasters() {<a name="line.333"></a> +<span class="sourceLineNo">334</span> List<JVMClusterUtil.MasterThread> liveServers = new ArrayList<>();<a name="line.334"></a> +<span class="sourceLineNo">335</span> List<JVMClusterUtil.MasterThread> 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>
