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/03/08 14:53:59 UTC
[05/25] hbase-site git commit: Published site at
a03d09abd72789bbf9364d8a9b2c54d0e9351af9.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e9a81b89/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index 7f5135a..a514d28 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -653,10 +653,10 @@
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.Metric.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestRegionServerReadRequestMetrics.Metric</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.ActionType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestMultiLogThreshold.ActionType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestAtomicOperation.TestStep.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestAtomicOperation.TestStep</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestCacheOnWriteInSchema.CacheOnWriteType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.Manipulation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DataBlockEncodingTool.Manipulation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.ActionType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestMultiLogThreshold.ActionType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e9a81b89/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
index 5936719..fbeea17 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
@@ -253,10 +253,10 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestWithCellVisibilityLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestWithCellVisibilityLoadAndVerify.Counters</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Generator.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Generator.Counts</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestLoadAndVerify.Counters</span></a></li>
<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Verify.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Verify.Counts</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestLoadAndVerify.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Generator.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Generator.Counts</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestWithCellVisibilityLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestWithCellVisibilityLoadAndVerify.Counters</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e9a81b89/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index ea95008..cb85ca6 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -138,9 +138,9 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/TestWALSplit.Corruptions.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">TestWALSplit.Corruptions</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/FaultyFSLog.FailureType.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">FaultyFSLog.FailureType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/IOTestProvider.AllowedOperations.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">IOTestProvider.AllowedOperations</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/FaultyFSLog.FailureType.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">FaultyFSLog.FailureType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/TestWALSplit.Corruptions.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">TestWALSplit.Corruptions</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e9a81b89/testdevapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/overview-tree.html b/testdevapidocs/overview-tree.html
index 3a0da67..9fb9a6b 100644
--- a/testdevapidocs/overview-tree.html
+++ b/testdevapidocs/overview-tree.html
@@ -3409,6 +3409,7 @@
<li type="circle">org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestShowProperties.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">TestShowProperties</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/TestShutdownBackupMaster.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">TestShutdownBackupMaster</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestShutdownWhileWALBroken.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestShutdownWhileWALBroken</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/TestShutdownWithNoRegionServer.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">TestShutdownWithNoRegionServer</span></a></li>
<li type="circle">org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestSimpleMutableByteRange.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">TestSimpleMutableByteRange</span></a></li>
<li type="circle">org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestSimplePositionedMutableByteRange.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">TestSimplePositionedMutableByteRange</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.normalizer.<a href="org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.html" title="class in org.apache.hadoop.hbase.master.normalizer"><span class="typeNameLink">TestSimpleRegionNormalizer</span></a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e9a81b89/testdevapidocs/src-html/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.html
index 0c2ca07..90c268c 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.html
@@ -32,144 +32,128 @@
<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.CompatibilityFactory;<a name="line.24"></a>
<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.25"></a>
<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.HConstants;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.MiniHBaseCluster;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.TableName;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.Put;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.Table;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.test.MetricsAssertHelper;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.junit.AfterClass;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.junit.BeforeClass;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.junit.ClassRule;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.junit.Ignore;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.junit.Rule;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.junit.Test;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.junit.experimental.categories.Category;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.junit.rules.TestName;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.slf4j.Logger;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.slf4j.LoggerFactory;<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>import static org.junit.Assert.fail;<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>@Ignore // Disabled temporarily; reenable <a name="line.50"></a>
-<span class="sourceLineNo">051</span>@Category(MediumTests.class)<a name="line.51"></a>
-<span class="sourceLineNo">052</span>public class TestAssignmentManagerMetrics {<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span> @ClassRule<a name="line.54"></a>
-<span class="sourceLineNo">055</span> public static final HBaseClassTestRule CLASS_RULE =<a name="line.55"></a>
-<span class="sourceLineNo">056</span> HBaseClassTestRule.forClass(TestAssignmentManagerMetrics.class);<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span> private static final Logger LOG = LoggerFactory.getLogger(TestAssignmentManagerMetrics.class);<a name="line.58"></a>
-<span class="sourceLineNo">059</span> private static final MetricsAssertHelper metricsHelper = CompatibilityFactory<a name="line.59"></a>
-<span class="sourceLineNo">060</span> .getInstance(MetricsAssertHelper.class);<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span> private static MiniHBaseCluster cluster;<a name="line.62"></a>
-<span class="sourceLineNo">063</span> private static HMaster master;<a name="line.63"></a>
-<span class="sourceLineNo">064</span> private static HBaseTestingUtility TEST_UTIL;<a name="line.64"></a>
-<span class="sourceLineNo">065</span> private static Configuration conf;<a name="line.65"></a>
-<span class="sourceLineNo">066</span> private static final int msgInterval = 1000;<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span> @Rule<a name="line.68"></a>
-<span class="sourceLineNo">069</span> public TestName name = new TestName();<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span> @BeforeClass<a name="line.71"></a>
-<span class="sourceLineNo">072</span> public static void startCluster() throws Exception {<a name="line.72"></a>
-<span class="sourceLineNo">073</span> LOG.info("Starting cluster");<a name="line.73"></a>
-<span class="sourceLineNo">074</span> TEST_UTIL = new HBaseTestingUtility();<a name="line.74"></a>
-<span class="sourceLineNo">075</span> conf = TEST_UTIL.getConfiguration();<a name="line.75"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.HConstants;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.MiniHBaseCluster;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.TableName;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.client.Put;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.Table;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.test.MetricsAssertHelper;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.junit.AfterClass;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.junit.BeforeClass;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.junit.ClassRule;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.junit.Rule;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.junit.Test;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.junit.experimental.categories.Category;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.junit.rules.TestName;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.slf4j.Logger;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.slf4j.LoggerFactory;<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span>@Category({ MasterTests.class, MediumTests.class })<a name="line.49"></a>
+<span class="sourceLineNo">050</span>public class TestAssignmentManagerMetrics {<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span> @ClassRule<a name="line.52"></a>
+<span class="sourceLineNo">053</span> public static final HBaseClassTestRule CLASS_RULE =<a name="line.53"></a>
+<span class="sourceLineNo">054</span> HBaseClassTestRule.forClass(TestAssignmentManagerMetrics.class);<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span> private static final Logger LOG = LoggerFactory.getLogger(TestAssignmentManagerMetrics.class);<a name="line.56"></a>
+<span class="sourceLineNo">057</span> private static final MetricsAssertHelper metricsHelper = CompatibilityFactory<a name="line.57"></a>
+<span class="sourceLineNo">058</span> .getInstance(MetricsAssertHelper.class);<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span> private static MiniHBaseCluster cluster;<a name="line.60"></a>
+<span class="sourceLineNo">061</span> private static HMaster master;<a name="line.61"></a>
+<span class="sourceLineNo">062</span> private static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.62"></a>
+<span class="sourceLineNo">063</span> private static Configuration conf;<a name="line.63"></a>
+<span class="sourceLineNo">064</span> private static final int msgInterval = 1000;<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span> @Rule<a name="line.66"></a>
+<span class="sourceLineNo">067</span> public TestName name = new TestName();<a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68"></a>
+<span class="sourceLineNo">069</span> @BeforeClass<a name="line.69"></a>
+<span class="sourceLineNo">070</span> public static void startCluster() throws Exception {<a name="line.70"></a>
+<span class="sourceLineNo">071</span> LOG.info("Starting cluster");<a name="line.71"></a>
+<span class="sourceLineNo">072</span> conf = TEST_UTIL.getConfiguration();<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span> // Disable sanity check for coprocessor<a name="line.74"></a>
+<span class="sourceLineNo">075</span> conf.setBoolean("hbase.table.sanity.checks", false);<a name="line.75"></a>
<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span> // Disable sanity check for coprocessor<a name="line.77"></a>
-<span class="sourceLineNo">078</span> conf.setBoolean("hbase.table.sanity.checks", false);<a name="line.78"></a>
+<span class="sourceLineNo">077</span> // set RIT stuck warning threshold to a small value<a name="line.77"></a>
+<span class="sourceLineNo">078</span> conf.setInt(HConstants.METRICS_RIT_STUCK_WARNING_THRESHOLD, 20);<a name="line.78"></a>
<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span> // set RIT stuck warning threshold to a small value<a name="line.80"></a>
-<span class="sourceLineNo">081</span> conf.setInt(HConstants.METRICS_RIT_STUCK_WARNING_THRESHOLD, 20);<a name="line.81"></a>
+<span class="sourceLineNo">080</span> // set msgInterval to 1 second<a name="line.80"></a>
+<span class="sourceLineNo">081</span> conf.setInt("hbase.regionserver.msginterval", msgInterval);<a name="line.81"></a>
<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span> // set msgInterval to 1 second<a name="line.83"></a>
-<span class="sourceLineNo">084</span> conf.setInt("hbase.regionserver.msginterval", msgInterval);<a name="line.84"></a>
+<span class="sourceLineNo">083</span> // set tablesOnMaster to none<a name="line.83"></a>
+<span class="sourceLineNo">084</span> conf.set("hbase.balancer.tablesOnMaster", "none");<a name="line.84"></a>
<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span> // set tablesOnMaster to none<a name="line.86"></a>
-<span class="sourceLineNo">087</span> conf.set("hbase.balancer.tablesOnMaster", "none");<a name="line.87"></a>
-<span class="sourceLineNo">088</span><a name="line.88"></a>
-<span class="sourceLineNo">089</span> // set client sync wait timeout to 5sec<a name="line.89"></a>
-<span class="sourceLineNo">090</span> conf.setInt("hbase.client.sync.wait.timeout.msec", 2500);<a name="line.90"></a>
-<span class="sourceLineNo">091</span> conf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 1);<a name="line.91"></a>
-<span class="sourceLineNo">092</span> conf.setInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, 2500);<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span> TEST_UTIL.startMiniCluster(1);<a name="line.94"></a>
-<span class="sourceLineNo">095</span> cluster = TEST_UTIL.getHBaseCluster();<a name="line.95"></a>
-<span class="sourceLineNo">096</span> master = cluster.getMaster();<a name="line.96"></a>
-<span class="sourceLineNo">097</span> }<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span> @AfterClass<a name="line.99"></a>
-<span class="sourceLineNo">100</span> public static void after() throws Exception {<a name="line.100"></a>
-<span class="sourceLineNo">101</span> if (TEST_UTIL != null) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span> TEST_UTIL.shutdownMiniCluster();<a name="line.102"></a>
-<span class="sourceLineNo">103</span> }<a name="line.103"></a>
-<span class="sourceLineNo">104</span> }<a name="line.104"></a>
-<span class="sourceLineNo">105</span><a name="line.105"></a>
-<span class="sourceLineNo">106</span> @Test<a name="line.106"></a>
-<span class="sourceLineNo">107</span> public void testRITAssignmentManagerMetrics() throws Exception {<a name="line.107"></a>
-<span class="sourceLineNo">108</span> final TableName TABLENAME = TableName.valueOf(name.getMethodName());<a name="line.108"></a>
-<span class="sourceLineNo">109</span> final byte[] FAMILY = Bytes.toBytes("family");<a name="line.109"></a>
-<span class="sourceLineNo">110</span><a name="line.110"></a>
-<span class="sourceLineNo">111</span> Table table = null;<a name="line.111"></a>
-<span class="sourceLineNo">112</span> try {<a name="line.112"></a>
-<span class="sourceLineNo">113</span> table = TEST_UTIL.createTable(TABLENAME, FAMILY);<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span> final byte[] row = Bytes.toBytes("row");<a name="line.115"></a>
-<span class="sourceLineNo">116</span> final byte[] qualifier = Bytes.toBytes("qualifier");<a name="line.116"></a>
-<span class="sourceLineNo">117</span> final byte[] value = Bytes.toBytes("value");<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span> Put put = new Put(row);<a name="line.119"></a>
-<span class="sourceLineNo">120</span> put.addColumn(FAMILY, qualifier, value);<a name="line.120"></a>
-<span class="sourceLineNo">121</span> table.put(put);<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span> // Sleep 3 seconds, wait for doMetrics chore catching up<a name="line.123"></a>
-<span class="sourceLineNo">124</span> Thread.sleep(msgInterval * 3);<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span> // check the RIT is 0<a name="line.126"></a>
-<span class="sourceLineNo">127</span> MetricsAssignmentManagerSource amSource =<a name="line.127"></a>
-<span class="sourceLineNo">128</span> master.getAssignmentManager().getAssignmentManagerMetrics().getMetricsProcSource();<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span> metricsHelper.assertGauge(MetricsAssignmentManagerSource.RIT_COUNT_NAME, 0, amSource);<a name="line.130"></a>
-<span class="sourceLineNo">131</span> metricsHelper.assertGauge(MetricsAssignmentManagerSource.RIT_COUNT_OVER_THRESHOLD_NAME, 0,<a name="line.131"></a>
-<span class="sourceLineNo">132</span> amSource);<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span> // alter table with a non-existing coprocessor<a name="line.134"></a>
-<span class="sourceLineNo">135</span> HTableDescriptor htd = new HTableDescriptor(TABLENAME);<a name="line.135"></a>
-<span class="sourceLineNo">136</span> HColumnDescriptor hcd = new HColumnDescriptor(FAMILY);<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span> htd.addFamily(hcd);<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span> String spec = "hdfs:///foo.jar|com.foo.FooRegionObserver|1001|arg1=1,arg2=2";<a name="line.140"></a>
-<span class="sourceLineNo">141</span> htd.addCoprocessorWithSpec(spec);<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span> try {<a name="line.143"></a>
-<span class="sourceLineNo">144</span> TEST_UTIL.getAdmin().modifyTable(TABLENAME, htd);<a name="line.144"></a>
-<span class="sourceLineNo">145</span> fail("Expected region failed to open");<a name="line.145"></a>
-<span class="sourceLineNo">146</span> } catch (IOException e) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span> // expected, the RS will crash and the assignment will spin forever waiting for a RS<a name="line.147"></a>
-<span class="sourceLineNo">148</span> // to assign the region. the region will not go to FAILED_OPEN because in this case<a name="line.148"></a>
-<span class="sourceLineNo">149</span> // we have just one RS and it will do one retry.<a name="line.149"></a>
-<span class="sourceLineNo">150</span> }<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span> // Sleep 3 seconds, wait for doMetrics chore catching up<a name="line.152"></a>
-<span class="sourceLineNo">153</span> Thread.sleep(msgInterval * 3);<a name="line.153"></a>
-<span class="sourceLineNo">154</span> metricsHelper.assertGauge(MetricsAssignmentManagerSource.RIT_COUNT_NAME, 1, amSource);<a name="line.154"></a>
-<span class="sourceLineNo">155</span> metricsHelper.assertGauge(MetricsAssignmentManagerSource.RIT_COUNT_OVER_THRESHOLD_NAME, 1,<a name="line.155"></a>
-<span class="sourceLineNo">156</span> amSource);<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span> } finally {<a name="line.158"></a>
-<span class="sourceLineNo">159</span> if (table != null) {<a name="line.159"></a>
-<span class="sourceLineNo">160</span> table.close();<a name="line.160"></a>
-<span class="sourceLineNo">161</span> }<a name="line.161"></a>
-<span class="sourceLineNo">162</span> }<a name="line.162"></a>
-<span class="sourceLineNo">163</span> }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>}<a name="line.164"></a>
+<span class="sourceLineNo">086</span> // set client sync wait timeout to 5sec<a name="line.86"></a>
+<span class="sourceLineNo">087</span> conf.setInt("hbase.client.sync.wait.timeout.msec", 2500);<a name="line.87"></a>
+<span class="sourceLineNo">088</span> conf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 1);<a name="line.88"></a>
+<span class="sourceLineNo">089</span> conf.setInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, 2500);<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span> TEST_UTIL.startMiniCluster(1);<a name="line.91"></a>
+<span class="sourceLineNo">092</span> cluster = TEST_UTIL.getHBaseCluster();<a name="line.92"></a>
+<span class="sourceLineNo">093</span> master = cluster.getMaster();<a name="line.93"></a>
+<span class="sourceLineNo">094</span> }<a name="line.94"></a>
+<span class="sourceLineNo">095</span><a name="line.95"></a>
+<span class="sourceLineNo">096</span> @AfterClass<a name="line.96"></a>
+<span class="sourceLineNo">097</span> public static void after() throws Exception {<a name="line.97"></a>
+<span class="sourceLineNo">098</span> TEST_UTIL.shutdownMiniCluster();<a name="line.98"></a>
+<span class="sourceLineNo">099</span> }<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span> @Test<a name="line.101"></a>
+<span class="sourceLineNo">102</span> public void testRITAssignmentManagerMetrics() throws Exception {<a name="line.102"></a>
+<span class="sourceLineNo">103</span> final TableName TABLENAME = TableName.valueOf(name.getMethodName());<a name="line.103"></a>
+<span class="sourceLineNo">104</span> final byte[] FAMILY = Bytes.toBytes("family");<a name="line.104"></a>
+<span class="sourceLineNo">105</span> try (Table table = TEST_UTIL.createTable(TABLENAME, FAMILY)){<a name="line.105"></a>
+<span class="sourceLineNo">106</span> final byte[] row = Bytes.toBytes("row");<a name="line.106"></a>
+<span class="sourceLineNo">107</span> final byte[] qualifier = Bytes.toBytes("qualifier");<a name="line.107"></a>
+<span class="sourceLineNo">108</span> final byte[] value = Bytes.toBytes("value");<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span> Put put = new Put(row);<a name="line.110"></a>
+<span class="sourceLineNo">111</span> put.addColumn(FAMILY, qualifier, value);<a name="line.111"></a>
+<span class="sourceLineNo">112</span> table.put(put);<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span> // Sleep 3 seconds, wait for doMetrics chore catching up<a name="line.114"></a>
+<span class="sourceLineNo">115</span> Thread.sleep(msgInterval * 3);<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span> // check the RIT is 0<a name="line.117"></a>
+<span class="sourceLineNo">118</span> MetricsAssignmentManagerSource amSource =<a name="line.118"></a>
+<span class="sourceLineNo">119</span> master.getAssignmentManager().getAssignmentManagerMetrics().getMetricsProcSource();<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span> metricsHelper.assertGauge(MetricsAssignmentManagerSource.RIT_COUNT_NAME, 0, amSource);<a name="line.121"></a>
+<span class="sourceLineNo">122</span> metricsHelper.assertGauge(MetricsAssignmentManagerSource.RIT_COUNT_OVER_THRESHOLD_NAME, 0,<a name="line.122"></a>
+<span class="sourceLineNo">123</span> amSource);<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span> // alter table with a non-existing coprocessor<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span> String spec = "hdfs:///foo.jar|com.foo.FooRegionObserver|1001|arg1=1,arg2=2";<a name="line.127"></a>
+<span class="sourceLineNo">128</span> TableDescriptor htd = TableDescriptorBuilder.newBuilder(TABLENAME)<a name="line.128"></a>
+<span class="sourceLineNo">129</span> .addColumnFamily(ColumnFamilyDescriptorBuilder.of(FAMILY)).addCoprocessorWithSpec(spec)<a name="line.129"></a>
+<span class="sourceLineNo">130</span> .build();<a name="line.130"></a>
+<span class="sourceLineNo">131</span> try {<a name="line.131"></a>
+<span class="sourceLineNo">132</span> TEST_UTIL.getAdmin().modifyTable(htd);<a name="line.132"></a>
+<span class="sourceLineNo">133</span> fail("Expected region failed to open");<a name="line.133"></a>
+<span class="sourceLineNo">134</span> } catch (IOException e) {<a name="line.134"></a>
+<span class="sourceLineNo">135</span> // expected, the RS will crash and the assignment will spin forever waiting for a RS<a name="line.135"></a>
+<span class="sourceLineNo">136</span> // to assign the region. the region will not go to FAILED_OPEN because in this case<a name="line.136"></a>
+<span class="sourceLineNo">137</span> // we have just one RS and it will do one retry.<a name="line.137"></a>
+<span class="sourceLineNo">138</span> LOG.info("Expected error", e);<a name="line.138"></a>
+<span class="sourceLineNo">139</span> }<a name="line.139"></a>
+<span class="sourceLineNo">140</span><a name="line.140"></a>
+<span class="sourceLineNo">141</span> // Sleep 3 seconds, wait for doMetrics chore catching up<a name="line.141"></a>
+<span class="sourceLineNo">142</span> Thread.sleep(msgInterval * 3);<a name="line.142"></a>
+<span class="sourceLineNo">143</span> metricsHelper.assertGauge(MetricsAssignmentManagerSource.RIT_COUNT_NAME, 1, amSource);<a name="line.143"></a>
+<span class="sourceLineNo">144</span> metricsHelper.assertGauge(MetricsAssignmentManagerSource.RIT_COUNT_OVER_THRESHOLD_NAME, 1,<a name="line.144"></a>
+<span class="sourceLineNo">145</span> amSource);<a name="line.145"></a>
+<span class="sourceLineNo">146</span> }<a name="line.146"></a>
+<span class="sourceLineNo">147</span> }<a name="line.147"></a>
+<span class="sourceLineNo">148</span>}<a name="line.148"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e9a81b89/testdevapidocs/src-html/org/apache/hadoop/hbase/master/TestShutdownWithNoRegionServer.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/TestShutdownWithNoRegionServer.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/TestShutdownWithNoRegionServer.html
new file mode 100644
index 0000000..6d02e14
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/TestShutdownWithNoRegionServer.html
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements. See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership. The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License. You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> * http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.master;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.junit.AfterClass;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.junit.BeforeClass;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.junit.ClassRule;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.junit.Test;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.junit.experimental.categories.Category;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * Testcase to confirm that we will not hang when shutdown a cluster with no live region servers.<a name="line.32"></a>
+<span class="sourceLineNo">033</span> */<a name="line.33"></a>
+<span class="sourceLineNo">034</span>@Category({ MasterTests.class, MediumTests.class })<a name="line.34"></a>
+<span class="sourceLineNo">035</span>public class TestShutdownWithNoRegionServer {<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span> @ClassRule<a name="line.37"></a>
+<span class="sourceLineNo">038</span> public static final HBaseClassTestRule CLASS_RULE =<a name="line.38"></a>
+<span class="sourceLineNo">039</span> HBaseClassTestRule.forClass(TestShutdownWithNoRegionServer.class);<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span> private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span> @BeforeClass<a name="line.43"></a>
+<span class="sourceLineNo">044</span> public static void setUp() throws Exception {<a name="line.44"></a>
+<span class="sourceLineNo">045</span> UTIL.startMiniCluster(1);<a name="line.45"></a>
+<span class="sourceLineNo">046</span> }<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span> @AfterClass<a name="line.48"></a>
+<span class="sourceLineNo">049</span> public static void tearDown() throws Exception {<a name="line.49"></a>
+<span class="sourceLineNo">050</span> UTIL.shutdownMiniCluster();<a name="line.50"></a>
+<span class="sourceLineNo">051</span> }<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span> @Test<a name="line.53"></a>
+<span class="sourceLineNo">054</span> public void test() throws InterruptedException {<a name="line.54"></a>
+<span class="sourceLineNo">055</span> RegionServerThread t = UTIL.getMiniHBaseCluster().stopRegionServer(0);<a name="line.55"></a>
+<span class="sourceLineNo">056</span> t.join();<a name="line.56"></a>
+<span class="sourceLineNo">057</span> }<a name="line.57"></a>
+<span class="sourceLineNo">058</span>}<a name="line.58"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e9a81b89/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.FaultyRsExecutor.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.FaultyRsExecutor.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.FaultyRsExecutor.html
index 507c0cd..d27f392 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.FaultyRsExecutor.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.FaultyRsExecutor.html
@@ -720,7 +720,7 @@
<span class="sourceLineNo">712</span> }<a name="line.712"></a>
<span class="sourceLineNo">713</span><a name="line.713"></a>
<span class="sourceLineNo">714</span> private class HangOnCloseThenRSCrashExecutor extends GoodRsExecutor {<a name="line.714"></a>
-<span class="sourceLineNo">715</span> public static final int TYPES_OF_FAILURE = 7;<a name="line.715"></a>
+<span class="sourceLineNo">715</span> public static final int TYPES_OF_FAILURE = 6;<a name="line.715"></a>
<span class="sourceLineNo">716</span> private int invocations;<a name="line.716"></a>
<span class="sourceLineNo">717</span><a name="line.717"></a>
<span class="sourceLineNo">718</span> @Override<a name="line.718"></a>
@@ -732,129 +732,121 @@
<span class="sourceLineNo">724</span> case 2: throw new RegionServerStoppedException("Fake!");<a name="line.724"></a>
<span class="sourceLineNo">725</span> case 3: throw new ServerNotRunningYetException("Fake!");<a name="line.725"></a>
<span class="sourceLineNo">726</span> case 4:<a name="line.726"></a>
-<span class="sourceLineNo">727</span> // We will expire the server that we failed to rpc against.<a name="line.727"></a>
-<span class="sourceLineNo">728</span> throw new FailedRemoteDispatchException("Fake!");<a name="line.728"></a>
-<span class="sourceLineNo">729</span> case 5:<a name="line.729"></a>
-<span class="sourceLineNo">730</span> // Mark this regionserver as already expiring so we go different code route; i.e. we<a name="line.730"></a>
-<span class="sourceLineNo">731</span> // FAIL to expire the remote server and presume ok to move region to CLOSED. HBASE-20137.<a name="line.731"></a>
-<span class="sourceLineNo">732</span> TestAssignmentManager.this.master.getServerManager().expireServer(server);<a name="line.732"></a>
-<span class="sourceLineNo">733</span> throw new FailedRemoteDispatchException("Fake!");<a name="line.733"></a>
-<span class="sourceLineNo">734</span> case 6:<a name="line.734"></a>
-<span class="sourceLineNo">735</span> LOG.info("Return null response from serverName=" + server + "; means STUCK...TODO timeout");<a name="line.735"></a>
-<span class="sourceLineNo">736</span> executor.schedule(new Runnable() {<a name="line.736"></a>
-<span class="sourceLineNo">737</span> @Override<a name="line.737"></a>
-<span class="sourceLineNo">738</span> public void run() {<a name="line.738"></a>
-<span class="sourceLineNo">739</span> LOG.info("Sending in CRASH of " + server);<a name="line.739"></a>
-<span class="sourceLineNo">740</span> doCrash(server);<a name="line.740"></a>
-<span class="sourceLineNo">741</span> }<a name="line.741"></a>
-<span class="sourceLineNo">742</span> }, 1, TimeUnit.SECONDS);<a name="line.742"></a>
-<span class="sourceLineNo">743</span> return null;<a name="line.743"></a>
-<span class="sourceLineNo">744</span> default:<a name="line.744"></a>
-<span class="sourceLineNo">745</span> return super.execCloseRegion(server, regionName);<a name="line.745"></a>
-<span class="sourceLineNo">746</span> }<a name="line.746"></a>
-<span class="sourceLineNo">747</span> }<a name="line.747"></a>
-<span class="sourceLineNo">748</span> }<a name="line.748"></a>
-<span class="sourceLineNo">749</span><a name="line.749"></a>
-<span class="sourceLineNo">750</span> private class RandRsExecutor extends NoopRsExecutor {<a name="line.750"></a>
-<span class="sourceLineNo">751</span> private final Random rand = new Random();<a name="line.751"></a>
-<span class="sourceLineNo">752</span><a name="line.752"></a>
-<span class="sourceLineNo">753</span> @Override<a name="line.753"></a>
-<span class="sourceLineNo">754</span> public ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.754"></a>
-<span class="sourceLineNo">755</span> throws IOException {<a name="line.755"></a>
-<span class="sourceLineNo">756</span> switch (rand.nextInt(5)) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span> case 0: throw new ServerNotRunningYetException("wait on server startup");<a name="line.757"></a>
-<span class="sourceLineNo">758</span> case 1: throw new SocketTimeoutException("simulate socket timeout");<a name="line.758"></a>
-<span class="sourceLineNo">759</span> case 2: throw new RemoteException("java.io.IOException", "unexpected exception");<a name="line.759"></a>
-<span class="sourceLineNo">760</span> }<a name="line.760"></a>
-<span class="sourceLineNo">761</span> return super.sendRequest(server, req);<a name="line.761"></a>
-<span class="sourceLineNo">762</span> }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span> @Override<a name="line.764"></a>
-<span class="sourceLineNo">765</span> protected RegionOpeningState execOpenRegion(final ServerName server, RegionOpenInfo openReq)<a name="line.765"></a>
-<span class="sourceLineNo">766</span> throws IOException {<a name="line.766"></a>
-<span class="sourceLineNo">767</span> switch (rand.nextInt(6)) {<a name="line.767"></a>
-<span class="sourceLineNo">768</span> case 0:<a name="line.768"></a>
-<span class="sourceLineNo">769</span> LOG.info("Return OPENED response");<a name="line.769"></a>
-<span class="sourceLineNo">770</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.770"></a>
-<span class="sourceLineNo">771</span> return OpenRegionResponse.RegionOpeningState.OPENED;<a name="line.771"></a>
-<span class="sourceLineNo">772</span> case 1:<a name="line.772"></a>
-<span class="sourceLineNo">773</span> LOG.info("Return transition report that OPENED/ALREADY_OPENED response");<a name="line.773"></a>
-<span class="sourceLineNo">774</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.774"></a>
-<span class="sourceLineNo">775</span> return OpenRegionResponse.RegionOpeningState.ALREADY_OPENED;<a name="line.775"></a>
-<span class="sourceLineNo">776</span> case 2:<a name="line.776"></a>
-<span class="sourceLineNo">777</span> LOG.info("Return transition report that FAILED_OPEN/FAILED_OPENING response");<a name="line.777"></a>
-<span class="sourceLineNo">778</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.FAILED_OPEN);<a name="line.778"></a>
-<span class="sourceLineNo">779</span> return OpenRegionResponse.RegionOpeningState.FAILED_OPENING;<a name="line.779"></a>
-<span class="sourceLineNo">780</span> }<a name="line.780"></a>
-<span class="sourceLineNo">781</span> // The procedure on master will just hang forever because nothing comes back<a name="line.781"></a>
-<span class="sourceLineNo">782</span> // from the RS in this case.<a name="line.782"></a>
-<span class="sourceLineNo">783</span> LOG.info("Return null as response; means proc stuck so we send in a crash report after a few seconds...");<a name="line.783"></a>
-<span class="sourceLineNo">784</span> executor.schedule(new Runnable() {<a name="line.784"></a>
-<span class="sourceLineNo">785</span> @Override<a name="line.785"></a>
-<span class="sourceLineNo">786</span> public void run() {<a name="line.786"></a>
-<span class="sourceLineNo">787</span> LOG.info("Delayed CRASHING of " + server);<a name="line.787"></a>
-<span class="sourceLineNo">788</span> doCrash(server);<a name="line.788"></a>
-<span class="sourceLineNo">789</span> }<a name="line.789"></a>
-<span class="sourceLineNo">790</span> }, 5, TimeUnit.SECONDS);<a name="line.790"></a>
-<span class="sourceLineNo">791</span> return null;<a name="line.791"></a>
-<span class="sourceLineNo">792</span> }<a name="line.792"></a>
-<span class="sourceLineNo">793</span><a name="line.793"></a>
-<span class="sourceLineNo">794</span> @Override<a name="line.794"></a>
-<span class="sourceLineNo">795</span> protected CloseRegionResponse execCloseRegion(ServerName server, byte[] regionName)<a name="line.795"></a>
-<span class="sourceLineNo">796</span> throws IOException {<a name="line.796"></a>
-<span class="sourceLineNo">797</span> CloseRegionResponse.Builder resp = CloseRegionResponse.newBuilder();<a name="line.797"></a>
-<span class="sourceLineNo">798</span> boolean closed = rand.nextBoolean();<a name="line.798"></a>
-<span class="sourceLineNo">799</span> if (closed) {<a name="line.799"></a>
-<span class="sourceLineNo">800</span> RegionInfo hri = am.getRegionInfo(regionName);<a name="line.800"></a>
-<span class="sourceLineNo">801</span> sendTransitionReport(server, ProtobufUtil.toRegionInfo(hri), TransitionCode.CLOSED);<a name="line.801"></a>
-<span class="sourceLineNo">802</span> }<a name="line.802"></a>
-<span class="sourceLineNo">803</span> resp.setClosed(closed);<a name="line.803"></a>
-<span class="sourceLineNo">804</span> return resp.build();<a name="line.804"></a>
-<span class="sourceLineNo">805</span> }<a name="line.805"></a>
-<span class="sourceLineNo">806</span> }<a name="line.806"></a>
+<span class="sourceLineNo">727</span> LOG.info("Return null response from serverName=" + server + "; means STUCK...TODO timeout");<a name="line.727"></a>
+<span class="sourceLineNo">728</span> executor.schedule(new Runnable() {<a name="line.728"></a>
+<span class="sourceLineNo">729</span> @Override<a name="line.729"></a>
+<span class="sourceLineNo">730</span> public void run() {<a name="line.730"></a>
+<span class="sourceLineNo">731</span> LOG.info("Sending in CRASH of " + server);<a name="line.731"></a>
+<span class="sourceLineNo">732</span> doCrash(server);<a name="line.732"></a>
+<span class="sourceLineNo">733</span> }<a name="line.733"></a>
+<span class="sourceLineNo">734</span> }, 1, TimeUnit.SECONDS);<a name="line.734"></a>
+<span class="sourceLineNo">735</span> return null;<a name="line.735"></a>
+<span class="sourceLineNo">736</span> default:<a name="line.736"></a>
+<span class="sourceLineNo">737</span> return super.execCloseRegion(server, regionName);<a name="line.737"></a>
+<span class="sourceLineNo">738</span> }<a name="line.738"></a>
+<span class="sourceLineNo">739</span> }<a name="line.739"></a>
+<span class="sourceLineNo">740</span> }<a name="line.740"></a>
+<span class="sourceLineNo">741</span><a name="line.741"></a>
+<span class="sourceLineNo">742</span> private class RandRsExecutor extends NoopRsExecutor {<a name="line.742"></a>
+<span class="sourceLineNo">743</span> private final Random rand = new Random();<a name="line.743"></a>
+<span class="sourceLineNo">744</span><a name="line.744"></a>
+<span class="sourceLineNo">745</span> @Override<a name="line.745"></a>
+<span class="sourceLineNo">746</span> public ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.746"></a>
+<span class="sourceLineNo">747</span> throws IOException {<a name="line.747"></a>
+<span class="sourceLineNo">748</span> switch (rand.nextInt(5)) {<a name="line.748"></a>
+<span class="sourceLineNo">749</span> case 0: throw new ServerNotRunningYetException("wait on server startup");<a name="line.749"></a>
+<span class="sourceLineNo">750</span> case 1: throw new SocketTimeoutException("simulate socket timeout");<a name="line.750"></a>
+<span class="sourceLineNo">751</span> case 2: throw new RemoteException("java.io.IOException", "unexpected exception");<a name="line.751"></a>
+<span class="sourceLineNo">752</span> }<a name="line.752"></a>
+<span class="sourceLineNo">753</span> return super.sendRequest(server, req);<a name="line.753"></a>
+<span class="sourceLineNo">754</span> }<a name="line.754"></a>
+<span class="sourceLineNo">755</span><a name="line.755"></a>
+<span class="sourceLineNo">756</span> @Override<a name="line.756"></a>
+<span class="sourceLineNo">757</span> protected RegionOpeningState execOpenRegion(final ServerName server, RegionOpenInfo openReq)<a name="line.757"></a>
+<span class="sourceLineNo">758</span> throws IOException {<a name="line.758"></a>
+<span class="sourceLineNo">759</span> switch (rand.nextInt(6)) {<a name="line.759"></a>
+<span class="sourceLineNo">760</span> case 0:<a name="line.760"></a>
+<span class="sourceLineNo">761</span> LOG.info("Return OPENED response");<a name="line.761"></a>
+<span class="sourceLineNo">762</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.762"></a>
+<span class="sourceLineNo">763</span> return OpenRegionResponse.RegionOpeningState.OPENED;<a name="line.763"></a>
+<span class="sourceLineNo">764</span> case 1:<a name="line.764"></a>
+<span class="sourceLineNo">765</span> LOG.info("Return transition report that OPENED/ALREADY_OPENED response");<a name="line.765"></a>
+<span class="sourceLineNo">766</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.OPENED);<a name="line.766"></a>
+<span class="sourceLineNo">767</span> return OpenRegionResponse.RegionOpeningState.ALREADY_OPENED;<a name="line.767"></a>
+<span class="sourceLineNo">768</span> case 2:<a name="line.768"></a>
+<span class="sourceLineNo">769</span> LOG.info("Return transition report that FAILED_OPEN/FAILED_OPENING response");<a name="line.769"></a>
+<span class="sourceLineNo">770</span> sendTransitionReport(server, openReq.getRegion(), TransitionCode.FAILED_OPEN);<a name="line.770"></a>
+<span class="sourceLineNo">771</span> return OpenRegionResponse.RegionOpeningState.FAILED_OPENING;<a name="line.771"></a>
+<span class="sourceLineNo">772</span> }<a name="line.772"></a>
+<span class="sourceLineNo">773</span> // The procedure on master will just hang forever because nothing comes back<a name="line.773"></a>
+<span class="sourceLineNo">774</span> // from the RS in this case.<a name="line.774"></a>
+<span class="sourceLineNo">775</span> LOG.info("Return null as response; means proc stuck so we send in a crash report after a few seconds...");<a name="line.775"></a>
+<span class="sourceLineNo">776</span> executor.schedule(new Runnable() {<a name="line.776"></a>
+<span class="sourceLineNo">777</span> @Override<a name="line.777"></a>
+<span class="sourceLineNo">778</span> public void run() {<a name="line.778"></a>
+<span class="sourceLineNo">779</span> LOG.info("Delayed CRASHING of " + server);<a name="line.779"></a>
+<span class="sourceLineNo">780</span> doCrash(server);<a name="line.780"></a>
+<span class="sourceLineNo">781</span> }<a name="line.781"></a>
+<span class="sourceLineNo">782</span> }, 5, TimeUnit.SECONDS);<a name="line.782"></a>
+<span class="sourceLineNo">783</span> return null;<a name="line.783"></a>
+<span class="sourceLineNo">784</span> }<a name="line.784"></a>
+<span class="sourceLineNo">785</span><a name="line.785"></a>
+<span class="sourceLineNo">786</span> @Override<a name="line.786"></a>
+<span class="sourceLineNo">787</span> protected CloseRegionResponse execCloseRegion(ServerName server, byte[] regionName)<a name="line.787"></a>
+<span class="sourceLineNo">788</span> throws IOException {<a name="line.788"></a>
+<span class="sourceLineNo">789</span> CloseRegionResponse.Builder resp = CloseRegionResponse.newBuilder();<a name="line.789"></a>
+<span class="sourceLineNo">790</span> boolean closed = rand.nextBoolean();<a name="line.790"></a>
+<span class="sourceLineNo">791</span> if (closed) {<a name="line.791"></a>
+<span class="sourceLineNo">792</span> RegionInfo hri = am.getRegionInfo(regionName);<a name="line.792"></a>
+<span class="sourceLineNo">793</span> sendTransitionReport(server, ProtobufUtil.toRegionInfo(hri), TransitionCode.CLOSED);<a name="line.793"></a>
+<span class="sourceLineNo">794</span> }<a name="line.794"></a>
+<span class="sourceLineNo">795</span> resp.setClosed(closed);<a name="line.795"></a>
+<span class="sourceLineNo">796</span> return resp.build();<a name="line.796"></a>
+<span class="sourceLineNo">797</span> }<a name="line.797"></a>
+<span class="sourceLineNo">798</span> }<a name="line.798"></a>
+<span class="sourceLineNo">799</span><a name="line.799"></a>
+<span class="sourceLineNo">800</span> private interface MockRSExecutor {<a name="line.800"></a>
+<span class="sourceLineNo">801</span> ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.801"></a>
+<span class="sourceLineNo">802</span> throws IOException;<a name="line.802"></a>
+<span class="sourceLineNo">803</span> }<a name="line.803"></a>
+<span class="sourceLineNo">804</span><a name="line.804"></a>
+<span class="sourceLineNo">805</span> private class MockRSProcedureDispatcher extends RSProcedureDispatcher {<a name="line.805"></a>
+<span class="sourceLineNo">806</span> private MockRSExecutor mockRsExec;<a name="line.806"></a>
<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span> private interface MockRSExecutor {<a name="line.808"></a>
-<span class="sourceLineNo">809</span> ExecuteProceduresResponse sendRequest(ServerName server, ExecuteProceduresRequest req)<a name="line.809"></a>
-<span class="sourceLineNo">810</span> throws IOException;<a name="line.810"></a>
-<span class="sourceLineNo">811</span> }<a name="line.811"></a>
-<span class="sourceLineNo">812</span><a name="line.812"></a>
-<span class="sourceLineNo">813</span> private class MockRSProcedureDispatcher extends RSProcedureDispatcher {<a name="line.813"></a>
-<span class="sourceLineNo">814</span> private MockRSExecutor mockRsExec;<a name="line.814"></a>
+<span class="sourceLineNo">808</span> public MockRSProcedureDispatcher(final MasterServices master) {<a name="line.808"></a>
+<span class="sourceLineNo">809</span> super(master);<a name="line.809"></a>
+<span class="sourceLineNo">810</span> }<a name="line.810"></a>
+<span class="sourceLineNo">811</span><a name="line.811"></a>
+<span class="sourceLineNo">812</span> public void setMockRsExecutor(final MockRSExecutor mockRsExec) {<a name="line.812"></a>
+<span class="sourceLineNo">813</span> this.mockRsExec = mockRsExec;<a name="line.813"></a>
+<span class="sourceLineNo">814</span> }<a name="line.814"></a>
<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span> public MockRSProcedureDispatcher(final MasterServices master) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span> super(master);<a name="line.817"></a>
-<span class="sourceLineNo">818</span> }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span> public void setMockRsExecutor(final MockRSExecutor mockRsExec) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span> this.mockRsExec = mockRsExec;<a name="line.821"></a>
-<span class="sourceLineNo">822</span> }<a name="line.822"></a>
-<span class="sourceLineNo">823</span><a name="line.823"></a>
-<span class="sourceLineNo">824</span> @Override<a name="line.824"></a>
-<span class="sourceLineNo">825</span> protected void remoteDispatch(ServerName serverName, Set<RemoteProcedure> remoteProcedures) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span> submitTask(new MockRemoteCall(serverName, remoteProcedures));<a name="line.826"></a>
-<span class="sourceLineNo">827</span> }<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span> private class MockRemoteCall extends ExecuteProceduresRemoteCall {<a name="line.829"></a>
-<span class="sourceLineNo">830</span> public MockRemoteCall(final ServerName serverName,<a name="line.830"></a>
-<span class="sourceLineNo">831</span> final Set<RemoteProcedure> operations) {<a name="line.831"></a>
-<span class="sourceLineNo">832</span> super(serverName, operations);<a name="line.832"></a>
-<span class="sourceLineNo">833</span> }<a name="line.833"></a>
+<span class="sourceLineNo">816</span> @Override<a name="line.816"></a>
+<span class="sourceLineNo">817</span> protected void remoteDispatch(ServerName serverName, Set<RemoteProcedure> remoteProcedures) {<a name="line.817"></a>
+<span class="sourceLineNo">818</span> submitTask(new MockRemoteCall(serverName, remoteProcedures));<a name="line.818"></a>
+<span class="sourceLineNo">819</span> }<a name="line.819"></a>
+<span class="sourceLineNo">820</span><a name="line.820"></a>
+<span class="sourceLineNo">821</span> private class MockRemoteCall extends ExecuteProceduresRemoteCall {<a name="line.821"></a>
+<span class="sourceLineNo">822</span> public MockRemoteCall(final ServerName serverName,<a name="line.822"></a>
+<span class="sourceLineNo">823</span> final Set<RemoteProcedure> operations) {<a name="line.823"></a>
+<span class="sourceLineNo">824</span> super(serverName, operations);<a name="line.824"></a>
+<span class="sourceLineNo">825</span> }<a name="line.825"></a>
+<span class="sourceLineNo">826</span><a name="line.826"></a>
+<span class="sourceLineNo">827</span> @Override<a name="line.827"></a>
+<span class="sourceLineNo">828</span> protected ExecuteProceduresResponse sendRequest(final ServerName serverName,<a name="line.828"></a>
+<span class="sourceLineNo">829</span> final ExecuteProceduresRequest request) throws IOException {<a name="line.829"></a>
+<span class="sourceLineNo">830</span> return mockRsExec.sendRequest(serverName, request);<a name="line.830"></a>
+<span class="sourceLineNo">831</span> }<a name="line.831"></a>
+<span class="sourceLineNo">832</span> }<a name="line.832"></a>
+<span class="sourceLineNo">833</span> }<a name="line.833"></a>
<span class="sourceLineNo">834</span><a name="line.834"></a>
-<span class="sourceLineNo">835</span> @Override<a name="line.835"></a>
-<span class="sourceLineNo">836</span> protected ExecuteProceduresResponse sendRequest(final ServerName serverName,<a name="line.836"></a>
-<span class="sourceLineNo">837</span> final ExecuteProceduresRequest request) throws IOException {<a name="line.837"></a>
-<span class="sourceLineNo">838</span> return mockRsExec.sendRequest(serverName, request);<a name="line.838"></a>
-<span class="sourceLineNo">839</span> }<a name="line.839"></a>
-<span class="sourceLineNo">840</span> }<a name="line.840"></a>
-<span class="sourceLineNo">841</span> }<a name="line.841"></a>
-<span class="sourceLineNo">842</span><a name="line.842"></a>
-<span class="sourceLineNo">843</span> private void collectAssignmentManagerMetrics() {<a name="line.843"></a>
-<span class="sourceLineNo">844</span> assignSubmittedCount = assignProcMetrics.getSubmittedCounter().getCount();<a name="line.844"></a>
-<span class="sourceLineNo">845</span> assignFailedCount = assignProcMetrics.getFailedCounter().getCount();<a name="line.845"></a>
-<span class="sourceLineNo">846</span> unassignSubmittedCount = unassignProcMetrics.getSubmittedCounter().getCount();<a name="line.846"></a>
-<span class="sourceLineNo">847</span> unassignFailedCount = unassignProcMetrics.getFailedCounter().getCount();<a name="line.847"></a>
-<span class="sourceLineNo">848</span> }<a name="line.848"></a>
-<span class="sourceLineNo">849</span>}<a name="line.849"></a>
+<span class="sourceLineNo">835</span> private void collectAssignmentManagerMetrics() {<a name="line.835"></a>
+<span class="sourceLineNo">836</span> assignSubmittedCount = assignProcMetrics.getSubmittedCounter().getCount();<a name="line.836"></a>
+<span class="sourceLineNo">837</span> assignFailedCount = assignProcMetrics.getFailedCounter().getCount();<a name="line.837"></a>
+<span class="sourceLineNo">838</span> unassignSubmittedCount = unassignProcMetrics.getSubmittedCounter().getCount();<a name="line.838"></a>
+<span class="sourceLineNo">839</span> unassignFailedCount = unassignProcMetrics.getFailedCounter().getCount();<a name="line.839"></a>
+<span class="sourceLineNo">840</span> }<a name="line.840"></a>
+<span class="sourceLineNo">841</span>}<a name="line.841"></a>