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/10/30 14:54:27 UTC
[01/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Repository: hbase-site
Updated Branches:
refs/heads/asf-site 51db083d7 -> 2752c9244
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestHbck.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestHbck.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestHbck.html
index f032370..6138b0c 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestHbck.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestHbck.html
@@ -36,160 +36,181 @@
<span class="sourceLineNo">028</span><a name="line.28"></a>
<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.29"></a>
<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<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.master.RegionState;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.master.procedure.TableProcedureInterface;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.junit.AfterClass;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.junit.BeforeClass;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.junit.ClassRule;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.junit.Rule;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.junit.Test;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.junit.experimental.categories.Category;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.junit.rules.TestName;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.slf4j.Logger;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.slf4j.LoggerFactory;<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>/**<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * Class to test HBaseHbck.<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * Spins up the minicluster once at test start and then takes it down afterward.<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * Add any testing of HBaseHbck functionality here.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>@Category({LargeTests.class, ClientTests.class})<a name="line.58"></a>
-<span class="sourceLineNo">059</span>public class TestHbck {<a name="line.59"></a>
-<span class="sourceLineNo">060</span> @ClassRule<a name="line.60"></a>
-<span class="sourceLineNo">061</span> public static final HBaseClassTestRule CLASS_RULE =<a name="line.61"></a>
-<span class="sourceLineNo">062</span> HBaseClassTestRule.forClass(TestHbck.class);<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span> private static final Logger LOG = LoggerFactory.getLogger(TestHbck.class);<a name="line.64"></a>
-<span class="sourceLineNo">065</span> private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span> @Rule<a name="line.67"></a>
-<span class="sourceLineNo">068</span> public TestName name = new TestName();<a name="line.68"></a>
-<span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span> private static final TableName TABLE_NAME = TableName.valueOf(TestHbck.class.getSimpleName());<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span> private static ProcedureExecutor<MasterProcedureEnv> procExec;<a name="line.72"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.ServerName;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.TableName;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.master.procedure.TableProcedureInterface;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.junit.AfterClass;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.junit.BeforeClass;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.junit.ClassRule;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.junit.Rule;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.junit.Test;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.junit.experimental.categories.Category;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.junit.rules.TestName;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.slf4j.Logger;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.slf4j.LoggerFactory;<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>/**<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * Class to test HBaseHbck.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * Spins up the minicluster once at test start and then takes it down afterward.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * Add any testing of HBaseHbck functionality here.<a name="line.60"></a>
+<span class="sourceLineNo">061</span> */<a name="line.61"></a>
+<span class="sourceLineNo">062</span>@Category({LargeTests.class, ClientTests.class})<a name="line.62"></a>
+<span class="sourceLineNo">063</span>public class TestHbck {<a name="line.63"></a>
+<span class="sourceLineNo">064</span> @ClassRule<a name="line.64"></a>
+<span class="sourceLineNo">065</span> public static final HBaseClassTestRule CLASS_RULE =<a name="line.65"></a>
+<span class="sourceLineNo">066</span> HBaseClassTestRule.forClass(TestHbck.class);<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span> private static final Logger LOG = LoggerFactory.getLogger(TestHbck.class);<a name="line.68"></a>
+<span class="sourceLineNo">069</span> private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span> @Rule<a name="line.71"></a>
+<span class="sourceLineNo">072</span> public TestName name = new TestName();<a name="line.72"></a>
<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span> @BeforeClass<a name="line.74"></a>
-<span class="sourceLineNo">075</span> public static void setUpBeforeClass() throws Exception {<a name="line.75"></a>
-<span class="sourceLineNo">076</span> TEST_UTIL.startMiniCluster(3);<a name="line.76"></a>
-<span class="sourceLineNo">077</span> TEST_UTIL.createMultiRegionTable(TABLE_NAME, Bytes.toBytes("family1"), 5);<a name="line.77"></a>
-<span class="sourceLineNo">078</span> procExec = TEST_UTIL.getMiniHBaseCluster().getMaster().getMasterProcedureExecutor();<a name="line.78"></a>
-<span class="sourceLineNo">079</span> }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span> @AfterClass<a name="line.81"></a>
-<span class="sourceLineNo">082</span> public static void tearDownAfterClass() throws Exception {<a name="line.82"></a>
-<span class="sourceLineNo">083</span> TEST_UTIL.shutdownMiniCluster();<a name="line.83"></a>
-<span class="sourceLineNo">084</span> }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span> public static class SuspendProcedure extends<a name="line.86"></a>
-<span class="sourceLineNo">087</span> ProcedureTestingUtility.NoopProcedure<MasterProcedureEnv> implements TableProcedureInterface {<a name="line.87"></a>
-<span class="sourceLineNo">088</span> public SuspendProcedure() {<a name="line.88"></a>
-<span class="sourceLineNo">089</span> super();<a name="line.89"></a>
-<span class="sourceLineNo">090</span> }<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span> @Override<a name="line.92"></a>
-<span class="sourceLineNo">093</span> protected Procedure[] execute(final MasterProcedureEnv env)<a name="line.93"></a>
-<span class="sourceLineNo">094</span> throws ProcedureSuspendedException {<a name="line.94"></a>
-<span class="sourceLineNo">095</span> // Always suspend the procedure<a name="line.95"></a>
-<span class="sourceLineNo">096</span> throw new ProcedureSuspendedException();<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> @Override<a name="line.99"></a>
-<span class="sourceLineNo">100</span> public TableName getTableName() {<a name="line.100"></a>
-<span class="sourceLineNo">101</span> return TABLE_NAME;<a name="line.101"></a>
-<span class="sourceLineNo">102</span> }<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span> @Override<a name="line.104"></a>
-<span class="sourceLineNo">105</span> public TableOperationType getTableOperationType() {<a name="line.105"></a>
-<span class="sourceLineNo">106</span> return TableOperationType.READ;<a name="line.106"></a>
-<span class="sourceLineNo">107</span> }<a name="line.107"></a>
-<span class="sourceLineNo">108</span> }<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span> @Test<a name="line.110"></a>
-<span class="sourceLineNo">111</span> public void testBypassProcedure() throws Exception {<a name="line.111"></a>
-<span class="sourceLineNo">112</span> // SuspendProcedure<a name="line.112"></a>
-<span class="sourceLineNo">113</span> final SuspendProcedure proc = new SuspendProcedure();<a name="line.113"></a>
-<span class="sourceLineNo">114</span> long procId = procExec.submitProcedure(proc);<a name="line.114"></a>
-<span class="sourceLineNo">115</span> Thread.sleep(500);<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span> //bypass the procedure<a name="line.117"></a>
-<span class="sourceLineNo">118</span> List<Long> pids = Arrays.<Long>asList(procId);<a name="line.118"></a>
-<span class="sourceLineNo">119</span> List<Boolean> results =<a name="line.119"></a>
-<span class="sourceLineNo">120</span> TEST_UTIL.getHbck().bypassProcedure(pids, 30000, false, false);<a name="line.120"></a>
-<span class="sourceLineNo">121</span> assertTrue("Failed to by pass procedure!", results.get(0));<a name="line.121"></a>
-<span class="sourceLineNo">122</span> TEST_UTIL.waitFor(5000, () -> proc.isSuccess() && proc.isBypass());<a name="line.122"></a>
-<span class="sourceLineNo">123</span> LOG.info("{} finished", proc);<a name="line.123"></a>
-<span class="sourceLineNo">124</span> }<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span> @Test<a name="line.126"></a>
-<span class="sourceLineNo">127</span> public void testSetTableStateInMeta() throws IOException {<a name="line.127"></a>
-<span class="sourceLineNo">128</span> Hbck hbck = TEST_UTIL.getHbck();<a name="line.128"></a>
-<span class="sourceLineNo">129</span> // set table state to DISABLED<a name="line.129"></a>
-<span class="sourceLineNo">130</span> hbck.setTableStateInMeta(new TableState(TABLE_NAME, TableState.State.DISABLED));<a name="line.130"></a>
-<span class="sourceLineNo">131</span> // Method {@link Hbck#setTableStateInMeta()} returns previous state, which in this case<a name="line.131"></a>
-<span class="sourceLineNo">132</span> // will be DISABLED<a name="line.132"></a>
-<span class="sourceLineNo">133</span> TableState prevState =<a name="line.133"></a>
-<span class="sourceLineNo">134</span> hbck.setTableStateInMeta(new TableState(TABLE_NAME, TableState.State.ENABLED));<a name="line.134"></a>
-<span class="sourceLineNo">135</span> assertTrue("Incorrect previous state! expeced=DISABLED, found=" + prevState.getState(),<a name="line.135"></a>
-<span class="sourceLineNo">136</span> prevState.isDisabled());<a name="line.136"></a>
-<span class="sourceLineNo">137</span> }<a name="line.137"></a>
-<span class="sourceLineNo">138</span><a name="line.138"></a>
-<span class="sourceLineNo">139</span> @Test<a name="line.139"></a>
-<span class="sourceLineNo">140</span> public void testAssigns() throws IOException {<a name="line.140"></a>
-<span class="sourceLineNo">141</span> Hbck hbck = TEST_UTIL.getHbck();<a name="line.141"></a>
-<span class="sourceLineNo">142</span> try (Admin admin = TEST_UTIL.getConnection().getAdmin()) {<a name="line.142"></a>
-<span class="sourceLineNo">143</span> List<RegionInfo> regions = admin.getRegions(TABLE_NAME);<a name="line.143"></a>
-<span class="sourceLineNo">144</span> for (RegionInfo ri: regions) {<a name="line.144"></a>
-<span class="sourceLineNo">145</span> RegionState rs = TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().<a name="line.145"></a>
-<span class="sourceLineNo">146</span> getRegionStates().getRegionState(ri.getEncodedName());<a name="line.146"></a>
-<span class="sourceLineNo">147</span> LOG.info("RS: {}", rs.toString());<a name="line.147"></a>
-<span class="sourceLineNo">148</span> }<a name="line.148"></a>
-<span class="sourceLineNo">149</span> List<Long> pids = hbck.unassigns(regions.stream().map(r -> r.getEncodedName()).<a name="line.149"></a>
-<span class="sourceLineNo">150</span> collect(Collectors.toList()));<a name="line.150"></a>
-<span class="sourceLineNo">151</span> waitOnPids(pids);<a name="line.151"></a>
-<span class="sourceLineNo">152</span> for (RegionInfo ri: regions) {<a name="line.152"></a>
-<span class="sourceLineNo">153</span> RegionState rs = TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().<a name="line.153"></a>
-<span class="sourceLineNo">154</span> getRegionStates().getRegionState(ri.getEncodedName());<a name="line.154"></a>
-<span class="sourceLineNo">155</span> LOG.info("RS: {}", rs.toString());<a name="line.155"></a>
-<span class="sourceLineNo">156</span> assertTrue(rs.toString(), rs.isClosed());<a name="line.156"></a>
-<span class="sourceLineNo">157</span> }<a name="line.157"></a>
-<span class="sourceLineNo">158</span> pids = hbck.assigns(regions.stream().map(r -> r.getEncodedName()).<a name="line.158"></a>
-<span class="sourceLineNo">159</span> collect(Collectors.toList()));<a name="line.159"></a>
-<span class="sourceLineNo">160</span> waitOnPids(pids);<a name="line.160"></a>
-<span class="sourceLineNo">161</span> for (RegionInfo ri: regions) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span> RegionState rs = TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().<a name="line.162"></a>
-<span class="sourceLineNo">163</span> getRegionStates().getRegionState(ri.getEncodedName());<a name="line.163"></a>
-<span class="sourceLineNo">164</span> LOG.info("RS: {}", rs.toString());<a name="line.164"></a>
-<span class="sourceLineNo">165</span> assertTrue(rs.toString(), rs.isOpened());<a name="line.165"></a>
-<span class="sourceLineNo">166</span> }<a name="line.166"></a>
-<span class="sourceLineNo">167</span> // What happens if crappy region list passed?<a name="line.167"></a>
-<span class="sourceLineNo">168</span> pids = hbck.assigns(Arrays.stream(new String [] {"a", "some rubbish name"}).<a name="line.168"></a>
-<span class="sourceLineNo">169</span> collect(Collectors.toList()));<a name="line.169"></a>
-<span class="sourceLineNo">170</span> for (long pid: pids) {<a name="line.170"></a>
-<span class="sourceLineNo">171</span> assertEquals(org.apache.hadoop.hbase.procedure2.Procedure.NO_PROC_ID, pid);<a name="line.171"></a>
-<span class="sourceLineNo">172</span> }<a name="line.172"></a>
-<span class="sourceLineNo">173</span> }<a name="line.173"></a>
-<span class="sourceLineNo">174</span> }<a name="line.174"></a>
-<span class="sourceLineNo">175</span><a name="line.175"></a>
-<span class="sourceLineNo">176</span> private void waitOnPids(List<Long> pids) {<a name="line.176"></a>
-<span class="sourceLineNo">177</span> for (Long pid: pids) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> while (!TEST_UTIL.getHBaseCluster().getMaster().getMasterProcedureExecutor().<a name="line.178"></a>
-<span class="sourceLineNo">179</span> isFinished(pid)) {<a name="line.179"></a>
-<span class="sourceLineNo">180</span> Threads.sleep(100);<a name="line.180"></a>
-<span class="sourceLineNo">181</span> }<a name="line.181"></a>
-<span class="sourceLineNo">182</span> }<a name="line.182"></a>
-<span class="sourceLineNo">183</span> }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>}<a name="line.184"></a>
+<span class="sourceLineNo">074</span> private static final TableName TABLE_NAME = TableName.valueOf(TestHbck.class.getSimpleName());<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span> private static ProcedureExecutor<MasterProcedureEnv> procExec;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span> @BeforeClass<a name="line.78"></a>
+<span class="sourceLineNo">079</span> public static void setUpBeforeClass() throws Exception {<a name="line.79"></a>
+<span class="sourceLineNo">080</span> TEST_UTIL.startMiniCluster(3);<a name="line.80"></a>
+<span class="sourceLineNo">081</span> TEST_UTIL.createMultiRegionTable(TABLE_NAME, Bytes.toBytes("family1"), 5);<a name="line.81"></a>
+<span class="sourceLineNo">082</span> procExec = TEST_UTIL.getMiniHBaseCluster().getMaster().getMasterProcedureExecutor();<a name="line.82"></a>
+<span class="sourceLineNo">083</span> }<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span> @AfterClass<a name="line.85"></a>
+<span class="sourceLineNo">086</span> public static void tearDownAfterClass() throws Exception {<a name="line.86"></a>
+<span class="sourceLineNo">087</span> TEST_UTIL.shutdownMiniCluster();<a name="line.87"></a>
+<span class="sourceLineNo">088</span> }<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span> public static class SuspendProcedure extends<a name="line.90"></a>
+<span class="sourceLineNo">091</span> ProcedureTestingUtility.NoopProcedure<MasterProcedureEnv> implements TableProcedureInterface {<a name="line.91"></a>
+<span class="sourceLineNo">092</span> public SuspendProcedure() {<a name="line.92"></a>
+<span class="sourceLineNo">093</span> super();<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> @Override<a name="line.96"></a>
+<span class="sourceLineNo">097</span> protected Procedure[] execute(final MasterProcedureEnv env)<a name="line.97"></a>
+<span class="sourceLineNo">098</span> throws ProcedureSuspendedException {<a name="line.98"></a>
+<span class="sourceLineNo">099</span> // Always suspend the procedure<a name="line.99"></a>
+<span class="sourceLineNo">100</span> throw new ProcedureSuspendedException();<a name="line.100"></a>
+<span class="sourceLineNo">101</span> }<a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span> @Override<a name="line.103"></a>
+<span class="sourceLineNo">104</span> public TableName getTableName() {<a name="line.104"></a>
+<span class="sourceLineNo">105</span> return TABLE_NAME;<a name="line.105"></a>
+<span class="sourceLineNo">106</span> }<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span> @Override<a name="line.108"></a>
+<span class="sourceLineNo">109</span> public TableOperationType getTableOperationType() {<a name="line.109"></a>
+<span class="sourceLineNo">110</span> return TableOperationType.READ;<a name="line.110"></a>
+<span class="sourceLineNo">111</span> }<a name="line.111"></a>
+<span class="sourceLineNo">112</span> }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span> @Test<a name="line.114"></a>
+<span class="sourceLineNo">115</span> public void testBypassProcedure() throws Exception {<a name="line.115"></a>
+<span class="sourceLineNo">116</span> // SuspendProcedure<a name="line.116"></a>
+<span class="sourceLineNo">117</span> final SuspendProcedure proc = new SuspendProcedure();<a name="line.117"></a>
+<span class="sourceLineNo">118</span> long procId = procExec.submitProcedure(proc);<a name="line.118"></a>
+<span class="sourceLineNo">119</span> Thread.sleep(500);<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span> //bypass the procedure<a name="line.121"></a>
+<span class="sourceLineNo">122</span> List<Long> pids = Arrays.<Long>asList(procId);<a name="line.122"></a>
+<span class="sourceLineNo">123</span> List<Boolean> results =<a name="line.123"></a>
+<span class="sourceLineNo">124</span> TEST_UTIL.getHbck().bypassProcedure(pids, 30000, false, false);<a name="line.124"></a>
+<span class="sourceLineNo">125</span> assertTrue("Failed to by pass procedure!", results.get(0));<a name="line.125"></a>
+<span class="sourceLineNo">126</span> TEST_UTIL.waitFor(5000, () -> proc.isSuccess() && proc.isBypass());<a name="line.126"></a>
+<span class="sourceLineNo">127</span> LOG.info("{} finished", proc);<a name="line.127"></a>
+<span class="sourceLineNo">128</span> }<a name="line.128"></a>
+<span class="sourceLineNo">129</span><a name="line.129"></a>
+<span class="sourceLineNo">130</span> @Test<a name="line.130"></a>
+<span class="sourceLineNo">131</span> public void testSetTableStateInMeta() throws IOException {<a name="line.131"></a>
+<span class="sourceLineNo">132</span> Hbck hbck = TEST_UTIL.getHbck();<a name="line.132"></a>
+<span class="sourceLineNo">133</span> // set table state to DISABLED<a name="line.133"></a>
+<span class="sourceLineNo">134</span> hbck.setTableStateInMeta(new TableState(TABLE_NAME, TableState.State.DISABLED));<a name="line.134"></a>
+<span class="sourceLineNo">135</span> // Method {@link Hbck#setTableStateInMeta()} returns previous state, which in this case<a name="line.135"></a>
+<span class="sourceLineNo">136</span> // will be DISABLED<a name="line.136"></a>
+<span class="sourceLineNo">137</span> TableState prevState =<a name="line.137"></a>
+<span class="sourceLineNo">138</span> hbck.setTableStateInMeta(new TableState(TABLE_NAME, TableState.State.ENABLED));<a name="line.138"></a>
+<span class="sourceLineNo">139</span> assertTrue("Incorrect previous state! expeced=DISABLED, found=" + prevState.getState(),<a name="line.139"></a>
+<span class="sourceLineNo">140</span> prevState.isDisabled());<a name="line.140"></a>
+<span class="sourceLineNo">141</span> }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span> @Test<a name="line.143"></a>
+<span class="sourceLineNo">144</span> public void testAssigns() throws IOException {<a name="line.144"></a>
+<span class="sourceLineNo">145</span> Hbck hbck = TEST_UTIL.getHbck();<a name="line.145"></a>
+<span class="sourceLineNo">146</span> try (Admin admin = TEST_UTIL.getConnection().getAdmin()) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span> List<RegionInfo> regions = admin.getRegions(TABLE_NAME);<a name="line.147"></a>
+<span class="sourceLineNo">148</span> for (RegionInfo ri: regions) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span> RegionState rs = TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().<a name="line.149"></a>
+<span class="sourceLineNo">150</span> getRegionStates().getRegionState(ri.getEncodedName());<a name="line.150"></a>
+<span class="sourceLineNo">151</span> LOG.info("RS: {}", rs.toString());<a name="line.151"></a>
+<span class="sourceLineNo">152</span> }<a name="line.152"></a>
+<span class="sourceLineNo">153</span> List<Long> pids = hbck.unassigns(regions.stream().map(r -> r.getEncodedName()).<a name="line.153"></a>
+<span class="sourceLineNo">154</span> collect(Collectors.toList()));<a name="line.154"></a>
+<span class="sourceLineNo">155</span> waitOnPids(pids);<a name="line.155"></a>
+<span class="sourceLineNo">156</span> for (RegionInfo ri: regions) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span> RegionState rs = TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().<a name="line.157"></a>
+<span class="sourceLineNo">158</span> getRegionStates().getRegionState(ri.getEncodedName());<a name="line.158"></a>
+<span class="sourceLineNo">159</span> LOG.info("RS: {}", rs.toString());<a name="line.159"></a>
+<span class="sourceLineNo">160</span> assertTrue(rs.toString(), rs.isClosed());<a name="line.160"></a>
+<span class="sourceLineNo">161</span> }<a name="line.161"></a>
+<span class="sourceLineNo">162</span> pids = hbck.assigns(regions.stream().map(r -> r.getEncodedName()).<a name="line.162"></a>
+<span class="sourceLineNo">163</span> collect(Collectors.toList()));<a name="line.163"></a>
+<span class="sourceLineNo">164</span> waitOnPids(pids);<a name="line.164"></a>
+<span class="sourceLineNo">165</span> for (RegionInfo ri: regions) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span> RegionState rs = TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().<a name="line.166"></a>
+<span class="sourceLineNo">167</span> getRegionStates().getRegionState(ri.getEncodedName());<a name="line.167"></a>
+<span class="sourceLineNo">168</span> LOG.info("RS: {}", rs.toString());<a name="line.168"></a>
+<span class="sourceLineNo">169</span> assertTrue(rs.toString(), rs.isOpened());<a name="line.169"></a>
+<span class="sourceLineNo">170</span> }<a name="line.170"></a>
+<span class="sourceLineNo">171</span> // What happens if crappy region list passed?<a name="line.171"></a>
+<span class="sourceLineNo">172</span> pids = hbck.assigns(Arrays.stream(new String [] {"a", "some rubbish name"}).<a name="line.172"></a>
+<span class="sourceLineNo">173</span> collect(Collectors.toList()));<a name="line.173"></a>
+<span class="sourceLineNo">174</span> for (long pid: pids) {<a name="line.174"></a>
+<span class="sourceLineNo">175</span> assertEquals(org.apache.hadoop.hbase.procedure2.Procedure.NO_PROC_ID, pid);<a name="line.175"></a>
+<span class="sourceLineNo">176</span> }<a name="line.176"></a>
+<span class="sourceLineNo">177</span> }<a name="line.177"></a>
+<span class="sourceLineNo">178</span> }<a name="line.178"></a>
+<span class="sourceLineNo">179</span><a name="line.179"></a>
+<span class="sourceLineNo">180</span> @Test<a name="line.180"></a>
+<span class="sourceLineNo">181</span> public void testScheduleSCP() throws Exception {<a name="line.181"></a>
+<span class="sourceLineNo">182</span> HRegionServer testRs = TEST_UTIL.getRSForFirstRegionInTable(TABLE_NAME);<a name="line.182"></a>
+<span class="sourceLineNo">183</span> TEST_UTIL.loadTable(TEST_UTIL.getConnection().getTable(TABLE_NAME), Bytes.toBytes("family1"),<a name="line.183"></a>
+<span class="sourceLineNo">184</span> true);<a name="line.184"></a>
+<span class="sourceLineNo">185</span> ServerName serverName = testRs.getServerName();<a name="line.185"></a>
+<span class="sourceLineNo">186</span> Hbck hbck = TEST_UTIL.getHbck();<a name="line.186"></a>
+<span class="sourceLineNo">187</span> List<Long> pids =<a name="line.187"></a>
+<span class="sourceLineNo">188</span> hbck.scheduleServerCrashProcedure(Arrays.asList(ProtobufUtil.toServerName(serverName)));<a name="line.188"></a>
+<span class="sourceLineNo">189</span> assertTrue(pids.get(0) > 0);<a name="line.189"></a>
+<span class="sourceLineNo">190</span> LOG.info("pid is {}", pids.get(0));<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span> pids = hbck.scheduleServerCrashProcedure(Arrays.asList(ProtobufUtil.toServerName(serverName)));<a name="line.192"></a>
+<span class="sourceLineNo">193</span> assertTrue(pids.get(0) == -1);<a name="line.193"></a>
+<span class="sourceLineNo">194</span> LOG.info("pid is {}", pids.get(0));<a name="line.194"></a>
+<span class="sourceLineNo">195</span> }<a name="line.195"></a>
+<span class="sourceLineNo">196</span><a name="line.196"></a>
+<span class="sourceLineNo">197</span> private void waitOnPids(List<Long> pids) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span> for (Long pid: pids) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span> while (!TEST_UTIL.getHBaseCluster().getMaster().getMasterProcedureExecutor().<a name="line.199"></a>
+<span class="sourceLineNo">200</span> isFinished(pid)) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span> Threads.sleep(100);<a name="line.201"></a>
+<span class="sourceLineNo">202</span> }<a name="line.202"></a>
+<span class="sourceLineNo">203</span> }<a name="line.203"></a>
+<span class="sourceLineNo">204</span> }<a name="line.204"></a>
+<span class="sourceLineNo">205</span>}<a name="line.205"></a>
[14/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
index 44ab859..6f98af1 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
@@ -781,7 +781,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#stopAssignmentThread--">stopAssignmentThread</a></span>()</code> </td>
</tr>
<tr id="i90" class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#submitServerCrash-org.apache.hadoop.hbase.ServerName-boolean-">submitServerCrash</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
boolean shouldSplitWal)</code> </td>
</tr>
@@ -1175,7 +1175,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>STATES_EXPECTED_ON_OPEN</h4>
-<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1436">STATES_EXPECTED_ON_OPEN</a></pre>
+<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1437">STATES_EXPECTED_ON_OPEN</a></pre>
</li>
</ul>
<a name="STATES_EXPECTED_ON_CLOSING">
@@ -1184,7 +1184,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>STATES_EXPECTED_ON_CLOSING</h4>
-<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1441">STATES_EXPECTED_ON_CLOSING</a></pre>
+<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1442">STATES_EXPECTED_ON_CLOSING</a></pre>
</li>
</ul>
<a name="STATES_EXPECTED_ON_CLOSED">
@@ -1193,7 +1193,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>STATES_EXPECTED_ON_CLOSED</h4>
-<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1448">STATES_EXPECTED_ON_CLOSED</a></pre>
+<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1449">STATES_EXPECTED_ON_CLOSED</a></pre>
</li>
</ul>
<a name="STATES_EXPECTED_ON_ASSIGN">
@@ -1202,7 +1202,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>STATES_EXPECTED_ON_ASSIGN</h4>
-<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1455">STATES_EXPECTED_ON_ASSIGN</a></pre>
+<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1456">STATES_EXPECTED_ON_ASSIGN</a></pre>
</li>
</ul>
<a name="STATES_EXPECTED_ON_UNASSIGN_OR_MOVE">
@@ -1211,7 +1211,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>STATES_EXPECTED_ON_UNASSIGN_OR_MOVE</h4>
-<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1458">STATES_EXPECTED_ON_UNASSIGN_OR_MOVE</a></pre>
+<pre>private static final <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1459">STATES_EXPECTED_ON_UNASSIGN_OR_MOVE</a></pre>
</li>
</ul>
<a name="pendingAssignQueue">
@@ -1220,7 +1220,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>pendingAssignQueue</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a><<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1633">pendingAssignQueue</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a><<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1634">pendingAssignQueue</a></pre>
</li>
</ul>
<a name="assignQueueLock">
@@ -1229,7 +1229,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>assignQueueLock</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1634">assignQueueLock</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1635">assignQueueLock</a></pre>
</li>
</ul>
<a name="assignQueueFullCond">
@@ -1238,7 +1238,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockListLast">
<li class="blockList">
<h4>assignQueueFullCond</h4>
-<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1635">assignQueueFullCond</a></pre>
+<pre>private final <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1636">assignQueueFullCond</a></pre>
</li>
</ul>
</li>
@@ -2143,7 +2143,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>submitServerCrash</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1364">submitServerCrash</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
+<pre>public long <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1364">submitServerCrash</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
boolean shouldSplitWal)</pre>
</li>
</ul>
@@ -2153,7 +2153,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>offlineRegion</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1373">offlineRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1374">offlineRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo)</pre>
</li>
</ul>
<a name="onlineRegion-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">
@@ -2162,7 +2162,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>onlineRegion</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1381">onlineRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1382">onlineRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo,
<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
</li>
</ul>
@@ -2172,7 +2172,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>getSnapShotOfAssignment</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1385">getSnapShotOfAssignment</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">R
egionInfo</a>> regions)</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1386">getSnapShotOfAssignment</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">R
egionInfo</a>> regions)</pre>
</li>
</ul>
<a name="getReopenStatus-org.apache.hadoop.hbase.TableName-">
@@ -2181,7 +2181,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>getReopenStatus</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1400">getReopenStatus</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1401">getReopenStatus</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
<div class="block">Used by the client (via master) to identify if all regions have the schema updates</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -2199,7 +2199,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>hasRegionsInTransition</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1414">hasRegionsInTransition</a>()</pre>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1415">hasRegionsInTransition</a>()</pre>
</li>
</ul>
<a name="getRegionsInTransition--">
@@ -2208,7 +2208,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>getRegionsInTransition</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1418">getRegionsInTransition</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1419">getRegionsInTransition</a>()</pre>
</li>
</ul>
<a name="getAssignedRegions--">
@@ -2217,7 +2217,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>getAssignedRegions</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1422">getAssignedRegions</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1423">getAssignedRegions</a>()</pre>
</li>
</ul>
<a name="getRegionInfo-byte:A-">
@@ -2226,7 +2226,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>getRegionInfo</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1426">getRegionInfo</a>(byte[] regionName)</pre>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1427">getRegionInfo</a>(byte[] regionName)</pre>
</li>
</ul>
<a name="transitStateAndUpdate-org.apache.hadoop.hbase.master.assignment.RegionStateNode-org.apache.hadoop.hbase.master.RegionState.State-org.apache.hadoop.hbase.master.RegionState.State...-">
@@ -2235,7 +2235,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>transitStateAndUpdate</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1464">transitStateAndUpdate</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1465">transitStateAndUpdate</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode,
<a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a> newState,
<a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>... expectedStates)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -2251,7 +2251,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>regionOpening</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1481">regionOpening</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1482">regionOpening</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -2265,7 +2265,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>regionFailedOpen</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1494">regionFailedOpen</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode,
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1495">regionFailedOpen</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode,
boolean giveUp)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -2280,7 +2280,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>regionOpened</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1518">regionOpened</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1519">regionOpened</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -2294,7 +2294,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>regionClosing</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1535">regionClosing</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1536">regionClosing</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -2308,7 +2308,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>regionClosed</h4>
-<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1551">regionClosed</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode,
+<pre>void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1552">regionClosed</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode,
boolean normally)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -2323,7 +2323,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>markRegionAsSplit</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1578">markRegionAsSplit</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> parent,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1579">markRegionAsSplit</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> parent,
<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> daughterA,
<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> daughterB)
@@ -2340,7 +2340,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>markRegionAsMerged</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1608">markRegionAsMerged</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> child,
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1609">markRegionAsMerged</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> child,
<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> mother,
<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> father)
@@ -2363,7 +2363,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>shouldAssignFavoredNodes</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1625">shouldAssignFavoredNodes</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> region)</pre>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1626">shouldAssignFavoredNodes</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> region)</pre>
</li>
</ul>
<a name="queueAssign-org.apache.hadoop.hbase.master.assignment.RegionStateNode-">
@@ -2372,7 +2372,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>queueAssign</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1642">queueAssign</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)</pre>
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1643">queueAssign</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a> regionNode)</pre>
<div class="block">Add the assign operation to the assignment queue.
The pending assignment operation will be processed,
and each region will be assigned by a server using the balancer.</div>
@@ -2384,7 +2384,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>startAssignmentThread</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1659">startAssignmentThread</a>()</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1660">startAssignmentThread</a>()</pre>
</li>
</ul>
<a name="stopAssignmentThread--">
@@ -2393,7 +2393,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>stopAssignmentThread</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1677">stopAssignmentThread</a>()</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1678">stopAssignmentThread</a>()</pre>
</li>
</ul>
<a name="assignQueueSignal--">
@@ -2402,7 +2402,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>assignQueueSignal</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1690">assignQueueSignal</a>()</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1691">assignQueueSignal</a>()</pre>
</li>
</ul>
<a name="waitOnAssignQueue--">
@@ -2411,7 +2411,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>waitOnAssignQueue</h4>
-<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1700">waitOnAssignQueue</a>()</pre>
+<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1701">waitOnAssignQueue</a>()</pre>
</li>
</ul>
<a name="processAssignQueue--">
@@ -2420,7 +2420,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>processAssignQueue</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1725">processAssignQueue</a>()</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1726">processAssignQueue</a>()</pre>
</li>
</ul>
<a name="processAssignmentPlans-java.util.HashMap-java.util.HashMap-java.util.List-java.util.List-">
@@ -2429,7 +2429,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>processAssignmentPlans</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1787">processAssignmentPlans</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> regions,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1788">processAssignmentPlans</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> regions,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> retainMap,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> hris,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> servers)</pre>
@@ -2441,7 +2441,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>acceptPlan</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1825">acceptPlan</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> regions,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1826">acceptPlan</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> regions,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>>> plan)
throws <a href="../../../../../../org/apache/hadoop/hbase/HBaseIOException.html" title="class in org.apache.hadoop.hbase">HBaseIOException</a></pre>
<dl>
@@ -2456,7 +2456,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>addToPendingAssignment</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1854">addToPendingAssignment</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> regions,
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1855">addToPendingAssignment</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>> regions,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>> pendingRegions)</pre>
</li>
</ul>
@@ -2466,7 +2466,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>getExcludedServersForSystemTable</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1870">getExcludedServersForSystemTable</a>()</pre>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1871">getExcludedServersForSystemTable</a>()</pre>
<div class="block">Get a list of servers that this region cannot be assigned to.
For system tables, we must assign them to a server with highest version.</div>
</li>
@@ -2477,7 +2477,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>serverAdded</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1893">serverAdded</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1894">serverAdded</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/master/ServerListener.html#serverAdded-org.apache.hadoop.hbase.ServerName-">ServerListener</a></code></span></div>
<div class="block">The server has joined the cluster.</div>
<dl>
@@ -2494,7 +2494,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>serverRemoved</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1897">serverRemoved</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1898">serverRemoved</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/master/ServerListener.html#serverRemoved-org.apache.hadoop.hbase.ServerName-">ServerListener</a></code></span></div>
<div class="block">The server was removed from the cluster.</div>
<dl>
@@ -2511,7 +2511,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockList">
<li class="blockList">
<h4>killRegionServer</h4>
-<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1905">killRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a> serverNode)</pre>
+<pre>private void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1906">killRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a> serverNode)</pre>
</li>
</ul>
<a name="getMaster--">
@@ -2520,7 +2520,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
<ul class="blockListLast">
<li class="blockList">
<h4>getMaster</h4>
-<pre><a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1910">getMaster</a>()</pre>
+<pre><a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1911">getMaster</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
index abd92a9..1799704 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
@@ -198,8 +198,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><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.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.LocalityType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.Action.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.LocalityType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
index 69955be..85aecf0 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -347,11 +347,11 @@
<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.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html
index 5db3a2e..5fe86c1 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html
@@ -101,7 +101,7 @@ var activeTableTab = "activeTableTab";
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AddPeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/DisablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">DisablePeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/EnablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">EnablePeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">ModifyPeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProc
edure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RefreshPeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RemovePeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateP
rocedure.html" title="class in org.apache.hadoop.hbase.master.replication">TransitPeerSyncReplicationStateProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">UpdatePeerConfigProcedure</a></dd>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AddPeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/DisablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">DisablePeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/EnablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">EnablePeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
difyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">ModifyPeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RefreshPeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RemovePeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="cla
ss in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">TransitPeerSyncReplicationStateProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">UpdatePeerConfigProcedure</a></dd>
</dl>
<hr>
<br>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
index 8d04c92..67cc7cc 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
@@ -2494,8 +2494,8 @@
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env,
- <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="type parameter in AbstractPeerProcedure">TState</a> state)</code> </td>
+<td class="colLast"><span class="typeNameLabel">AbstractPeerNoLockProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env,
+ <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="type parameter in AbstractPeerNoLockProcedure">TState</a> state)</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
@@ -2514,7 +2514,7 @@
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</code> </td>
+<td class="colLast"><span class="typeNameLabel">AbstractPeerNoLockProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
@@ -2568,7 +2568,7 @@
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</code> </td>
+<td class="colLast"><span class="typeNameLabel">AbstractPeerNoLockProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</code> </td>
</tr>
</tbody>
</table>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/PeerProcedureInterface.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/PeerProcedureInterface.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/PeerProcedureInterface.html
index 0d5b27e..daee7e8 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/PeerProcedureInterface.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/PeerProcedureInterface.html
@@ -126,64 +126,71 @@
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><TState></span></code>
+<div class="block">Base class for replication peer related procedures which do not need to hold locks(for most of
+ the sub procedures).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><TState></span></code>
<div class="block">The base class for all replication peer related procedure.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AddPeerProcedure</a></span></code>
<div class="block">The procedure for adding a new replication peer.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/DisablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">DisablePeerProcedure</a></span></code>
<div class="block">The procedure for disabling a replication peer.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/EnablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">EnablePeerProcedure</a></span></code>
<div class="block">The procedure for enabling a replication peer.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">ModifyPeerProcedure</a></span></code>
<div class="block">The base class for all replication peer related procedure except sync replication state
transition.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RefreshPeerProcedure</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RemovePeerProcedure</a></span></code>
<div class="block">The procedure for removing a replication peer.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">TransitPeerSyncReplicationStateProcedure</a></span></code>
<div class="block">The procedure for transit current sync replication state for a synchronous replication peer.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">UpdatePeerConfigProcedure</a></span></code>
<div class="block">The procedure for updating the config for a replication peer.</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
index 35a3477..c26b4e4 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
@@ -216,9 +216,9 @@
<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.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">PeerProcedureInterface.PeerOperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">TableProcedureInterface.TableOperationType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">ServerProcedureInterface.ServerOperationType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MetaProcedureInterface.MetaOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">MetaProcedureInterface.MetaOperationType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">TableProcedureInterface.TableOperationType</span></a></li>
</ul>
</li>
</ul>
[02/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
index 2ce5268..d3f86ce 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
@@ -85,6 +85,8 @@
<ul>
<li type="circle">org.apache.hadoop.hbase.procedure2.StateMachineProcedure<TEnvironment,TState>
<ul>
+<li type="circle">org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure<TState> (implements org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface)
+<ul>
<li type="circle">org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure<TState> (implements org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface)
<ul>
<li type="circle">org.apache.hadoop.hbase.master.replication.ModifyPeerProcedure
@@ -103,6 +105,8 @@
</li>
</ul>
</li>
+</ul>
+</li>
<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TestModifyPeerProcedureRetryBackoff</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TestTransitPeerSyncReplicationStateProcedureBackoff</span></a></li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
index dadab29..3b3fbdd 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -579,15 +579,15 @@
<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.<a href="../../../../org/apache/hadoop/hbase/ScanPerformanceEvaluation.ScanCounter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ScanPerformanceEvaluation.ScanCounter</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.Stat.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestRegionReplicaPerf.Stat</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterManager.ServiceType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterManager.ServiceType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">PerformanceEvaluation.Counter</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.Service.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.Service</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.RoleCommand.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.RoleCommand</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.ACTION.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestDDLMasterFailover.ACTION</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.Service.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.Service</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ResourceChecker.Phase.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ResourceChecker.Phase</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.Stat.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestRegionReplicaPerf.Stat</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">PerformanceEvaluation.Counter</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.RoleCommand.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.RoleCommand</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HBaseClusterManager.CommandProvider.Operation.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HBaseClusterManager.CommandProvider.Operation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ScanPerformanceEvaluation.ScanCounter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ScanPerformanceEvaluation.ScanCounter</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index 55036db..9d4783d 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -228,9 +228,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.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestStateMachineProcedure.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestYieldProcedures.TestStateMachineProcedure.State</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureBypass.StuckStateMachineState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureBypass.StuckStateMachineState</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureRecovery.TestStateMachineProcedure.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestStateMachineProcedure.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestYieldProcedures.TestStateMachineProcedure.State</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestStateMachineProcedure.TestSMProcedureState</span></a></li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.MyMasterRpcServices.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.MyMasterRpcServices.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.MyMasterRpcServices.html
index 83aa797..ff97851 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.MyMasterRpcServices.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.MyMasterRpcServices.html
@@ -220,7 +220,7 @@ extends org.apache.hadoop.hbase.master.MasterRpcServices</pre>
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.master.MasterRpcServices</h3>
-<code>abortProcedure, addColumn, addReplicationPeer, assignRegion, assigns, balance, bypassProcedure, clearDeadServers, compactRegion, createNamespace, createPriority, createRpcServer, createTable, decommissionRegionServers, deleteColumn, deleteNamespace, deleteSnapshot, deleteTable, disableReplicationPeer, disableTable, enableCatalogJanitor, enableReplicationPeer, enableTable, execMasterService, execProcedure, execProcedureWithRet, getClusterStatus, getCompletedSnapshots, getLastFlushedSequenceId, getLastMajorCompactionTimestamp, getLastMajorCompactionTimestampForRegion, getLocks, getNamespaceDescriptor, getProcedureResult, getProcedures, getQuotaStates, getRegionInfo, getReplicationPeerConfig, getRpcSchedulerFactoryClass, getSchemaAlterStatus, getSecurityCapabilities, getServices, getSpaceQuotaRegionSizes, getTableDescriptors, getTableNames, getTableState, isBalancerEnabled, isCatalogJanitorEnabled, isCleanerChoreEnabled, isMasterInMaintenanceMode, isMasterRunning, isNormalizerEna
bled, isProcedureDone, isSnapshotDone, isSplitOrMergeEnabled, listDecommissionedRegionServers, listNamespaceDescriptors, listReplicationPeers, listTableDescriptorsByNamespace, listTableNamesByNamespace, lockHeartbeat, mergeTableRegions, modifyColumn, modifyNamespace, modifyTable, moveRegion, normalize, offlineRegion, recommissionRegionServer, regionServerReport, regionServerStartup, removeReplicationPeer, reportFileArchival, reportProcedureDone, reportRegionSpaceUse, reportRSFatalError, requestLock, restoreSnapshot, runCatalogScan, runCleanerChore, setBalancerRunning, setCleanerChoreRunning, setNormalizerRunning, setQuota, setSplitOrMergeEnabled, setTableStateInMeta, shutdown, snapshot, splitRegion, stopMaster, transitReplicationPeerSyncReplicationState, truncateTable, unassignRegion, unassigns, updateReplicationPeerConfig</code></li>
+<code>abortProcedure, addColumn, addReplicationPeer, assignRegion, assigns, balance, bypassProcedure, clearDeadServers, compactRegion, createNamespace, createPriority, createRpcServer, createTable, decommissionRegionServers, deleteColumn, deleteNamespace, deleteSnapshot, deleteTable, disableReplicationPeer, disableTable, enableCatalogJanitor, enableReplicationPeer, enableTable, execMasterService, execProcedure, execProcedureWithRet, getClusterStatus, getCompletedSnapshots, getLastFlushedSequenceId, getLastMajorCompactionTimestamp, getLastMajorCompactionTimestampForRegion, getLocks, getNamespaceDescriptor, getProcedureResult, getProcedures, getQuotaStates, getRegionInfo, getReplicationPeerConfig, getRpcSchedulerFactoryClass, getSchemaAlterStatus, getSecurityCapabilities, getServices, getSpaceQuotaRegionSizes, getTableDescriptors, getTableNames, getTableState, isBalancerEnabled, isCatalogJanitorEnabled, isCleanerChoreEnabled, isMasterInMaintenanceMode, isMasterRunning, isNormalizerEna
bled, isProcedureDone, isSnapshotDone, isSplitOrMergeEnabled, listDecommissionedRegionServers, listNamespaceDescriptors, listReplicationPeers, listTableDescriptorsByNamespace, listTableNamesByNamespace, lockHeartbeat, mergeTableRegions, modifyColumn, modifyNamespace, modifyTable, moveRegion, normalize, offlineRegion, recommissionRegionServer, regionServerReport, regionServerStartup, removeReplicationPeer, reportFileArchival, reportProcedureDone, reportRegionSpaceUse, reportRSFatalError, requestLock, restoreSnapshot, runCatalogScan, runCleanerChore, scheduleServerCrashProcedure, setBalancerRunning, setCleanerChoreRunning, setNormalizerRunning, setQuota, setSplitOrMergeEnabled, setTableStateInMeta, shutdown, snapshot, splitRegion, stopMaster, transitReplicationPeerSyncReplicationState, truncateTable, unassignRegion, unassigns, updateReplicationPeerConfig</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.regionserver.RSRpcServices">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.MyMasterRpcServices.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.MyMasterRpcServices.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.MyMasterRpcServices.html
index f99ba79..1aac921 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.MyMasterRpcServices.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.MyMasterRpcServices.html
@@ -220,7 +220,7 @@ extends org.apache.hadoop.hbase.master.MasterRpcServices</pre>
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.master.MasterRpcServices</h3>
-<code>abortProcedure, addColumn, addReplicationPeer, assignRegion, assigns, balance, bypassProcedure, clearDeadServers, compactRegion, createNamespace, createPriority, createRpcServer, createTable, decommissionRegionServers, deleteColumn, deleteNamespace, deleteSnapshot, deleteTable, disableReplicationPeer, disableTable, enableCatalogJanitor, enableReplicationPeer, enableTable, execMasterService, execProcedure, execProcedureWithRet, getClusterStatus, getCompletedSnapshots, getLastFlushedSequenceId, getLastMajorCompactionTimestamp, getLastMajorCompactionTimestampForRegion, getLocks, getNamespaceDescriptor, getProcedureResult, getProcedures, getQuotaStates, getRegionInfo, getReplicationPeerConfig, getRpcSchedulerFactoryClass, getSchemaAlterStatus, getSecurityCapabilities, getServices, getSpaceQuotaRegionSizes, getTableDescriptors, getTableNames, getTableState, isBalancerEnabled, isCatalogJanitorEnabled, isCleanerChoreEnabled, isMasterInMaintenanceMode, isMasterRunning, isNormalizerEna
bled, isProcedureDone, isSnapshotDone, isSplitOrMergeEnabled, listDecommissionedRegionServers, listNamespaceDescriptors, listReplicationPeers, listTableDescriptorsByNamespace, listTableNamesByNamespace, lockHeartbeat, mergeTableRegions, modifyColumn, modifyNamespace, modifyTable, moveRegion, normalize, offlineRegion, recommissionRegionServer, regionServerReport, regionServerStartup, removeReplicationPeer, reportFileArchival, reportProcedureDone, reportRegionSpaceUse, reportRSFatalError, requestLock, restoreSnapshot, runCatalogScan, runCleanerChore, setBalancerRunning, setCleanerChoreRunning, setNormalizerRunning, setQuota, setSplitOrMergeEnabled, setTableStateInMeta, shutdown, snapshot, splitRegion, stopMaster, transitReplicationPeerSyncReplicationState, truncateTable, unassignRegion, unassigns, updateReplicationPeerConfig</code></li>
+<code>abortProcedure, addColumn, addReplicationPeer, assignRegion, assigns, balance, bypassProcedure, clearDeadServers, compactRegion, createNamespace, createPriority, createRpcServer, createTable, decommissionRegionServers, deleteColumn, deleteNamespace, deleteSnapshot, deleteTable, disableReplicationPeer, disableTable, enableCatalogJanitor, enableReplicationPeer, enableTable, execMasterService, execProcedure, execProcedureWithRet, getClusterStatus, getCompletedSnapshots, getLastFlushedSequenceId, getLastMajorCompactionTimestamp, getLastMajorCompactionTimestampForRegion, getLocks, getNamespaceDescriptor, getProcedureResult, getProcedures, getQuotaStates, getRegionInfo, getReplicationPeerConfig, getRpcSchedulerFactoryClass, getSchemaAlterStatus, getSecurityCapabilities, getServices, getSpaceQuotaRegionSizes, getTableDescriptors, getTableNames, getTableState, isBalancerEnabled, isCatalogJanitorEnabled, isCleanerChoreEnabled, isMasterInMaintenanceMode, isMasterRunning, isNormalizerEna
bled, isProcedureDone, isSnapshotDone, isSplitOrMergeEnabled, listDecommissionedRegionServers, listNamespaceDescriptors, listReplicationPeers, listTableDescriptorsByNamespace, listTableNamesByNamespace, lockHeartbeat, mergeTableRegions, modifyColumn, modifyNamespace, modifyTable, moveRegion, normalize, offlineRegion, recommissionRegionServer, regionServerReport, regionServerStartup, removeReplicationPeer, reportFileArchival, reportProcedureDone, reportRegionSpaceUse, reportRSFatalError, requestLock, restoreSnapshot, runCatalogScan, runCleanerChore, scheduleServerCrashProcedure, setBalancerRunning, setCleanerChoreRunning, setNormalizerRunning, setQuota, setSplitOrMergeEnabled, setTableStateInMeta, shutdown, snapshot, splitRegion, stopMaster, transitReplicationPeerSyncReplicationState, truncateTable, unassignRegion, unassigns, updateReplicationPeerConfig</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.regionserver.RSRpcServices">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/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 ebbe167..00632cf 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -701,11 +701,11 @@
<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.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/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/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/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>
<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/TestRegionServerReadRequestMetrics.Metric.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestRegionServerReadRequestMetrics.Metric</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/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 db9b7a6..b306111 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
@@ -253,8 +253,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><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/IntegrationTestLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestLoadAndVerify.Counters</span></a></li>
<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestWithCellVisibilityLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestWithCellVisibilityLoadAndVerify.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/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/IntegrationTestBigLinkedList.Generator.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Generator.Counts</span></a></li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/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 4d091e3..b21ae88 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -141,9 +141,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/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>
<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/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>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/testdevapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/overview-tree.html b/testdevapidocs/overview-tree.html
index d624079..e55d4f3 100644
--- a/testdevapidocs/overview-tree.html
+++ b/testdevapidocs/overview-tree.html
@@ -1811,6 +1811,8 @@
<li type="circle">org.apache.hadoop.hbase.client.procedure.<a href="org/apache/hadoop/hbase/client/procedure/ShellTestProcedure.html" title="class in org.apache.hadoop.hbase.client.procedure"><span class="typeNameLink">ShellTestProcedure</span></a> (implements org.apache.hadoop.hbase.master.procedure.TableProcedureInterface)</li>
<li type="circle">org.apache.hadoop.hbase.procedure2.StateMachineProcedure<TEnvironment,TState>
<ul>
+<li type="circle">org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure<TState> (implements org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface)
+<ul>
<li type="circle">org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure<TState> (implements org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface)
<ul>
<li type="circle">org.apache.hadoop.hbase.master.replication.ModifyPeerProcedure
@@ -1825,6 +1827,8 @@
</li>
</ul>
</li>
+</ul>
+</li>
<li type="circle">org.apache.hadoop.hbase.master.procedure.AbstractStateMachineTableProcedure<TState> (implements org.apache.hadoop.hbase.master.procedure.TableProcedureInterface)
<ul>
<li type="circle">org.apache.hadoop.hbase.master.procedure.AbstractStateMachineRegionProcedure<TState>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html
index f032370..6138b0c 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html
@@ -36,160 +36,181 @@
<span class="sourceLineNo">028</span><a name="line.28"></a>
<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.29"></a>
<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<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.master.RegionState;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.master.procedure.TableProcedureInterface;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.junit.AfterClass;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.junit.BeforeClass;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.junit.ClassRule;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.junit.Rule;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.junit.Test;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.junit.experimental.categories.Category;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.junit.rules.TestName;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.slf4j.Logger;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.slf4j.LoggerFactory;<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>/**<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * Class to test HBaseHbck.<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * Spins up the minicluster once at test start and then takes it down afterward.<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * Add any testing of HBaseHbck functionality here.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>@Category({LargeTests.class, ClientTests.class})<a name="line.58"></a>
-<span class="sourceLineNo">059</span>public class TestHbck {<a name="line.59"></a>
-<span class="sourceLineNo">060</span> @ClassRule<a name="line.60"></a>
-<span class="sourceLineNo">061</span> public static final HBaseClassTestRule CLASS_RULE =<a name="line.61"></a>
-<span class="sourceLineNo">062</span> HBaseClassTestRule.forClass(TestHbck.class);<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span> private static final Logger LOG = LoggerFactory.getLogger(TestHbck.class);<a name="line.64"></a>
-<span class="sourceLineNo">065</span> private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span> @Rule<a name="line.67"></a>
-<span class="sourceLineNo">068</span> public TestName name = new TestName();<a name="line.68"></a>
-<span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span> private static final TableName TABLE_NAME = TableName.valueOf(TestHbck.class.getSimpleName());<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span> private static ProcedureExecutor<MasterProcedureEnv> procExec;<a name="line.72"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.ServerName;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.TableName;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.master.procedure.TableProcedureInterface;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.junit.AfterClass;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.junit.BeforeClass;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.junit.ClassRule;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.junit.Rule;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.junit.Test;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.junit.experimental.categories.Category;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.junit.rules.TestName;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.slf4j.Logger;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.slf4j.LoggerFactory;<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>/**<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * Class to test HBaseHbck.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * Spins up the minicluster once at test start and then takes it down afterward.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * Add any testing of HBaseHbck functionality here.<a name="line.60"></a>
+<span class="sourceLineNo">061</span> */<a name="line.61"></a>
+<span class="sourceLineNo">062</span>@Category({LargeTests.class, ClientTests.class})<a name="line.62"></a>
+<span class="sourceLineNo">063</span>public class TestHbck {<a name="line.63"></a>
+<span class="sourceLineNo">064</span> @ClassRule<a name="line.64"></a>
+<span class="sourceLineNo">065</span> public static final HBaseClassTestRule CLASS_RULE =<a name="line.65"></a>
+<span class="sourceLineNo">066</span> HBaseClassTestRule.forClass(TestHbck.class);<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span> private static final Logger LOG = LoggerFactory.getLogger(TestHbck.class);<a name="line.68"></a>
+<span class="sourceLineNo">069</span> private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span> @Rule<a name="line.71"></a>
+<span class="sourceLineNo">072</span> public TestName name = new TestName();<a name="line.72"></a>
<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span> @BeforeClass<a name="line.74"></a>
-<span class="sourceLineNo">075</span> public static void setUpBeforeClass() throws Exception {<a name="line.75"></a>
-<span class="sourceLineNo">076</span> TEST_UTIL.startMiniCluster(3);<a name="line.76"></a>
-<span class="sourceLineNo">077</span> TEST_UTIL.createMultiRegionTable(TABLE_NAME, Bytes.toBytes("family1"), 5);<a name="line.77"></a>
-<span class="sourceLineNo">078</span> procExec = TEST_UTIL.getMiniHBaseCluster().getMaster().getMasterProcedureExecutor();<a name="line.78"></a>
-<span class="sourceLineNo">079</span> }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span> @AfterClass<a name="line.81"></a>
-<span class="sourceLineNo">082</span> public static void tearDownAfterClass() throws Exception {<a name="line.82"></a>
-<span class="sourceLineNo">083</span> TEST_UTIL.shutdownMiniCluster();<a name="line.83"></a>
-<span class="sourceLineNo">084</span> }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span> public static class SuspendProcedure extends<a name="line.86"></a>
-<span class="sourceLineNo">087</span> ProcedureTestingUtility.NoopProcedure<MasterProcedureEnv> implements TableProcedureInterface {<a name="line.87"></a>
-<span class="sourceLineNo">088</span> public SuspendProcedure() {<a name="line.88"></a>
-<span class="sourceLineNo">089</span> super();<a name="line.89"></a>
-<span class="sourceLineNo">090</span> }<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span> @Override<a name="line.92"></a>
-<span class="sourceLineNo">093</span> protected Procedure[] execute(final MasterProcedureEnv env)<a name="line.93"></a>
-<span class="sourceLineNo">094</span> throws ProcedureSuspendedException {<a name="line.94"></a>
-<span class="sourceLineNo">095</span> // Always suspend the procedure<a name="line.95"></a>
-<span class="sourceLineNo">096</span> throw new ProcedureSuspendedException();<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> @Override<a name="line.99"></a>
-<span class="sourceLineNo">100</span> public TableName getTableName() {<a name="line.100"></a>
-<span class="sourceLineNo">101</span> return TABLE_NAME;<a name="line.101"></a>
-<span class="sourceLineNo">102</span> }<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span> @Override<a name="line.104"></a>
-<span class="sourceLineNo">105</span> public TableOperationType getTableOperationType() {<a name="line.105"></a>
-<span class="sourceLineNo">106</span> return TableOperationType.READ;<a name="line.106"></a>
-<span class="sourceLineNo">107</span> }<a name="line.107"></a>
-<span class="sourceLineNo">108</span> }<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span> @Test<a name="line.110"></a>
-<span class="sourceLineNo">111</span> public void testBypassProcedure() throws Exception {<a name="line.111"></a>
-<span class="sourceLineNo">112</span> // SuspendProcedure<a name="line.112"></a>
-<span class="sourceLineNo">113</span> final SuspendProcedure proc = new SuspendProcedure();<a name="line.113"></a>
-<span class="sourceLineNo">114</span> long procId = procExec.submitProcedure(proc);<a name="line.114"></a>
-<span class="sourceLineNo">115</span> Thread.sleep(500);<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span> //bypass the procedure<a name="line.117"></a>
-<span class="sourceLineNo">118</span> List<Long> pids = Arrays.<Long>asList(procId);<a name="line.118"></a>
-<span class="sourceLineNo">119</span> List<Boolean> results =<a name="line.119"></a>
-<span class="sourceLineNo">120</span> TEST_UTIL.getHbck().bypassProcedure(pids, 30000, false, false);<a name="line.120"></a>
-<span class="sourceLineNo">121</span> assertTrue("Failed to by pass procedure!", results.get(0));<a name="line.121"></a>
-<span class="sourceLineNo">122</span> TEST_UTIL.waitFor(5000, () -> proc.isSuccess() && proc.isBypass());<a name="line.122"></a>
-<span class="sourceLineNo">123</span> LOG.info("{} finished", proc);<a name="line.123"></a>
-<span class="sourceLineNo">124</span> }<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span> @Test<a name="line.126"></a>
-<span class="sourceLineNo">127</span> public void testSetTableStateInMeta() throws IOException {<a name="line.127"></a>
-<span class="sourceLineNo">128</span> Hbck hbck = TEST_UTIL.getHbck();<a name="line.128"></a>
-<span class="sourceLineNo">129</span> // set table state to DISABLED<a name="line.129"></a>
-<span class="sourceLineNo">130</span> hbck.setTableStateInMeta(new TableState(TABLE_NAME, TableState.State.DISABLED));<a name="line.130"></a>
-<span class="sourceLineNo">131</span> // Method {@link Hbck#setTableStateInMeta()} returns previous state, which in this case<a name="line.131"></a>
-<span class="sourceLineNo">132</span> // will be DISABLED<a name="line.132"></a>
-<span class="sourceLineNo">133</span> TableState prevState =<a name="line.133"></a>
-<span class="sourceLineNo">134</span> hbck.setTableStateInMeta(new TableState(TABLE_NAME, TableState.State.ENABLED));<a name="line.134"></a>
-<span class="sourceLineNo">135</span> assertTrue("Incorrect previous state! expeced=DISABLED, found=" + prevState.getState(),<a name="line.135"></a>
-<span class="sourceLineNo">136</span> prevState.isDisabled());<a name="line.136"></a>
-<span class="sourceLineNo">137</span> }<a name="line.137"></a>
-<span class="sourceLineNo">138</span><a name="line.138"></a>
-<span class="sourceLineNo">139</span> @Test<a name="line.139"></a>
-<span class="sourceLineNo">140</span> public void testAssigns() throws IOException {<a name="line.140"></a>
-<span class="sourceLineNo">141</span> Hbck hbck = TEST_UTIL.getHbck();<a name="line.141"></a>
-<span class="sourceLineNo">142</span> try (Admin admin = TEST_UTIL.getConnection().getAdmin()) {<a name="line.142"></a>
-<span class="sourceLineNo">143</span> List<RegionInfo> regions = admin.getRegions(TABLE_NAME);<a name="line.143"></a>
-<span class="sourceLineNo">144</span> for (RegionInfo ri: regions) {<a name="line.144"></a>
-<span class="sourceLineNo">145</span> RegionState rs = TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().<a name="line.145"></a>
-<span class="sourceLineNo">146</span> getRegionStates().getRegionState(ri.getEncodedName());<a name="line.146"></a>
-<span class="sourceLineNo">147</span> LOG.info("RS: {}", rs.toString());<a name="line.147"></a>
-<span class="sourceLineNo">148</span> }<a name="line.148"></a>
-<span class="sourceLineNo">149</span> List<Long> pids = hbck.unassigns(regions.stream().map(r -> r.getEncodedName()).<a name="line.149"></a>
-<span class="sourceLineNo">150</span> collect(Collectors.toList()));<a name="line.150"></a>
-<span class="sourceLineNo">151</span> waitOnPids(pids);<a name="line.151"></a>
-<span class="sourceLineNo">152</span> for (RegionInfo ri: regions) {<a name="line.152"></a>
-<span class="sourceLineNo">153</span> RegionState rs = TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().<a name="line.153"></a>
-<span class="sourceLineNo">154</span> getRegionStates().getRegionState(ri.getEncodedName());<a name="line.154"></a>
-<span class="sourceLineNo">155</span> LOG.info("RS: {}", rs.toString());<a name="line.155"></a>
-<span class="sourceLineNo">156</span> assertTrue(rs.toString(), rs.isClosed());<a name="line.156"></a>
-<span class="sourceLineNo">157</span> }<a name="line.157"></a>
-<span class="sourceLineNo">158</span> pids = hbck.assigns(regions.stream().map(r -> r.getEncodedName()).<a name="line.158"></a>
-<span class="sourceLineNo">159</span> collect(Collectors.toList()));<a name="line.159"></a>
-<span class="sourceLineNo">160</span> waitOnPids(pids);<a name="line.160"></a>
-<span class="sourceLineNo">161</span> for (RegionInfo ri: regions) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span> RegionState rs = TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().<a name="line.162"></a>
-<span class="sourceLineNo">163</span> getRegionStates().getRegionState(ri.getEncodedName());<a name="line.163"></a>
-<span class="sourceLineNo">164</span> LOG.info("RS: {}", rs.toString());<a name="line.164"></a>
-<span class="sourceLineNo">165</span> assertTrue(rs.toString(), rs.isOpened());<a name="line.165"></a>
-<span class="sourceLineNo">166</span> }<a name="line.166"></a>
-<span class="sourceLineNo">167</span> // What happens if crappy region list passed?<a name="line.167"></a>
-<span class="sourceLineNo">168</span> pids = hbck.assigns(Arrays.stream(new String [] {"a", "some rubbish name"}).<a name="line.168"></a>
-<span class="sourceLineNo">169</span> collect(Collectors.toList()));<a name="line.169"></a>
-<span class="sourceLineNo">170</span> for (long pid: pids) {<a name="line.170"></a>
-<span class="sourceLineNo">171</span> assertEquals(org.apache.hadoop.hbase.procedure2.Procedure.NO_PROC_ID, pid);<a name="line.171"></a>
-<span class="sourceLineNo">172</span> }<a name="line.172"></a>
-<span class="sourceLineNo">173</span> }<a name="line.173"></a>
-<span class="sourceLineNo">174</span> }<a name="line.174"></a>
-<span class="sourceLineNo">175</span><a name="line.175"></a>
-<span class="sourceLineNo">176</span> private void waitOnPids(List<Long> pids) {<a name="line.176"></a>
-<span class="sourceLineNo">177</span> for (Long pid: pids) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> while (!TEST_UTIL.getHBaseCluster().getMaster().getMasterProcedureExecutor().<a name="line.178"></a>
-<span class="sourceLineNo">179</span> isFinished(pid)) {<a name="line.179"></a>
-<span class="sourceLineNo">180</span> Threads.sleep(100);<a name="line.180"></a>
-<span class="sourceLineNo">181</span> }<a name="line.181"></a>
-<span class="sourceLineNo">182</span> }<a name="line.182"></a>
-<span class="sourceLineNo">183</span> }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>}<a name="line.184"></a>
+<span class="sourceLineNo">074</span> private static final TableName TABLE_NAME = TableName.valueOf(TestHbck.class.getSimpleName());<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span> private static ProcedureExecutor<MasterProcedureEnv> procExec;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span> @BeforeClass<a name="line.78"></a>
+<span class="sourceLineNo">079</span> public static void setUpBeforeClass() throws Exception {<a name="line.79"></a>
+<span class="sourceLineNo">080</span> TEST_UTIL.startMiniCluster(3);<a name="line.80"></a>
+<span class="sourceLineNo">081</span> TEST_UTIL.createMultiRegionTable(TABLE_NAME, Bytes.toBytes("family1"), 5);<a name="line.81"></a>
+<span class="sourceLineNo">082</span> procExec = TEST_UTIL.getMiniHBaseCluster().getMaster().getMasterProcedureExecutor();<a name="line.82"></a>
+<span class="sourceLineNo">083</span> }<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span> @AfterClass<a name="line.85"></a>
+<span class="sourceLineNo">086</span> public static void tearDownAfterClass() throws Exception {<a name="line.86"></a>
+<span class="sourceLineNo">087</span> TEST_UTIL.shutdownMiniCluster();<a name="line.87"></a>
+<span class="sourceLineNo">088</span> }<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span> public static class SuspendProcedure extends<a name="line.90"></a>
+<span class="sourceLineNo">091</span> ProcedureTestingUtility.NoopProcedure<MasterProcedureEnv> implements TableProcedureInterface {<a name="line.91"></a>
+<span class="sourceLineNo">092</span> public SuspendProcedure() {<a name="line.92"></a>
+<span class="sourceLineNo">093</span> super();<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> @Override<a name="line.96"></a>
+<span class="sourceLineNo">097</span> protected Procedure[] execute(final MasterProcedureEnv env)<a name="line.97"></a>
+<span class="sourceLineNo">098</span> throws ProcedureSuspendedException {<a name="line.98"></a>
+<span class="sourceLineNo">099</span> // Always suspend the procedure<a name="line.99"></a>
+<span class="sourceLineNo">100</span> throw new ProcedureSuspendedException();<a name="line.100"></a>
+<span class="sourceLineNo">101</span> }<a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span> @Override<a name="line.103"></a>
+<span class="sourceLineNo">104</span> public TableName getTableName() {<a name="line.104"></a>
+<span class="sourceLineNo">105</span> return TABLE_NAME;<a name="line.105"></a>
+<span class="sourceLineNo">106</span> }<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span> @Override<a name="line.108"></a>
+<span class="sourceLineNo">109</span> public TableOperationType getTableOperationType() {<a name="line.109"></a>
+<span class="sourceLineNo">110</span> return TableOperationType.READ;<a name="line.110"></a>
+<span class="sourceLineNo">111</span> }<a name="line.111"></a>
+<span class="sourceLineNo">112</span> }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span> @Test<a name="line.114"></a>
+<span class="sourceLineNo">115</span> public void testBypassProcedure() throws Exception {<a name="line.115"></a>
+<span class="sourceLineNo">116</span> // SuspendProcedure<a name="line.116"></a>
+<span class="sourceLineNo">117</span> final SuspendProcedure proc = new SuspendProcedure();<a name="line.117"></a>
+<span class="sourceLineNo">118</span> long procId = procExec.submitProcedure(proc);<a name="line.118"></a>
+<span class="sourceLineNo">119</span> Thread.sleep(500);<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span> //bypass the procedure<a name="line.121"></a>
+<span class="sourceLineNo">122</span> List<Long> pids = Arrays.<Long>asList(procId);<a name="line.122"></a>
+<span class="sourceLineNo">123</span> List<Boolean> results =<a name="line.123"></a>
+<span class="sourceLineNo">124</span> TEST_UTIL.getHbck().bypassProcedure(pids, 30000, false, false);<a name="line.124"></a>
+<span class="sourceLineNo">125</span> assertTrue("Failed to by pass procedure!", results.get(0));<a name="line.125"></a>
+<span class="sourceLineNo">126</span> TEST_UTIL.waitFor(5000, () -> proc.isSuccess() && proc.isBypass());<a name="line.126"></a>
+<span class="sourceLineNo">127</span> LOG.info("{} finished", proc);<a name="line.127"></a>
+<span class="sourceLineNo">128</span> }<a name="line.128"></a>
+<span class="sourceLineNo">129</span><a name="line.129"></a>
+<span class="sourceLineNo">130</span> @Test<a name="line.130"></a>
+<span class="sourceLineNo">131</span> public void testSetTableStateInMeta() throws IOException {<a name="line.131"></a>
+<span class="sourceLineNo">132</span> Hbck hbck = TEST_UTIL.getHbck();<a name="line.132"></a>
+<span class="sourceLineNo">133</span> // set table state to DISABLED<a name="line.133"></a>
+<span class="sourceLineNo">134</span> hbck.setTableStateInMeta(new TableState(TABLE_NAME, TableState.State.DISABLED));<a name="line.134"></a>
+<span class="sourceLineNo">135</span> // Method {@link Hbck#setTableStateInMeta()} returns previous state, which in this case<a name="line.135"></a>
+<span class="sourceLineNo">136</span> // will be DISABLED<a name="line.136"></a>
+<span class="sourceLineNo">137</span> TableState prevState =<a name="line.137"></a>
+<span class="sourceLineNo">138</span> hbck.setTableStateInMeta(new TableState(TABLE_NAME, TableState.State.ENABLED));<a name="line.138"></a>
+<span class="sourceLineNo">139</span> assertTrue("Incorrect previous state! expeced=DISABLED, found=" + prevState.getState(),<a name="line.139"></a>
+<span class="sourceLineNo">140</span> prevState.isDisabled());<a name="line.140"></a>
+<span class="sourceLineNo">141</span> }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span> @Test<a name="line.143"></a>
+<span class="sourceLineNo">144</span> public void testAssigns() throws IOException {<a name="line.144"></a>
+<span class="sourceLineNo">145</span> Hbck hbck = TEST_UTIL.getHbck();<a name="line.145"></a>
+<span class="sourceLineNo">146</span> try (Admin admin = TEST_UTIL.getConnection().getAdmin()) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span> List<RegionInfo> regions = admin.getRegions(TABLE_NAME);<a name="line.147"></a>
+<span class="sourceLineNo">148</span> for (RegionInfo ri: regions) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span> RegionState rs = TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().<a name="line.149"></a>
+<span class="sourceLineNo">150</span> getRegionStates().getRegionState(ri.getEncodedName());<a name="line.150"></a>
+<span class="sourceLineNo">151</span> LOG.info("RS: {}", rs.toString());<a name="line.151"></a>
+<span class="sourceLineNo">152</span> }<a name="line.152"></a>
+<span class="sourceLineNo">153</span> List<Long> pids = hbck.unassigns(regions.stream().map(r -> r.getEncodedName()).<a name="line.153"></a>
+<span class="sourceLineNo">154</span> collect(Collectors.toList()));<a name="line.154"></a>
+<span class="sourceLineNo">155</span> waitOnPids(pids);<a name="line.155"></a>
+<span class="sourceLineNo">156</span> for (RegionInfo ri: regions) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span> RegionState rs = TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().<a name="line.157"></a>
+<span class="sourceLineNo">158</span> getRegionStates().getRegionState(ri.getEncodedName());<a name="line.158"></a>
+<span class="sourceLineNo">159</span> LOG.info("RS: {}", rs.toString());<a name="line.159"></a>
+<span class="sourceLineNo">160</span> assertTrue(rs.toString(), rs.isClosed());<a name="line.160"></a>
+<span class="sourceLineNo">161</span> }<a name="line.161"></a>
+<span class="sourceLineNo">162</span> pids = hbck.assigns(regions.stream().map(r -> r.getEncodedName()).<a name="line.162"></a>
+<span class="sourceLineNo">163</span> collect(Collectors.toList()));<a name="line.163"></a>
+<span class="sourceLineNo">164</span> waitOnPids(pids);<a name="line.164"></a>
+<span class="sourceLineNo">165</span> for (RegionInfo ri: regions) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span> RegionState rs = TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().<a name="line.166"></a>
+<span class="sourceLineNo">167</span> getRegionStates().getRegionState(ri.getEncodedName());<a name="line.167"></a>
+<span class="sourceLineNo">168</span> LOG.info("RS: {}", rs.toString());<a name="line.168"></a>
+<span class="sourceLineNo">169</span> assertTrue(rs.toString(), rs.isOpened());<a name="line.169"></a>
+<span class="sourceLineNo">170</span> }<a name="line.170"></a>
+<span class="sourceLineNo">171</span> // What happens if crappy region list passed?<a name="line.171"></a>
+<span class="sourceLineNo">172</span> pids = hbck.assigns(Arrays.stream(new String [] {"a", "some rubbish name"}).<a name="line.172"></a>
+<span class="sourceLineNo">173</span> collect(Collectors.toList()));<a name="line.173"></a>
+<span class="sourceLineNo">174</span> for (long pid: pids) {<a name="line.174"></a>
+<span class="sourceLineNo">175</span> assertEquals(org.apache.hadoop.hbase.procedure2.Procedure.NO_PROC_ID, pid);<a name="line.175"></a>
+<span class="sourceLineNo">176</span> }<a name="line.176"></a>
+<span class="sourceLineNo">177</span> }<a name="line.177"></a>
+<span class="sourceLineNo">178</span> }<a name="line.178"></a>
+<span class="sourceLineNo">179</span><a name="line.179"></a>
+<span class="sourceLineNo">180</span> @Test<a name="line.180"></a>
+<span class="sourceLineNo">181</span> public void testScheduleSCP() throws Exception {<a name="line.181"></a>
+<span class="sourceLineNo">182</span> HRegionServer testRs = TEST_UTIL.getRSForFirstRegionInTable(TABLE_NAME);<a name="line.182"></a>
+<span class="sourceLineNo">183</span> TEST_UTIL.loadTable(TEST_UTIL.getConnection().getTable(TABLE_NAME), Bytes.toBytes("family1"),<a name="line.183"></a>
+<span class="sourceLineNo">184</span> true);<a name="line.184"></a>
+<span class="sourceLineNo">185</span> ServerName serverName = testRs.getServerName();<a name="line.185"></a>
+<span class="sourceLineNo">186</span> Hbck hbck = TEST_UTIL.getHbck();<a name="line.186"></a>
+<span class="sourceLineNo">187</span> List<Long> pids =<a name="line.187"></a>
+<span class="sourceLineNo">188</span> hbck.scheduleServerCrashProcedure(Arrays.asList(ProtobufUtil.toServerName(serverName)));<a name="line.188"></a>
+<span class="sourceLineNo">189</span> assertTrue(pids.get(0) > 0);<a name="line.189"></a>
+<span class="sourceLineNo">190</span> LOG.info("pid is {}", pids.get(0));<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span> pids = hbck.scheduleServerCrashProcedure(Arrays.asList(ProtobufUtil.toServerName(serverName)));<a name="line.192"></a>
+<span class="sourceLineNo">193</span> assertTrue(pids.get(0) == -1);<a name="line.193"></a>
+<span class="sourceLineNo">194</span> LOG.info("pid is {}", pids.get(0));<a name="line.194"></a>
+<span class="sourceLineNo">195</span> }<a name="line.195"></a>
+<span class="sourceLineNo">196</span><a name="line.196"></a>
+<span class="sourceLineNo">197</span> private void waitOnPids(List<Long> pids) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span> for (Long pid: pids) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span> while (!TEST_UTIL.getHBaseCluster().getMaster().getMasterProcedureExecutor().<a name="line.199"></a>
+<span class="sourceLineNo">200</span> isFinished(pid)) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span> Threads.sleep(100);<a name="line.201"></a>
+<span class="sourceLineNo">202</span> }<a name="line.202"></a>
+<span class="sourceLineNo">203</span> }<a name="line.203"></a>
+<span class="sourceLineNo">204</span> }<a name="line.204"></a>
+<span class="sourceLineNo">205</span>}<a name="line.205"></a>
[16/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index 9956ffd..008643d 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -274,12 +274,12 @@
<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.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockPriority</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig.ExternalBlockCaches</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Cacheable.MemoryType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Cacheable.MemoryType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
index 91a2ed4..427b9f5 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -354,8 +354,8 @@
<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.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/CallEvent.Type.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">CallEvent.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.BufferCallAction.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">BufferCallBeforeInitHandler.BufferCallAction</span></a></li>
<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactoryImpl.SourceStorage.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">MetricsHBaseServerSourceFactoryImpl.SourceStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.BufferCallAction.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">BufferCallBeforeInitHandler.BufferCallAction</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
index b8bf0a6..b11f6ad 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -293,10 +293,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.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TableSplit.Version</span></a></li>
<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">RowCounter.RowCounterMapper.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html b/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html
index 55b0b25..dcf1bc9 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.391">MasterRpcServices.BalanceSwitchMode</a>
+<pre>static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.397">MasterRpcServices.BalanceSwitchMode</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a><<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master">MasterRpcServices.BalanceSwitchMode</a>></pre>
</li>
</ul>
@@ -210,7 +210,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>SYNC</h4>
-<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master">MasterRpcServices.BalanceSwitchMode</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html#line.392">SYNC</a></pre>
+<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master">MasterRpcServices.BalanceSwitchMode</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html#line.398">SYNC</a></pre>
</li>
</ul>
<a name="ASYNC">
@@ -219,7 +219,7 @@ the order they are declared.</div>
<ul class="blockListLast">
<li class="blockList">
<h4>ASYNC</h4>
-<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master">MasterRpcServices.BalanceSwitchMode</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html#line.393">ASYNC</a></pre>
+<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master">MasterRpcServices.BalanceSwitchMode</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html#line.399">ASYNC</a></pre>
</li>
</ul>
</li>
[08/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html
index 4365cc5..2cdee19 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html
@@ -26,2436 +26,2490 @@
<span class="sourceLineNo">018</span> */<a name="line.18"></a>
<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.master;<a name="line.19"></a>
<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.net.BindException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.net.InetAddress;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.net.InetSocketAddress;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.ArrayList;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.HashMap;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.HashSet;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.List;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.Map;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Map.Entry;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Set;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.stream.Collectors;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.conf.Configuration;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.ClusterMetricsBuilder;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.HConstants;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.Server;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.ServerMetrics;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.ServerMetricsBuilder;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.ServerName;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.TableName;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.MasterSwitchType;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.replication.ReplicationPeerConfigUtil;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.coprocessor.MasterCoprocessor;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.errorhandling.ForeignException;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.master.assignment.RegionStates;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.master.locking.LockProcedure;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.NonceProcedureRunnable;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManager;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.procedure2.LockType;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.procedure2.ProcedureUtil;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureException;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.VisibilityLabelsService;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.quotas.QuotaObserverChore;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.regionserver.RpcSchedulerFactory;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.security.User;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.security.access.AccessChecker;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.security.access.AccessController;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.security.access.Permission;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.security.visibility.VisibilityController;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.zookeeper.KeeperException;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.slf4j.Logger;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.slf4j.LoggerFactory;<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hbase.thirdparty.com.google.protobuf.RpcController;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hbase.thirdparty.com.google.protobuf.ServiceException;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionStoreSequenceIds;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockHeartbeatRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockHeartbeatResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockService;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ClearDeadServersRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ClearDeadServersResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DecommissionRegionServersRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DecommissionRegionServersResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableCatalogJanitorRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableCatalogJanitorResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetLocksRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetLocksResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProceduresRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProceduresResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateRequest;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateResponse;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.HbckService;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCatalogJanitorEnabledRequest;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCatalogJanitorEnabledResponse;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCleanerChoreEnabledRequest;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCleanerChoreEnabledResponse;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningRequest;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningResponse;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsNormalizerEnabledRequest;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsNormalizerEnabledResponse;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSplitOrMergeEnabledRequest;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSplitOrMergeEnabledResponse;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDecommissionedRegionServersRequest;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDecommissionedRegionServersResponse;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableDescriptorsByNamespaceRequest;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableDescriptorsByNamespaceResponse;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableNamesByNamespaceRequest;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableNamesByNamespaceResponse;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.210"></a>
-<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.215"></a>
-<span class="sourceLineNo">216</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyTableRequest;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyTableResponse;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.NormalizeRequest;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.NormalizeResponse;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RecommissionRegionServerRequest;<a name="line.225"></a>
-<span class="sourceLineNo">226</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RecommissionRegionServerResponse;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.228"></a>
-<span class="sourceLineNo">229</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCatalogScanRequest;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCatalogScanResponse;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCleanerChoreRequest;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCleanerChoreResponse;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SecurityCapabilitiesRequest;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SecurityCapabilitiesResponse;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetCleanerChoreRunningRequest;<a name="line.237"></a>
-<span class="sourceLineNo">238</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetCleanerChoreRunningResponse;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetNormalizerRunningRequest;<a name="line.239"></a>
-<span class="sourceLineNo">240</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetNormalizerRunningResponse;<a name="line.240"></a>
-<span class="sourceLineNo">241</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.242"></a>
-<span class="sourceLineNo">243</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetSplitOrMergeEnabledRequest;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetSplitOrMergeEnabledResponse;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetTableStateInMetaRequest;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ShutdownRequest;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ShutdownResponse;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SplitTableRegionRequest;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SplitTableRegionResponse;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.StopMasterRequest;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.StopMasterResponse;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesRequest;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse;<a name="line.259"></a>
-<span class="sourceLineNo">260</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse.NamespaceQuotaSnapshot;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse.TableQuotaSnapshot;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesRequest;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse.RegionSizes;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.FileArchiveNotificationRequest;<a name="line.265"></a>
-<span class="sourceLineNo">266</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.FileArchiveNotificationResponse;<a name="line.266"></a>
-<span class="sourceLineNo">267</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.GetLastFlushedSequenceIdRequest;<a name="line.267"></a>
-<span class="sourceLineNo">268</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.GetLastFlushedSequenceIdResponse;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerReportRequest;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerReportResponse;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupRequest;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStatusService;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionSpaceUse;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionSpaceUseReportRequest;<a name="line.275"></a>
-<span class="sourceLineNo">276</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionSpaceUseReportResponse;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RemoteProcedureResult;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportProcedureDoneRequest;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportProcedureDoneResponse;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRSFatalErrorRequest;<a name="line.280"></a>
-<span class="sourceLineNo">281</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRSFatalErrorResponse;<a name="line.281"></a>
-<span class="sourceLineNo">282</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRegionStateTransitionRequest;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRegionStateTransitionResponse;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.292"></a>
-<span class="sourceLineNo">293</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ReplicationState;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.TransitReplicationPeerSyncReplicationStateRequest;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.TransitReplicationPeerSyncReplicationStateResponse;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>/**<a name="line.303"></a>
-<span class="sourceLineNo">304</span> * Implements the master RPC services.<a name="line.304"></a>
-<span class="sourceLineNo">305</span> */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>@InterfaceAudience.Private<a name="line.306"></a>
-<span class="sourceLineNo">307</span>@SuppressWarnings("deprecation")<a name="line.307"></a>
-<span class="sourceLineNo">308</span>public class MasterRpcServices extends RSRpcServices<a name="line.308"></a>
-<span class="sourceLineNo">309</span> implements MasterService.BlockingInterface, RegionServerStatusService.BlockingInterface,<a name="line.309"></a>
-<span class="sourceLineNo">310</span> LockService.BlockingInterface, HbckService.BlockingInterface {<a name="line.310"></a>
-<span class="sourceLineNo">311</span> private static final Logger LOG = LoggerFactory.getLogger(MasterRpcServices.class.getName());<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private final HMaster master;<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span> /**<a name="line.315"></a>
-<span class="sourceLineNo">316</span> * @return Subset of configuration to pass initializing regionservers: e.g.<a name="line.316"></a>
-<span class="sourceLineNo">317</span> * the filesystem to use and root directory to use.<a name="line.317"></a>
-<span class="sourceLineNo">318</span> */<a name="line.318"></a>
-<span class="sourceLineNo">319</span> private RegionServerStartupResponse.Builder createConfigurationSubset() {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> RegionServerStartupResponse.Builder resp = addConfig(<a name="line.320"></a>
-<span class="sourceLineNo">321</span> RegionServerStartupResponse.newBuilder(), HConstants.HBASE_DIR);<a name="line.321"></a>
-<span class="sourceLineNo">322</span> resp = addConfig(resp, "fs.defaultFS");<a name="line.322"></a>
-<span class="sourceLineNo">323</span> return addConfig(resp, "hbase.master.info.port");<a name="line.323"></a>
-<span class="sourceLineNo">324</span> }<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span> private RegionServerStartupResponse.Builder addConfig(<a name="line.326"></a>
-<span class="sourceLineNo">327</span> final RegionServerStartupResponse.Builder resp, final String key) {<a name="line.327"></a>
-<span class="sourceLineNo">328</span> NameStringPair.Builder entry = NameStringPair.newBuilder()<a name="line.328"></a>
-<span class="sourceLineNo">329</span> .setName(key)<a name="line.329"></a>
-<span class="sourceLineNo">330</span> .setValue(master.getConfiguration().get(key));<a name="line.330"></a>
-<span class="sourceLineNo">331</span> resp.addMapEntries(entry.build());<a name="line.331"></a>
-<span class="sourceLineNo">332</span> return resp;<a name="line.332"></a>
-<span class="sourceLineNo">333</span> }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span> public MasterRpcServices(HMaster m) throws IOException {<a name="line.335"></a>
-<span class="sourceLineNo">336</span> super(m);<a name="line.336"></a>
-<span class="sourceLineNo">337</span> master = m;<a name="line.337"></a>
-<span class="sourceLineNo">338</span> }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span> @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span> protected Class<?> getRpcSchedulerFactoryClass() {<a name="line.341"></a>
-<span class="sourceLineNo">342</span> Configuration conf = getConfiguration();<a name="line.342"></a>
-<span class="sourceLineNo">343</span> if (conf != null) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return conf.getClass(MASTER_RPC_SCHEDULER_FACTORY_CLASS, super.getRpcSchedulerFactoryClass());<a name="line.344"></a>
-<span class="sourceLineNo">345</span> } else {<a name="line.345"></a>
-<span class="sourceLineNo">346</span> return super.getRpcSchedulerFactoryClass();<a name="line.346"></a>
-<span class="sourceLineNo">347</span> }<a name="line.347"></a>
-<span class="sourceLineNo">348</span> }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span> @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span> protected RpcServerInterface createRpcServer(Server server, Configuration conf,<a name="line.351"></a>
-<span class="sourceLineNo">352</span> RpcSchedulerFactory rpcSchedulerFactory, InetSocketAddress bindAddress, String name)<a name="line.352"></a>
-<span class="sourceLineNo">353</span> throws IOException {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> // RpcServer at HM by default enable ByteBufferPool iff HM having user table region in it<a name="line.354"></a>
-<span class="sourceLineNo">355</span> boolean reservoirEnabled = conf.getBoolean(RESERVOIR_ENABLED_KEY,<a name="line.355"></a>
-<span class="sourceLineNo">356</span> LoadBalancer.isMasterCanHostUserRegions(conf));<a name="line.356"></a>
-<span class="sourceLineNo">357</span> try {<a name="line.357"></a>
-<span class="sourceLineNo">358</span> return RpcServerFactory.createRpcServer(server, name, getServices(),<a name="line.358"></a>
-<span class="sourceLineNo">359</span> bindAddress, // use final bindAddress for this server.<a name="line.359"></a>
-<span class="sourceLineNo">360</span> conf, rpcSchedulerFactory.create(conf, this, server), reservoirEnabled);<a name="line.360"></a>
-<span class="sourceLineNo">361</span> } catch (BindException be) {<a name="line.361"></a>
-<span class="sourceLineNo">362</span> throw new IOException(be.getMessage() + ". To switch ports use the '"<a name="line.362"></a>
-<span class="sourceLineNo">363</span> + HConstants.MASTER_PORT + "' configuration property.",<a name="line.363"></a>
-<span class="sourceLineNo">364</span> be.getCause() != null ? be.getCause() : be);<a name="line.364"></a>
-<span class="sourceLineNo">365</span> }<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> @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span> protected PriorityFunction createPriority() {<a name="line.369"></a>
-<span class="sourceLineNo">370</span> return new MasterAnnotationReadingPriorityFunction(this);<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> /**<a name="line.373"></a>
-<span class="sourceLineNo">374</span> * Checks for the following pre-checks in order:<a name="line.374"></a>
-<span class="sourceLineNo">375</span> * <ol><a name="line.375"></a>
-<span class="sourceLineNo">376</span> * <li>Master is initialized</li><a name="line.376"></a>
-<span class="sourceLineNo">377</span> * <li>Rpc caller has admin permissions</li><a name="line.377"></a>
-<span class="sourceLineNo">378</span> * </ol><a name="line.378"></a>
-<span class="sourceLineNo">379</span> * @param requestName name of rpc request. Used in reporting failures to provide context.<a name="line.379"></a>
-<span class="sourceLineNo">380</span> * @throws ServiceException If any of the above listed pre-check fails.<a name="line.380"></a>
-<span class="sourceLineNo">381</span> */<a name="line.381"></a>
-<span class="sourceLineNo">382</span> private void rpcPreCheck(String requestName) throws ServiceException {<a name="line.382"></a>
-<span class="sourceLineNo">383</span> try {<a name="line.383"></a>
-<span class="sourceLineNo">384</span> master.checkInitialized();<a name="line.384"></a>
-<span class="sourceLineNo">385</span> requirePermission(requestName, Permission.Action.ADMIN);<a name="line.385"></a>
-<span class="sourceLineNo">386</span> } catch (IOException ioe) {<a name="line.386"></a>
-<span class="sourceLineNo">387</span> throw new ServiceException(ioe);<a name="line.387"></a>
-<span class="sourceLineNo">388</span> }<a name="line.388"></a>
-<span class="sourceLineNo">389</span> }<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span> enum BalanceSwitchMode {<a name="line.391"></a>
-<span class="sourceLineNo">392</span> SYNC,<a name="line.392"></a>
-<span class="sourceLineNo">393</span> ASYNC<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> * Assigns balancer switch according to BalanceSwitchMode<a name="line.397"></a>
-<span class="sourceLineNo">398</span> * @param b new balancer switch<a name="line.398"></a>
-<span class="sourceLineNo">399</span> * @param mode BalanceSwitchMode<a name="line.399"></a>
-<span class="sourceLineNo">400</span> * @return old balancer switch<a name="line.400"></a>
-<span class="sourceLineNo">401</span> */<a name="line.401"></a>
-<span class="sourceLineNo">402</span> boolean switchBalancer(final boolean b, BalanceSwitchMode mode) throws IOException {<a name="line.402"></a>
-<span class="sourceLineNo">403</span> boolean oldValue = master.loadBalancerTracker.isBalancerOn();<a name="line.403"></a>
-<span class="sourceLineNo">404</span> boolean newValue = b;<a name="line.404"></a>
-<span class="sourceLineNo">405</span> try {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> if (master.cpHost != null) {<a name="line.406"></a>
-<span class="sourceLineNo">407</span> master.cpHost.preBalanceSwitch(newValue);<a name="line.407"></a>
-<span class="sourceLineNo">408</span> }<a name="line.408"></a>
-<span class="sourceLineNo">409</span> try {<a name="line.409"></a>
-<span class="sourceLineNo">410</span> if (mode == BalanceSwitchMode.SYNC) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span> synchronized (master.getLoadBalancer()) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span> master.loadBalancerTracker.setBalancerOn(newValue);<a name="line.412"></a>
-<span class="sourceLineNo">413</span> }<a name="line.413"></a>
-<span class="sourceLineNo">414</span> } else {<a name="line.414"></a>
-<span class="sourceLineNo">415</span> master.loadBalancerTracker.setBalancerOn(newValue);<a name="line.415"></a>
-<span class="sourceLineNo">416</span> }<a name="line.416"></a>
-<span class="sourceLineNo">417</span> } catch (KeeperException ke) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span> throw new IOException(ke);<a name="line.418"></a>
-<span class="sourceLineNo">419</span> }<a name="line.419"></a>
-<span class="sourceLineNo">420</span> LOG.info(master.getClientIdAuditPrefix() + " set balanceSwitch=" + newValue);<a name="line.420"></a>
-<span class="sourceLineNo">421</span> if (master.cpHost != null) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> master.cpHost.postBalanceSwitch(oldValue, newValue);<a name="line.422"></a>
-<span class="sourceLineNo">423</span> }<a name="line.423"></a>
-<span class="sourceLineNo">424</span> master.getLoadBalancer().updateBalancerStatus(newValue);<a name="line.424"></a>
-<span class="sourceLineNo">425</span> } catch (IOException ioe) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span> LOG.warn("Error flipping balance switch", ioe);<a name="line.426"></a>
-<span class="sourceLineNo">427</span> }<a name="line.427"></a>
-<span class="sourceLineNo">428</span> return oldValue;<a name="line.428"></a>
-<span class="sourceLineNo">429</span> }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span> boolean synchronousBalanceSwitch(final boolean b) throws IOException {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return switchBalancer(b, BalanceSwitchMode.SYNC);<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span><a name="line.434"></a>
-<span class="sourceLineNo">435</span> /**<a name="line.435"></a>
-<span class="sourceLineNo">436</span> * @return list of blocking services and their security info classes that this server supports<a name="line.436"></a>
-<span class="sourceLineNo">437</span> */<a name="line.437"></a>
-<span class="sourceLineNo">438</span> @Override<a name="line.438"></a>
-<span class="sourceLineNo">439</span> protected List<BlockingServiceAndInterface> getServices() {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> List<BlockingServiceAndInterface> bssi = new ArrayList<>(5);<a name="line.440"></a>
-<span class="sourceLineNo">441</span> bssi.add(new BlockingServiceAndInterface(<a name="line.441"></a>
-<span class="sourceLineNo">442</span> MasterService.newReflectiveBlockingService(this),<a name="line.442"></a>
-<span class="sourceLineNo">443</span> MasterService.BlockingInterface.class));<a name="line.443"></a>
-<span class="sourceLineNo">444</span> bssi.add(new BlockingServiceAndInterface(<a name="line.444"></a>
-<span class="sourceLineNo">445</span> RegionServerStatusService.newReflectiveBlockingService(this),<a name="line.445"></a>
-<span class="sourceLineNo">446</span> RegionServerStatusService.BlockingInterface.class));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> bssi.add(new BlockingServiceAndInterface(LockService.newReflectiveBlockingService(this),<a name="line.447"></a>
-<span class="sourceLineNo">448</span> LockService.BlockingInterface.class));<a name="line.448"></a>
-<span class="sourceLineNo">449</span> bssi.add(new BlockingServiceAndInterface(HbckService.newReflectiveBlockingService(this),<a name="line.449"></a>
-<span class="sourceLineNo">450</span> HbckService.BlockingInterface.class));<a name="line.450"></a>
-<span class="sourceLineNo">451</span> bssi.addAll(super.getServices());<a name="line.451"></a>
-<span class="sourceLineNo">452</span> return bssi;<a name="line.452"></a>
-<span class="sourceLineNo">453</span> }<a name="line.453"></a>
-<span class="sourceLineNo">454</span><a name="line.454"></a>
-<span class="sourceLineNo">455</span> @Override<a name="line.455"></a>
-<span class="sourceLineNo">456</span> @QosPriority(priority = HConstants.ADMIN_QOS)<a name="line.456"></a>
-<span class="sourceLineNo">457</span> public GetLastFlushedSequenceIdResponse getLastFlushedSequenceId(RpcController controller,<a name="line.457"></a>
-<span class="sourceLineNo">458</span> GetLastFlushedSequenceIdRequest request) throws ServiceException {<a name="line.458"></a>
-<span class="sourceLineNo">459</span> try {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> master.checkServiceStarted();<a name="line.460"></a>
-<span class="sourceLineNo">461</span> } catch (IOException ioe) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span> throw new ServiceException(ioe);<a name="line.462"></a>
-<span class="sourceLineNo">463</span> }<a name="line.463"></a>
-<span class="sourceLineNo">464</span> byte[] encodedRegionName = request.getRegionName().toByteArray();<a name="line.464"></a>
-<span class="sourceLineNo">465</span> RegionStoreSequenceIds ids = master.getServerManager()<a name="line.465"></a>
-<span class="sourceLineNo">466</span> .getLastFlushedSequenceId(encodedRegionName);<a name="line.466"></a>
-<span class="sourceLineNo">467</span> return ResponseConverter.buildGetLastFlushedSequenceIdResponse(ids);<a name="line.467"></a>
-<span class="sourceLineNo">468</span> }<a name="line.468"></a>
-<span class="sourceLineNo">469</span><a name="line.469"></a>
-<span class="sourceLineNo">470</span> @Override<a name="line.470"></a>
-<span class="sourceLineNo">471</span> public RegionServerReportResponse regionServerReport(RpcController controller,<a name="line.471"></a>
-<span class="sourceLineNo">472</span> RegionServerReportRequest request) throws ServiceException {<a name="line.472"></a>
-<span class="sourceLineNo">473</span> try {<a name="line.473"></a>
-<span class="sourceLineNo">474</span> master.checkServiceStarted();<a name="line.474"></a>
-<span class="sourceLineNo">475</span> int versionNumber = 0;<a name="line.475"></a>
-<span class="sourceLineNo">476</span> String version = "0.0.0";<a name="line.476"></a>
-<span class="sourceLineNo">477</span> VersionInfo versionInfo = VersionInfoUtil.getCurrentClientVersionInfo();<a name="line.477"></a>
-<span class="sourceLineNo">478</span> if (versionInfo != null) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span> version = versionInfo.getVersion();<a name="line.479"></a>
-<span class="sourceLineNo">480</span> versionNumber = VersionInfoUtil.getVersionNumber(versionInfo);<a name="line.480"></a>
-<span class="sourceLineNo">481</span> }<a name="line.481"></a>
-<span class="sourceLineNo">482</span> ClusterStatusProtos.ServerLoad sl = request.getLoad();<a name="line.482"></a>
-<span class="sourceLineNo">483</span> ServerName serverName = ProtobufUtil.toServerName(request.getServer());<a name="line.483"></a>
-<span class="sourceLineNo">484</span> ServerMetrics oldLoad = master.getServerManager().getLoad(serverName);<a name="line.484"></a>
-<span class="sourceLineNo">485</span> ServerMetrics newLoad =<a name="line.485"></a>
-<span class="sourceLineNo">486</span> ServerMetricsBuilder.toServerMetrics(serverName, versionNumber, version, sl);<a name="line.486"></a>
-<span class="sourceLineNo">487</span> master.getServerManager().regionServerReport(serverName, newLoad);<a name="line.487"></a>
-<span class="sourceLineNo">488</span> master.getAssignmentManager().reportOnlineRegions(serverName,<a name="line.488"></a>
-<span class="sourceLineNo">489</span> newLoad.getRegionMetrics().keySet());<a name="line.489"></a>
-<span class="sourceLineNo">490</span> if (sl != null && master.metricsMaster != null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span> // Up our metrics.<a name="line.491"></a>
-<span class="sourceLineNo">492</span> master.metricsMaster.incrementRequests(<a name="line.492"></a>
-<span class="sourceLineNo">493</span> sl.getTotalNumberOfRequests() - (oldLoad != null ? oldLoad.getRequestCount() : 0));<a name="line.493"></a>
-<span class="sourceLineNo">494</span> }<a name="line.494"></a>
-<span class="sourceLineNo">495</span> } catch (IOException ioe) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span> throw new ServiceException(ioe);<a name="line.496"></a>
-<span class="sourceLineNo">497</span> }<a name="line.497"></a>
-<span class="sourceLineNo">498</span> return RegionServerReportResponse.newBuilder().build();<a name="line.498"></a>
-<span class="sourceLineNo">499</span> }<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span> @Override<a name="line.501"></a>
-<span class="sourceLineNo">502</span> public RegionServerStartupResponse regionServerStartup(RpcController controller,<a name="line.502"></a>
-<span class="sourceLineNo">503</span> RegionServerStartupRequest request) throws ServiceException {<a name="line.503"></a>
-<span class="sourceLineNo">504</span> // Register with server manager<a name="line.504"></a>
-<span class="sourceLineNo">505</span> try {<a name="line.505"></a>
-<span class="sourceLineNo">506</span> master.checkServiceStarted();<a name="line.506"></a>
-<span class="sourceLineNo">507</span> int versionNumber = 0;<a name="line.507"></a>
-<span class="sourceLineNo">508</span> String version = "0.0.0";<a name="line.508"></a>
-<span class="sourceLineNo">509</span> VersionInfo versionInfo = VersionInfoUtil.getCurrentClientVersionInfo();<a name="line.509"></a>
-<span class="sourceLineNo">510</span> if (versionInfo != null) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span> version = versionInfo.getVersion();<a name="line.511"></a>
-<span class="sourceLineNo">512</span> versionNumber = VersionInfoUtil.getVersionNumber(versionInfo);<a name="line.512"></a>
-<span class="sourceLineNo">513</span> }<a name="line.513"></a>
-<span class="sourceLineNo">514</span> InetAddress ia = master.getRemoteInetAddress(request.getPort(), request.getServerStartCode());<a name="line.514"></a>
-<span class="sourceLineNo">515</span> // if regionserver passed hostname to use,<a name="line.515"></a>
-<span class="sourceLineNo">516</span> // then use it instead of doing a reverse DNS lookup<a name="line.516"></a>
-<span class="sourceLineNo">517</span> ServerName rs =<a name="line.517"></a>
-<span class="sourceLineNo">518</span> master.getServerManager().regionServerStartup(request, versionNumber, version, ia);<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span> // Send back some config info<a name="line.520"></a>
-<span class="sourceLineNo">521</span> RegionServerStartupResponse.Builder resp = createConfigurationSubset();<a name="line.521"></a>
-<span class="sourceLineNo">522</span> NameStringPair.Builder entry = NameStringPair.newBuilder()<a name="line.522"></a>
-<span class="sourceLineNo">523</span> .setName(HConstants.KEY_FOR_HOSTNAME_SEEN_BY_MASTER).setValue(rs.getHostname());<a name="line.523"></a>
-<span class="sourceLineNo">524</span> resp.addMapEntries(entry.build());<a name="line.524"></a>
+<span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.master.MasterWalManager.META_FILTER;<a name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.net.BindException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.net.InetAddress;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.net.InetSocketAddress;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.HashMap;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.HashSet;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.List;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Map;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.Map.Entry;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.Set;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.stream.Collectors;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.conf.Configuration;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.fs.Path;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.ClusterMetricsBuilder;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.HConstants;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.Server;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ServerMetrics;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.ServerMetricsBuilder;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.ServerName;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.TableName;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.MasterSwitchType;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.replication.ReplicationPeerConfigUtil;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.coprocessor.MasterCoprocessor;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.errorhandling.ForeignException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.master.assignment.RegionStates;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.master.locking.LockProcedure;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.NonceProcedureRunnable;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManager;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.procedure2.LockType;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.procedure2.ProcedureUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureException;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.VisibilityLabelsService;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.quotas.QuotaObserverChore;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.regionserver.RpcSchedulerFactory;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.security.User;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.security.access.AccessChecker;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.security.access.AccessController;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.security.access.Permission;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.security.visibility.VisibilityController;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.wal.AbstractFSWALProvider;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.zookeeper.KeeperException;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.slf4j.Logger;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.slf4j.LoggerFactory;<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hbase.thirdparty.com.google.protobuf.RpcController;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hbase.thirdparty.com.google.protobuf.ServiceException;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionStoreSequenceIds;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockHeartbeatRequest;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockHeartbeatResponse;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockRequest;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockResponse;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockService;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ClearDeadServersRequest;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ClearDeadServersResponse;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DecommissionRegionServersRequest;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DecommissionRegionServersResponse;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableCatalogJanitorRequest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableCatalogJanitorResponse;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetLocksRequest;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetLocksResponse;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProceduresRequest;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProceduresResponse;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateRequest;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateResponse;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.HbckService;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCatalogJanitorEnabledRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCatalogJanitorEnabledResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCleanerChoreEnabledRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCleanerChoreEnabledResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningRequest;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningResponse;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsNormalizerEnabledRequest;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsNormalizerEnabledResponse;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSplitOrMergeEnabledRequest;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSplitOrMergeEnabledResponse;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDecommissionedRegionServersRequest;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDecommissionedRegionServersResponse;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableDescriptorsByNamespaceRequest;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableDescriptorsByNamespaceResponse;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableNamesByNamespaceRequest;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>
<TRUNCATED>
[10/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html
index d4161a3..5ca2906 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html
@@ -106,6 +106,9 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">org.apache.hadoop.hbase.procedure2.StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,TState></li>
<li>
<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</a><TState></li>
+<li>
+<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerSyncReplicationStateTransitionState></li>
<li>
<ul class="inheritance">
@@ -119,6 +122,8 @@ var activeTableTab = "activeTableTab";
</ul>
</li>
</ul>
+</li>
+</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
@@ -201,7 +206,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
<!-- -->
</a>
<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#peerId">peerId</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#peerId">peerId</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -341,7 +353,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.
hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code><
/li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hado
op/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -364,6 +383,13 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface">
+<!-- -->
+</a>
+<h3>Methods inherited from interface org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerId--">getPeerId</a></code></li>
+</ul>
</li>
</ul>
</li>
@@ -472,7 +498,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
be able to resume on failure.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerSyncReplicationStateTransitionState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerSyncReplicationStateTransitionState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - stores the serializable state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -493,7 +519,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
state.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerSyncReplicationStateTransitionState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerSyncReplicationStateTransitionState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - contains the serialized state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html
index 5526c87..d4c4a41 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html
@@ -106,6 +106,9 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">org.apache.hadoop.hbase.procedure2.StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,TState></li>
<li>
<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</a><TState></li>
+<li>
+<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></li>
<li>
<ul class="inheritance">
@@ -124,6 +127,8 @@ var activeTableTab = "activeTableTab";
</ul>
</li>
</ul>
+</li>
+</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
@@ -213,7 +218,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<!-- -->
</a>
<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#peerId">peerId</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#peerId">peerId</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -342,7 +354,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.
hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code><
/li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hado
op/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -365,6 +384,13 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface">
+<!-- -->
+</a>
+<h3>Methods inherited from interface org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerId--">getPeerId</a></code></li>
+</ul>
</li>
</ul>
</li>
@@ -629,7 +655,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
be able to resume on failure.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - stores the serializable state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -650,7 +676,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
state.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - contains the serialized state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerNoLockProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerNoLockProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerNoLockProcedure.html
new file mode 100644
index 0000000..405fc16
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerNoLockProcedure.html
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure (Apache HBase 3.0.0-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerNoLockProcedure.html" target="_top">Frames</a></li>
+<li><a href="AbstractPeerNoLockProcedure.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure" class="title">Uses of Class<br>org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication</a></td>
+<td class="colLast"> </td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.master.replication">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a> in <a href="../../../../../../../org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><TState></span></code>
+<div class="block">The base class for all replication peer related procedure.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AddPeerProcedure</a></span></code>
+<div class="block">The procedure for adding a new replication peer.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/DisablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">DisablePeerProcedure</a></span></code>
+<div class="block">The procedure for disabling a replication peer.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/EnablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">EnablePeerProcedure</a></span></code>
+<div class="block">The procedure for enabling a replication peer.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">ModifyPeerProcedure</a></span></code>
+<div class="block">The base class for all replication peer related procedure except sync replication state
+ transition.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RemovePeerProcedure</a></span></code>
+<div class="block">The procedure for removing a replication peer.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">TransitPeerSyncReplicationStateProcedure</a></span></code>
+<div class="block">The procedure for transit current sync replication state for a synchronous replication peer.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">UpdatePeerConfigProcedure</a></span></code>
+<div class="block">The procedure for updating the config for a replication peer.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerNoLockProcedure.html" target="_top">Frames</a></li>
+<li><a href="AbstractPeerNoLockProcedure.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright © 2007–2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerProcedure.html
index 96afd20..7caf76d 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerProcedure.html
@@ -151,18 +151,10 @@
</tr>
<tr class="altColor">
<td class="colFirst"><code>class </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></span></code> </td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RemovePeerProcedure</a></span></code>
<div class="block">The procedure for removing a replication peer.</div>
</td>
</tr>
-<tr class="altColor">
-<td class="colFirst"><code>class </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></span></code> </td>
-</tr>
<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">TransitPeerSyncReplicationStateProcedure</a></span></code>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html b/devapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html
index c6e9eef..9356a6d 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/package-frame.html
@@ -13,6 +13,7 @@
<div class="indexContainer">
<h2 title="Classes">Classes</h2>
<ul title="Classes">
+<li><a href="AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">AbstractPeerNoLockProcedure</a></li>
<li><a href="AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">AbstractPeerProcedure</a></li>
<li><a href="AddPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">AddPeerProcedure</a></li>
<li><a href="DisablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">DisablePeerProcedure</a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html b/devapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html
index 9bf6312..1aa621c 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/package-summary.html
@@ -83,81 +83,88 @@
</tr>
<tbody>
<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><TState></td>
+<td class="colLast">
+<div class="block">Base class for replication peer related procedures which do not need to hold locks(for most of
+ the sub procedures).</div>
+</td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><TState></td>
<td class="colLast">
<div class="block">The base class for all replication peer related procedure.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AddPeerProcedure</a></td>
<td class="colLast">
<div class="block">The procedure for adding a new replication peer.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/DisablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">DisablePeerProcedure</a></td>
<td class="colLast">
<div class="block">The procedure for disabling a replication peer.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/EnablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">EnablePeerProcedure</a></td>
<td class="colLast">
<div class="block">The procedure for enabling a replication peer.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">ModifyPeerProcedure</a></td>
<td class="colLast">
<div class="block">The base class for all replication peer related procedure except sync replication state
transition.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RefreshPeerProcedure</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RemovePeerProcedure</a></td>
<td class="colLast">
<div class="block">The procedure for removing a replication peer.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a></td>
<td class="colLast">
<div class="block">Manages and performs all replication admin operations.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALManager.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">TransitPeerSyncReplicationStateProcedure</a></td>
<td class="colLast">
<div class="block">The procedure for transit current sync replication state for a synchronous replication peer.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">UpdatePeerConfigProcedure</a></td>
<td class="colLast">
<div class="block">The procedure for updating the config for a replication peer.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ZKSyncReplicationReplayWALWorkerStorage.html" title="class in org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a></td>
<td class="colLast"> </td>
</tr>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
index a0495aa..e2b8f75 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/package-tree.html
@@ -86,6 +86,8 @@
<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">RefreshPeerProcedure</span></a> (implements org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a>, org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteProcedure.html" title="interface in org.apache.hadoop.hbase.procedure2">RemoteProcedureDispatcher.RemoteProcedure</a><TEnv,TRemote>)</li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">StateMachineProcedure</span></a><TEnvironment,TState>
<ul>
+<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">AbstractPeerNoLockProcedure</span></a><TState> (implements org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a>)
+<ul>
<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">AbstractPeerProcedure</span></a><TState> (implements org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a>)
<ul>
<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">ModifyPeerProcedure</span></a>
@@ -97,9 +99,11 @@
<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">UpdatePeerConfigProcedure</span></a></li>
</ul>
</li>
+<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TransitPeerSyncReplicationStateProcedure</span></a></li>
+</ul>
+</li>
<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">RecoverStandbyProcedure</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">SyncReplicationReplayWALProcedure</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TransitPeerSyncReplicationStateProcedure</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/package-use.html b/devapidocs/org/apache/hadoop/hbase/master/replication/package-use.html
index 8dddfae..3c97da7 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/package-use.html
@@ -170,25 +170,31 @@
</tr>
<tbody>
<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerNoLockProcedure.html#org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a>
+<div class="block">Base class for replication peer related procedures which do not need to hold locks(for most of
+ the sub procedures).</div>
+</td>
+</tr>
+<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/class-use/AbstractPeerProcedure.html#org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a>
<div class="block">The base class for all replication peer related procedure.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/class-use/ModifyPeerProcedure.html#org.apache.hadoop.hbase.master.replication">ModifyPeerProcedure</a>
<div class="block">The base class for all replication peer related procedure except sync replication state
transition.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/class-use/ReplicationPeerManager.html#org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a>
<div class="block">Manages and performs all replication admin operations.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/class-use/SyncReplicationReplayWALManager.html#org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALManager</a> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/class-use/ZKSyncReplicationReplayWALWorkerStorage.html#org.apache.hadoop.hbase.master.replication">ZKSyncReplicationReplayWALWorkerStorage</a> </td>
</tr>
</tbody>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html b/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
index 4b549da..7b435d2 100644
--- a/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
@@ -127,8 +127,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><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.monitoring.<a href="../../../../../org/apache/hadoop/hbase/monitoring/TaskMonitor.TaskFilter.TaskType.html" title="enum in org.apache.hadoop.hbase.monitoring"><span class="typeNameLink">TaskMonitor.TaskFilter.TaskType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.monitoring.<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.State.html" title="enum in org.apache.hadoop.hbase.monitoring"><span class="typeNameLink">MonitoredTask.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.monitoring.<a href="../../../../../org/apache/hadoop/hbase/monitoring/TaskMonitor.TaskFilter.TaskType.html" title="enum in org.apache.hadoop.hbase.monitoring"><span class="typeNameLink">TaskMonitor.TaskFilter.TaskType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/package-tree.html b/devapidocs/org/apache/hadoop/hbase/package-tree.html
index 798838b..6e2f971 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -437,19 +437,19 @@
<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.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterMetrics.Option</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Size.Unit.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Size.Unit</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Cell.Type</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterMetrics.Option</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html b/devapidocs/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html
index 4cd85ac..bc06f21 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/master/procedure/AbstractStateMachineNamespaceProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">AbstractStateMachineNamespaceProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">AbstractStateMachineTableProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/master/procedure/RecoverMetaProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">RecoverMetaProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">ServerCrashProcedure</a></dd>
+<dd><a href="../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/master/procedure/AbstractStateMachineNamespaceProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">AbstractStateMachineNamespaceProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">AbstractStateMachineTableProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/master/procedure/RecoverMetaProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">RecoverMetaProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">ServerCrashProcedure</a></dd>
</dl>
<hr>
<br>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html
index 421c6ca..b09c1ba 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/Procedure.html
@@ -873,64 +873,71 @@
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><TState></span></code>
+<div class="block">Base class for replication peer related procedures which do not need to hold locks(for most of
+ the sub procedures).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><TState></span></code>
<div class="block">The base class for all replication peer related procedure.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AddPeerProcedure</a></span></code>
<div class="block">The procedure for adding a new replication peer.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/DisablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">DisablePeerProcedure</a></span></code>
<div class="block">The procedure for disabling a replication peer.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/EnablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">EnablePeerProcedure</a></span></code>
<div class="block">The procedure for enabling a replication peer.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">ModifyPeerProcedure</a></span></code>
<div class="block">The base class for all replication peer related procedure except sync replication state
transition.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RefreshPeerProcedure</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RemovePeerProcedure</a></span></code>
<div class="block">The procedure for removing a replication peer.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALRemoteProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALRemoteProcedure</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">TransitPeerSyncReplicationStateProcedure</a></span></code>
<div class="block">The procedure for transit current sync replication state for a synchronous replication peer.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">UpdatePeerConfigProcedure</a></span></code>
<div class="block">The procedure for updating the config for a replication peer.</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureStateSerializer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureStateSerializer.html b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureStateSerializer.html
index c5a712c..1f83b6b 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureStateSerializer.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureStateSerializer.html
@@ -422,7 +422,7 @@
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a> serializer)</code> </td>
+<td class="colLast"><span class="typeNameLabel">AbstractPeerNoLockProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a> serializer)</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
@@ -466,7 +466,7 @@
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a> serializer)</code> </td>
+<td class="colLast"><span class="typeNameLabel">AbstractPeerNoLockProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a> serializer)</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureSuspendedException.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureSuspendedException.html b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureSuspendedException.html
index eae4c7c..079e278 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureSuspendedException.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/ProcedureSuspendedException.html
@@ -244,7 +244,7 @@
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#suspend-long-">suspend</a></span>(long backoff)</code> </td>
+<td class="colLast"><span class="typeNameLabel">AbstractPeerNoLockProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend</a></span>(long backoff)</code> </td>
</tr>
</tbody>
</table>
@@ -285,7 +285,7 @@
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractPeerProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#suspend-long-">suspend</a></span>(long backoff)</code> </td>
+<td class="colLast"><span class="typeNameLabel">AbstractPeerNoLockProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend</a></span>(long backoff)</code> </td>
</tr>
</tbody>
</table>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/StateMachineProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/StateMachineProcedure.html b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/StateMachineProcedure.html
index dd470ad..e2ebc1e 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/StateMachineProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/class-use/StateMachineProcedure.html
@@ -274,56 +274,63 @@
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><TState></span></code>
+<div class="block">Base class for replication peer related procedures which do not need to hold locks(for most of
+ the sub procedures).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><TState></span></code>
<div class="block">The base class for all replication peer related procedure.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AddPeerProcedure</a></span></code>
<div class="block">The procedure for adding a new replication peer.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/DisablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">DisablePeerProcedure</a></span></code>
<div class="block">The procedure for disabling a replication peer.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/EnablePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">EnablePeerProcedure</a></span></code>
<div class="block">The procedure for enabling a replication peer.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">ModifyPeerProcedure</a></span></code>
<div class="block">The base class for all replication peer related procedure except sync replication state
transition.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RemovePeerProcedure</a></span></code>
<div class="block">The procedure for removing a replication peer.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">TransitPeerSyncReplicationStateProcedure</a></span></code>
<div class="block">The procedure for transit current sync replication state for a synchronous replication peer.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">UpdatePeerConfigProcedure</a></span></code>
<div class="block">The procedure for updating the config for a replication peer.</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index ce62735..697794c 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -216,10 +216,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.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockedResourceType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">StateMachineProcedure.Flow</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">RootProcedureState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockedResourceType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">StateMachineProcedure.Flow</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Procedure.LockState</span></a></li>
</ul>
</li>
[04/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
index 801dc55..5d3c5eb 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
@@ -1369,556 +1369,557 @@
<span class="sourceLineNo">1361</span> return 0;<a name="line.1361"></a>
<span class="sourceLineNo">1362</span> }<a name="line.1362"></a>
<span class="sourceLineNo">1363</span><a name="line.1363"></a>
-<span class="sourceLineNo">1364</span> public void submitServerCrash(final ServerName serverName, final boolean shouldSplitWal) {<a name="line.1364"></a>
+<span class="sourceLineNo">1364</span> public long submitServerCrash(final ServerName serverName, final boolean shouldSplitWal) {<a name="line.1364"></a>
<span class="sourceLineNo">1365</span> boolean carryingMeta = isCarryingMeta(serverName);<a name="line.1365"></a>
<span class="sourceLineNo">1366</span> ProcedureExecutor<MasterProcedureEnv> procExec = this.master.getMasterProcedureExecutor();<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span> procExec.submitProcedure(new ServerCrashProcedure(procExec.getEnvironment(), serverName,<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span> shouldSplitWal, carryingMeta));<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span> LOG.debug("Added=" + serverName +<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span> " to dead servers, submitted shutdown handler to be executed meta=" + carryingMeta);<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span> }<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span><a name="line.1372"></a>
-<span class="sourceLineNo">1373</span> public void offlineRegion(final RegionInfo regionInfo) {<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span> // TODO used by MasterRpcServices<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span> RegionStateNode node = regionStates.getRegionStateNode(regionInfo);<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span> if (node != null) {<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span> node.offline();<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span> }<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span> }<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span><a name="line.1380"></a>
-<span class="sourceLineNo">1381</span> public void onlineRegion(final RegionInfo regionInfo, final ServerName serverName) {<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span> // TODO used by TestSplitTransactionOnCluster.java<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span> }<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span><a name="line.1384"></a>
-<span class="sourceLineNo">1385</span> public Map<ServerName, List<RegionInfo>> getSnapShotOfAssignment(<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span> final Collection<RegionInfo> regions) {<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span> return regionStates.getSnapShotOfAssignment(regions);<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span> }<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span><a name="line.1389"></a>
-<span class="sourceLineNo">1390</span> // ============================================================================================<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span> // TODO: UTILS/HELPERS?<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span> // ============================================================================================<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span> /**<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span> * Used by the client (via master) to identify if all regions have the schema updates<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span> *<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span> * @param tableName<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span> * @return Pair indicating the status of the alter command (pending/total)<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span> * @throws IOException<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span> */<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span> public Pair<Integer, Integer> getReopenStatus(TableName tableName) {<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span> if (isTableDisabled(tableName)) return new Pair<Integer, Integer>(0, 0);<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span><a name="line.1402"></a>
-<span class="sourceLineNo">1403</span> final List<RegionState> states = regionStates.getTableRegionStates(tableName);<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span> int ritCount = 0;<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span> for (RegionState regionState: states) {<a name="line.1405"></a>
-<span class="sourceLineNo">1406</span> if (!regionState.isOpened()) ritCount++;<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span> }<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span> return new Pair<Integer, Integer>(ritCount, states.size());<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span> }<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span><a name="line.1410"></a>
-<span class="sourceLineNo">1411</span> // ============================================================================================<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span> // TODO: Region State In Transition<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span> // ============================================================================================<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span> public boolean hasRegionsInTransition() {<a name="line.1414"></a>
-<span class="sourceLineNo">1415</span> return regionStates.hasRegionsInTransition();<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span> }<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span><a name="line.1417"></a>
-<span class="sourceLineNo">1418</span> public List<RegionStateNode> getRegionsInTransition() {<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span> return regionStates.getRegionsInTransition();<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span> }<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span><a name="line.1421"></a>
-<span class="sourceLineNo">1422</span> public List<RegionInfo> getAssignedRegions() {<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span> return regionStates.getAssignedRegions();<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span> }<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span><a name="line.1425"></a>
-<span class="sourceLineNo">1426</span> public RegionInfo getRegionInfo(final byte[] regionName) {<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span> final RegionStateNode regionState = regionStates.getRegionStateNodeFromName(regionName);<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span> return regionState != null ? regionState.getRegionInfo() : null;<a name="line.1428"></a>
-<span class="sourceLineNo">1429</span> }<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span><a name="line.1430"></a>
-<span class="sourceLineNo">1431</span> // ============================================================================================<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span> // Expected states on region state transition.<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span> // Notice that there is expected states for transiting to OPENING state, this is because SCP.<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span> // See the comments in regionOpening method for more details.<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span> // ============================================================================================<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span> private static final State[] STATES_EXPECTED_ON_OPEN = {<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span> State.OPENING, // Normal case<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span> State.OPEN // Retrying<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span> };<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span><a name="line.1440"></a>
-<span class="sourceLineNo">1441</span> private static final State[] STATES_EXPECTED_ON_CLOSING = {<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span> State.OPEN, // Normal case<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span> State.CLOSING, // Retrying<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span> State.SPLITTING, // Offline the split parent<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span> State.MERGING // Offline the merge parents<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span> };<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span><a name="line.1447"></a>
-<span class="sourceLineNo">1448</span> private static final State[] STATES_EXPECTED_ON_CLOSED = {<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span> State.CLOSING, // Normal case<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span> State.CLOSED // Retrying<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span> };<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span><a name="line.1452"></a>
-<span class="sourceLineNo">1453</span> // This is for manually scheduled region assign, can add other states later if we find out other<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span> // usages<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span> private static final State[] STATES_EXPECTED_ON_ASSIGN = { State.CLOSED, State.OFFLINE };<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span><a name="line.1456"></a>
-<span class="sourceLineNo">1457</span> // We only allow unassign or move a region which is in OPEN state.<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span> private static final State[] STATES_EXPECTED_ON_UNASSIGN_OR_MOVE = { State.OPEN };<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span><a name="line.1459"></a>
-<span class="sourceLineNo">1460</span> // ============================================================================================<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span> // Region Status update<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span> // Should only be called in TransitRegionStateProcedure<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span> // ============================================================================================<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span> private void transitStateAndUpdate(RegionStateNode regionNode, RegionState.State newState,<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span> RegionState.State... expectedStates) throws IOException {<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span> RegionState.State state = regionNode.getState();<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span> regionNode.transitionState(newState, expectedStates);<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span> boolean succ = false;<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span> try {<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span> succ = true;<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span> } finally {<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span> if (!succ) {<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span> // revert<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span> regionNode.setState(state);<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span> }<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span> }<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span> }<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span><a name="line.1479"></a>
-<span class="sourceLineNo">1480</span> // should be called within the synchronized block of RegionStateNode<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span> void regionOpening(RegionStateNode regionNode) throws IOException {<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span> // As in SCP, for performance reason, there is no TRSP attached with this region, we will not<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span> // update the region state, which means that the region could be in any state when we want to<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span> // assign it after a RS crash. So here we do not pass the expectedStates parameter.<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span> transitStateAndUpdate(regionNode, State.OPENING);<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span> regionStates.addRegionToServer(regionNode);<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span> // update the operation count metrics<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span> metrics.incrementOperationCounter();<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span> }<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span><a name="line.1490"></a>
-<span class="sourceLineNo">1491</span> // should be called within the synchronized block of RegionStateNode.<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span> // The parameter 'giveUp' means whether we will try to open the region again, if it is true, then<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span> // we will persist the FAILED_OPEN state into hbase:meta.<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span> void regionFailedOpen(RegionStateNode regionNode, boolean giveUp) throws IOException {<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span> RegionState.State state = regionNode.getState();<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span> ServerName regionLocation = regionNode.getRegionLocation();<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span> if (giveUp) {<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span> regionNode.setState(State.FAILED_OPEN);<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span> regionNode.setRegionLocation(null);<a name="line.1499"></a>
-<span class="sourceLineNo">1500</span> boolean succ = false;<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span> try {<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span> succ = true;<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span> } finally {<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span> if (!succ) {<a name="line.1505"></a>
-<span class="sourceLineNo">1506</span> // revert<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span> regionNode.setState(state);<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span> regionNode.setRegionLocation(regionLocation);<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span> }<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span> }<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span> }<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span> if (regionLocation != null) {<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span> regionStates.removeRegionFromServer(regionLocation, regionNode);<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span> }<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span> }<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span><a name="line.1516"></a>
-<span class="sourceLineNo">1517</span> // should be called within the synchronized block of RegionStateNode<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span> void regionOpened(RegionStateNode regionNode) throws IOException {<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span> // TODO: OPENING Updates hbase:meta too... we need to do both here and there?<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span> // That is a lot of hbase:meta writing.<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span> transitStateAndUpdate(regionNode, State.OPEN, STATES_EXPECTED_ON_OPEN);<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span> RegionInfo hri = regionNode.getRegionInfo();<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span> if (isMetaRegion(hri)) {<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span> // Usually we'd set a table ENABLED at this stage but hbase:meta is ALWAYs enabled, it<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span> // can't be disabled -- so skip the RPC (besides... enabled is managed by TableStateManager<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span> // which is backed by hbase:meta... Avoid setting ENABLED to avoid having to update state<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span> // on table that contains state.<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span> setMetaAssigned(hri, true);<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span> }<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span> regionStates.addRegionToServer(regionNode);<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span> regionStates.removeFromFailedOpen(hri);<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span> }<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span><a name="line.1533"></a>
-<span class="sourceLineNo">1534</span> // should be called within the synchronized block of RegionStateNode<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span> void regionClosing(RegionStateNode regionNode) throws IOException {<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span> transitStateAndUpdate(regionNode, State.CLOSING, STATES_EXPECTED_ON_CLOSING);<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span><a name="line.1537"></a>
-<span class="sourceLineNo">1538</span> RegionInfo hri = regionNode.getRegionInfo();<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span> // Set meta has not initialized early. so people trying to create/edit tables will wait<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span> if (isMetaRegion(hri)) {<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span> setMetaAssigned(hri, false);<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span> }<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span> regionStates.addRegionToServer(regionNode);<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span> // update the operation count metrics<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span> metrics.incrementOperationCounter();<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span> }<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span><a name="line.1547"></a>
-<span class="sourceLineNo">1548</span> // should be called within the synchronized block of RegionStateNode<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span> // The parameter 'normally' means whether we are closed cleanly, if it is true, then it means that<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span> // we are closed due to a RS crash.<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span> void regionClosed(RegionStateNode regionNode, boolean normally) throws IOException {<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span> RegionState.State state = regionNode.getState();<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span> ServerName regionLocation = regionNode.getRegionLocation();<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span> if (normally) {<a name="line.1554"></a>
-<span class="sourceLineNo">1555</span> regionNode.transitionState(State.CLOSED, STATES_EXPECTED_ON_CLOSED);<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span> } else {<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span> // For SCP<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span> regionNode.transitionState(State.ABNORMALLY_CLOSED);<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span> }<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span> regionNode.setRegionLocation(null);<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span> boolean succ = false;<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span> try {<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span> succ = true;<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span> } finally {<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span> if (!succ) {<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span> // revert<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span> regionNode.setState(state);<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span> regionNode.setRegionLocation(regionLocation);<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span> }<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span> }<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span> if (regionLocation != null) {<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span> regionNode.setLastHost(regionLocation);<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span> regionStates.removeRegionFromServer(regionLocation, regionNode);<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span> }<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span> }<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span><a name="line.1577"></a>
-<span class="sourceLineNo">1578</span> public void markRegionAsSplit(final RegionInfo parent, final ServerName serverName,<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span> final RegionInfo daughterA, final RegionInfo daughterB) throws IOException {<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span> // Update hbase:meta. Parent will be marked offline and split up in hbase:meta.<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span> // The parent stays in regionStates until cleared when removed by CatalogJanitor.<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span> // Update its state in regionStates to it shows as offline and split when read<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span> // later figuring what regions are in a table and what are not: see<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span> // regionStates#getRegionsOfTable<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span> final RegionStateNode node = regionStates.getOrCreateRegionStateNode(parent);<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span> node.setState(State.SPLIT);<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span> final RegionStateNode nodeA = regionStates.getOrCreateRegionStateNode(daughterA);<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span> nodeA.setState(State.SPLITTING_NEW);<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span> final RegionStateNode nodeB = regionStates.getOrCreateRegionStateNode(daughterB);<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span> nodeB.setState(State.SPLITTING_NEW);<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span><a name="line.1591"></a>
-<span class="sourceLineNo">1592</span> regionStateStore.splitRegion(parent, daughterA, daughterB, serverName);<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span> if (shouldAssignFavoredNodes(parent)) {<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span> List<ServerName> onlineServers = this.master.getServerManager().getOnlineServersList();<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span> ((FavoredNodesPromoter)getBalancer()).<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span> generateFavoredNodesForDaughter(onlineServers, parent, daughterA, daughterB);<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span> }<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span> }<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span><a name="line.1599"></a>
-<span class="sourceLineNo">1600</span> /**<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span> * When called here, the merge has happened. The two merged regions have been<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span> * unassigned and the above markRegionClosed has been called on each so they have been<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span> * disassociated from a hosting Server. The merged region will be open after this call. The<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span> * merged regions are removed from hbase:meta below> Later they are deleted from the filesystem<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span> * by the catalog janitor running against hbase:meta. It notices when the merged region no<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span> * longer holds references to the old regions.<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span> */<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span> public void markRegionAsMerged(final RegionInfo child, final ServerName serverName,<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span> final RegionInfo mother, final RegionInfo father) throws IOException {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span> final RegionStateNode node = regionStates.getOrCreateRegionStateNode(child);<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span> node.setState(State.MERGED);<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span> regionStates.deleteRegion(mother);<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span> regionStates.deleteRegion(father);<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span> regionStateStore.mergeRegions(child, mother, father, serverName);<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span> if (shouldAssignFavoredNodes(child)) {<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span> ((FavoredNodesPromoter)getBalancer()).<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span> generateFavoredNodesForMergedRegion(child, mother, father);<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span> }<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span> }<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span><a name="line.1620"></a>
-<span class="sourceLineNo">1621</span> /*<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span> * Favored nodes should be applied only when FavoredNodes balancer is configured and the region<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span> * belongs to a non-system table.<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span> */<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span> private boolean shouldAssignFavoredNodes(RegionInfo region) {<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span> return this.shouldAssignRegionsWithFavoredNodes &&<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span> FavoredNodesManager.isFavoredNodeApplicable(region);<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span> }<a name="line.1628"></a>
-<span class="sourceLineNo">1629</span><a name="line.1629"></a>
-<span class="sourceLineNo">1630</span> // ============================================================================================<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span> // Assign Queue (Assign/Balance)<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span> // ============================================================================================<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span> private final ArrayList<RegionStateNode> pendingAssignQueue = new ArrayList<RegionStateNode>();<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span> private final ReentrantLock assignQueueLock = new ReentrantLock();<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span> private final Condition assignQueueFullCond = assignQueueLock.newCondition();<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span><a name="line.1636"></a>
-<span class="sourceLineNo">1637</span> /**<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span> * Add the assign operation to the assignment queue.<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span> * The pending assignment operation will be processed,<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span> * and each region will be assigned by a server using the balancer.<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span> */<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span> protected void queueAssign(final RegionStateNode regionNode) {<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span> regionNode.getProcedureEvent().suspend();<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span><a name="line.1644"></a>
-<span class="sourceLineNo">1645</span> // TODO: quick-start for meta and the other sys-tables?<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span> assignQueueLock.lock();<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span> try {<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span> pendingAssignQueue.add(regionNode);<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span> if (regionNode.isSystemTable() ||<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span> pendingAssignQueue.size() == 1 ||<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span> pendingAssignQueue.size() >= assignDispatchWaitQueueMaxSize) {<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span> assignQueueFullCond.signal();<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span> }<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span> } finally {<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span> assignQueueLock.unlock();<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span> }<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span> }<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span><a name="line.1658"></a>
-<span class="sourceLineNo">1659</span> private void startAssignmentThread() {<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span> // Get Server Thread name. Sometimes the Server is mocked so may not implement HasThread.<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span> // For example, in tests.<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span> String name = master instanceof HasThread? ((HasThread)master).getName():<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span> master.getServerName().toShortString();<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span> assignThread = new Thread(name) {<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span> @Override<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span> public void run() {<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span> while (isRunning()) {<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span> processAssignQueue();<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span> }<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span> pendingAssignQueue.clear();<a name="line.1670"></a>
-<span class="sourceLineNo">1671</span> }<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span> };<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span> assignThread.setDaemon(true);<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span> assignThread.start();<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span> }<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span><a name="line.1676"></a>
-<span class="sourceLineNo">1677</span> private void stopAssignmentThread() {<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span> assignQueueSignal();<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span> try {<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span> while (assignThread.isAlive()) {<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span> assignQueueSignal();<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span> assignThread.join(250);<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span> }<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span> } catch (InterruptedException e) {<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span> LOG.warn("join interrupted", e);<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span> Thread.currentThread().interrupt();<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span> }<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span> }<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span><a name="line.1689"></a>
-<span class="sourceLineNo">1690</span> private void assignQueueSignal() {<a name="line.1690"></a>
-<span class="sourceLineNo">1691</span> assignQueueLock.lock();<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span> try {<a name="line.1692"></a>
-<span class="sourceLineNo">1693</span> assignQueueFullCond.signal();<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span> } finally {<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span> assignQueueLock.unlock();<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span> }<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span> }<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span><a name="line.1698"></a>
-<span class="sourceLineNo">1699</span> @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span> private HashMap<RegionInfo, RegionStateNode> waitOnAssignQueue() {<a name="line.1700"></a>
-<span class="sourceLineNo">1701</span> HashMap<RegionInfo, RegionStateNode> regions = null;<a name="line.1701"></a>
-<span class="sourceLineNo">1702</span><a name="line.1702"></a>
-<span class="sourceLineNo">1703</span> assignQueueLock.lock();<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span> try {<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span> if (pendingAssignQueue.isEmpty() && isRunning()) {<a name="line.1705"></a>
-<span class="sourceLineNo">1706</span> assignQueueFullCond.await();<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span> }<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span><a name="line.1708"></a>
-<span class="sourceLineNo">1709</span> if (!isRunning()) return null;<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span> assignQueueFullCond.await(assignDispatchWaitMillis, TimeUnit.MILLISECONDS);<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span> regions = new HashMap<RegionInfo, RegionStateNode>(pendingAssignQueue.size());<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span> for (RegionStateNode regionNode: pendingAssignQueue) {<a name="line.1712"></a>
-<span class="sourceLineNo">1713</span> regions.put(regionNode.getRegionInfo(), regionNode);<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span> }<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span> pendingAssignQueue.clear();<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span> } catch (InterruptedException e) {<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span> LOG.warn("got interrupted ", e);<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span> Thread.currentThread().interrupt();<a name="line.1718"></a>
-<span class="sourceLineNo">1719</span> } finally {<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span> assignQueueLock.unlock();<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span> }<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span> return regions;<a name="line.1722"></a>
-<span class="sourceLineNo">1723</span> }<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span><a name="line.1724"></a>
-<span class="sourceLineNo">1725</span> private void processAssignQueue() {<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span> final HashMap<RegionInfo, RegionStateNode> regions = waitOnAssignQueue();<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span> if (regions == null || regions.size() == 0 || !isRunning()) {<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span> return;<a name="line.1728"></a>
-<span class="sourceLineNo">1729</span> }<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span><a name="line.1730"></a>
-<span class="sourceLineNo">1731</span> if (LOG.isTraceEnabled()) {<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span> LOG.trace("PROCESS ASSIGN QUEUE regionCount=" + regions.size());<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span> }<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span><a name="line.1734"></a>
-<span class="sourceLineNo">1735</span> // TODO: Optimize balancer. pass a RegionPlan?<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span> final HashMap<RegionInfo, ServerName> retainMap = new HashMap<>();<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span> final List<RegionInfo> userHRIs = new ArrayList<>(regions.size());<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span> // Regions for system tables requiring reassignment<a name="line.1738"></a>
-<span class="sourceLineNo">1739</span> final List<RegionInfo> systemHRIs = new ArrayList<>();<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span> for (RegionStateNode regionStateNode: regions.values()) {<a name="line.1740"></a>
-<span class="sourceLineNo">1741</span> boolean sysTable = regionStateNode.isSystemTable();<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span> final List<RegionInfo> hris = sysTable? systemHRIs: userHRIs;<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span> if (regionStateNode.getRegionLocation() != null) {<a name="line.1743"></a>
-<span class="sourceLineNo">1744</span> retainMap.put(regionStateNode.getRegionInfo(), regionStateNode.getRegionLocation());<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span> } else {<a name="line.1745"></a>
-<span class="sourceLineNo">1746</span> hris.add(regionStateNode.getRegionInfo());<a name="line.1746"></a>
-<span class="sourceLineNo">1747</span> }<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span> }<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span><a name="line.1749"></a>
-<span class="sourceLineNo">1750</span> // TODO: connect with the listener to invalidate the cache<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span><a name="line.1751"></a>
-<span class="sourceLineNo">1752</span> // TODO use events<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span> List<ServerName> servers = master.getServerManager().createDestinationServersList();<a name="line.1753"></a>
-<span class="sourceLineNo">1754</span> for (int i = 0; servers.size() < 1; ++i) {<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span> // Report every fourth time around this loop; try not to flood log.<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span> if (i % 4 == 0) {<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span> LOG.warn("No servers available; cannot place " + regions.size() + " unassigned regions.");<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span> }<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span><a name="line.1759"></a>
-<span class="sourceLineNo">1760</span> if (!isRunning()) {<a name="line.1760"></a>
-<span class="sourceLineNo">1761</span> LOG.debug("Stopped! Dropping assign of " + regions.size() + " queued regions.");<a name="line.1761"></a>
-<span class="sourceLineNo">1762</span> return;<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span> }<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span> Threads.sleep(250);<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span> servers = master.getServerManager().createDestinationServersList();<a name="line.1765"></a>
-<span class="sourceLineNo">1766</span> }<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span><a name="line.1767"></a>
-<span class="sourceLineNo">1768</span> if (!systemHRIs.isEmpty()) {<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span> // System table regions requiring reassignment are present, get region servers<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span> // not available for system table regions<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span> final List<ServerName> excludeServers = getExcludedServersForSystemTable();<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span> List<ServerName> serversForSysTables = servers.stream()<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span> .filter(s -> !excludeServers.contains(s)).collect(Collectors.toList());<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span> if (serversForSysTables.isEmpty()) {<a name="line.1774"></a>
-<span class="sourceLineNo">1775</span> LOG.warn("Filtering old server versions and the excluded produced an empty set; " +<a name="line.1775"></a>
-<span class="sourceLineNo">1776</span> "instead considering all candidate servers!");<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span> }<a name="line.1777"></a>
-<span class="sourceLineNo">1778</span> LOG.debug("Processing assignQueue; systemServersCount=" + serversForSysTables.size() +<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span> ", allServersCount=" + servers.size());<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span> processAssignmentPlans(regions, null, systemHRIs,<a name="line.1780"></a>
-<span class="sourceLineNo">1781</span> serversForSysTables.isEmpty()? servers: serversForSysTables);<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span> }<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span><a name="line.1783"></a>
-<span class="sourceLineNo">1784</span> processAssignmentPlans(regions, retainMap, userHRIs, servers);<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span> }<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span><a name="line.1786"></a>
-<span class="sourceLineNo">1787</span> private void processAssignmentPlans(final HashMap<RegionInfo, RegionStateNode> regions,<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span> final HashMap<RegionInfo, ServerName> retainMap, final List<RegionInfo> hris,<a name="line.1788"></a>
-<span class="sourceLineNo">1789</span> final List<ServerName> servers) {<a name="line.1789"></a>
-<span class="sourceLineNo">1790</span> boolean isTraceEnabled = LOG.isTraceEnabled();<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span> if (isTraceEnabled) {<a name="line.1791"></a>
-<span class="sourceLineNo">1792</span> LOG.trace("Available servers count=" + servers.size() + ": " + servers);<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span> }<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span><a name="line.1794"></a>
-<span class="sourceLineNo">1795</span> final LoadBalancer balancer = getBalancer();<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span> // ask the balancer where to place regions<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span> if (retainMap != null && !retainMap.isEmpty()) {<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span> if (isTraceEnabled) {<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span> LOG.trace("retain assign regions=" + retainMap);<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span> }<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span> try {<a name="line.1801"></a>
-<span class="sourceLineNo">1802</span> acceptPlan(regions, balancer.retainAssignment(retainMap, servers));<a name="line.1802"></a>
-<span class="sourceLineNo">1803</span> } catch (HBaseIOException e) {<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span> LOG.warn("unable to retain assignment", e);<a name="line.1804"></a>
-<span class="sourceLineNo">1805</span> addToPendingAssignment(regions, retainMap.keySet());<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span> }<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span> }<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span><a name="line.1808"></a>
-<span class="sourceLineNo">1809</span> // TODO: Do we need to split retain and round-robin?<a name="line.1809"></a>
-<span class="sourceLineNo">1810</span> // the retain seems to fallback to round-robin/random if the region is not in the map.<a name="line.1810"></a>
-<span class="sourceLineNo">1811</span> if (!hris.isEmpty()) {<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span> Collections.sort(hris, RegionInfo.COMPARATOR);<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span> if (isTraceEnabled) {<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span> LOG.trace("round robin regions=" + hris);<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span> }<a name="line.1815"></a>
-<span class="sourceLineNo">1816</span> try {<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span> acceptPlan(regions, balancer.roundRobinAssignment(hris, servers));<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span> } catch (HBaseIOException e) {<a name="line.1818"></a>
-<span class="sourceLineNo">1819</span> LOG.warn("unable to round-robin assignment", e);<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span> addToPendingAssignment(regions, hris);<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span> }<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span> }<a name="line.1822"></a>
-<span class="sourceLineNo">1823</span> }<a name="line.1823"></a>
-<span class="sourceLineNo">1824</span><a name="line.1824"></a>
-<span class="sourceLineNo">1825</span> private void acceptPlan(final HashMap<RegionInfo, RegionStateNode> regions,<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span> final Map<ServerName, List<RegionInfo>> plan) throws HBaseIOException {<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span> final ProcedureEvent<?>[] events = new ProcedureEvent[regions.size()];<a name="line.1827"></a>
-<span class="sourceLineNo">1828</span> final long st = System.currentTimeMillis();<a name="line.1828"></a>
-<span class="sourceLineNo">1829</span><a name="line.1829"></a>
-<span class="sourceLineNo">1830</span> if (plan == null) {<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span> throw new HBaseIOException("unable to compute plans for regions=" + regions.size());<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span> }<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span><a name="line.1833"></a>
-<span class="sourceLineNo">1834</span> if (plan.isEmpty()) return;<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span><a name="line.1835"></a>
-<span class="sourceLineNo">1836</span> int evcount = 0;<a name="line.1836"></a>
-<span class="sourceLineNo">1837</span> for (Map.Entry<ServerName, List<RegionInfo>> entry: plan.entrySet()) {<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span> final ServerName server = entry.getKey();<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span> for (RegionInfo hri: entry.getValue()) {<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span> final RegionStateNode regionNode = regions.get(hri);<a name="line.1840"></a>
-<span class="sourceLineNo">1841</span> regionNode.setRegionLocation(server);<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span> events[evcount++] = regionNode.getProcedureEvent();<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span> }<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span> }<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span> ProcedureEvent.wakeEvents(getProcedureScheduler(), events);<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span><a name="line.1846"></a>
-<span class="sourceLineNo">1847</span> final long et = System.currentTimeMillis();<a name="line.1847"></a>
-<span class="sourceLineNo">1848</span> if (LOG.isTraceEnabled()) {<a name="line.1848"></a>
-<span class="sourceLineNo">1849</span> LOG.trace("ASSIGN ACCEPT " + events.length + " -> " +<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span> StringUtils.humanTimeDiff(et - st));<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span> }<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span> }<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span><a name="line.1853"></a>
-<span class="sourceLineNo">1854</span> private void addToPendingAssignment(final HashMap<RegionInfo, RegionStateNode> regions,<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span> final Collection<RegionInfo> pendingRegions) {<a name="line.1855"></a>
-<span class="sourceLineNo">1856</span> assignQueueLock.lock();<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span> try {<a name="line.1857"></a>
-<span class="sourceLineNo">1858</span> for (RegionInfo hri: pendingRegions) {<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span> pendingAssignQueue.add(regions.get(hri));<a name="line.1859"></a>
-<span class="sourceLineNo">1860</span> }<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span> } finally {<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span> assignQueueLock.unlock();<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span> }<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span> }<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span><a name="line.1865"></a>
-<span class="sourceLineNo">1866</span> /**<a name="line.1866"></a>
-<span class="sourceLineNo">1867</span> * Get a list of servers that this region cannot be assigned to.<a name="line.1867"></a>
-<span class="sourceLineNo">1868</span> * For system tables, we must assign them to a server with highest version.<a name="line.1868"></a>
-<span class="sourceLineNo">1869</span> */<a name="line.1869"></a>
-<span class="sourceLineNo">1870</span> public List<ServerName> getExcludedServersForSystemTable() {<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span> // TODO: This should be a cached list kept by the ServerManager rather than calculated on each<a name="line.1871"></a>
-<span class="sourceLineNo">1872</span> // move or system region assign. The RegionServerTracker keeps list of online Servers with<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span> // RegionServerInfo that includes Version.<a name="line.1873"></a>
-<span class="sourceLineNo">1874</span> List<Pair<ServerName, String>> serverList = master.getServerManager().getOnlineServersList()<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span> .stream()<a name="line.1875"></a>
-<span class="sourceLineNo">1876</span> .map((s)->new Pair<>(s, master.getRegionServerVersion(s)))<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span> .collect(Collectors.toList());<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span> if (serverList.isEmpty()) {<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span> return Collections.emptyList();<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span> }<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span> String highestVersion = Collections.max(serverList,<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span> (o1, o2) -> VersionInfo.compareVersion(o1.getSecond(), o2.getSecond())).getSecond();<a name="line.1882"></a>
-<span class="sourceLineNo">1883</span> return serverList.stream()<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span> .filter((p)->!p.getSecond().equals(highestVersion))<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span> .map(Pair::getFirst)<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span> .collect(Collectors.toList());<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span> }<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span><a name="line.1888"></a>
-<span class="sourceLineNo">1889</span> // ============================================================================================<a name="line.1889"></a>
-<span class="sourceLineNo">1890</span> // Server Helpers<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span> // ============================================================================================<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span> @Override<a name="line.1892"></a>
-<span class="sourceLineNo">1893</span> public void serverAdded(final ServerName serverName) {<a name="line.1893"></a>
-<span class="sourceLineNo">1894</span> }<a name="line.1894"></a>
-<span class="sourceLineNo">1895</span><a name="line.1895"></a>
-<span class="sourceLineNo">1896</span> @Override<a name="line.1896"></a>
-<span class="sourceLineNo">1897</span> public void serverRemoved(final ServerName serverName) {<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span> final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span> if (serverNode == null) return;<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span><a name="line.1900"></a>
-<span class="sourceLineNo">1901</span> // just in case, wake procedures waiting for this server report<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span> wakeServerReportEvent(serverNode);<a name="line.1902"></a>
-<span class="sourceLineNo">1903</span> }<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span><a name="line.1904"></a>
-<span class="sourceLineNo">1905</span> private void killRegionServer(final ServerStateNode serverNode) {<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span> master.getServerManager().expireServer(serverNode.getServerName());<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span> }<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span><a name="line.1908"></a>
-<span class="sourceLineNo">1909</span> @VisibleForTesting<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span> MasterServices getMaster() {<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span> return master;<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span> }<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>}<a name="line.1913"></a>
+<span class="sourceLineNo">1367</span> long pid = procExec.submitProcedure(new ServerCrashProcedure(procExec.getEnvironment(),<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span> serverName, shouldSplitWal, carryingMeta));<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span> LOG.debug("Added=" + serverName<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span> + " to dead servers, submitted shutdown handler to be executed meta=" + carryingMeta);<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span> return pid;<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span> }<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span><a name="line.1373"></a>
+<span class="sourceLineNo">1374</span> public void offlineRegion(final RegionInfo regionInfo) {<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span> // TODO used by MasterRpcServices<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span> RegionStateNode node = regionStates.getRegionStateNode(regionInfo);<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span> if (node != null) {<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span> node.offline();<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span> }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span> }<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span><a name="line.1381"></a>
+<span class="sourceLineNo">1382</span> public void onlineRegion(final RegionInfo regionInfo, final ServerName serverName) {<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span> // TODO used by TestSplitTransactionOnCluster.java<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span> }<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span><a name="line.1385"></a>
+<span class="sourceLineNo">1386</span> public Map<ServerName, List<RegionInfo>> getSnapShotOfAssignment(<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span> final Collection<RegionInfo> regions) {<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span> return regionStates.getSnapShotOfAssignment(regions);<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span> }<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span><a name="line.1390"></a>
+<span class="sourceLineNo">1391</span> // ============================================================================================<a name="line.1391"></a>
+<span class="sourceLineNo">1392</span> // TODO: UTILS/HELPERS?<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span> // ============================================================================================<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span> /**<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span> * Used by the client (via master) to identify if all regions have the schema updates<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span> *<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span> * @param tableName<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span> * @return Pair indicating the status of the alter command (pending/total)<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span> * @throws IOException<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span> */<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span> public Pair<Integer, Integer> getReopenStatus(TableName tableName) {<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span> if (isTableDisabled(tableName)) return new Pair<Integer, Integer>(0, 0);<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span><a name="line.1403"></a>
+<span class="sourceLineNo">1404</span> final List<RegionState> states = regionStates.getTableRegionStates(tableName);<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span> int ritCount = 0;<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span> for (RegionState regionState: states) {<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span> if (!regionState.isOpened()) ritCount++;<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span> }<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span> return new Pair<Integer, Integer>(ritCount, states.size());<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span> }<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span><a name="line.1411"></a>
+<span class="sourceLineNo">1412</span> // ============================================================================================<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span> // TODO: Region State In Transition<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span> // ============================================================================================<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span> public boolean hasRegionsInTransition() {<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span> return regionStates.hasRegionsInTransition();<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span> }<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span><a name="line.1418"></a>
+<span class="sourceLineNo">1419</span> public List<RegionStateNode> getRegionsInTransition() {<a name="line.1419"></a>
+<span class="sourceLineNo">1420</span> return regionStates.getRegionsInTransition();<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span> }<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span><a name="line.1422"></a>
+<span class="sourceLineNo">1423</span> public List<RegionInfo> getAssignedRegions() {<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span> return regionStates.getAssignedRegions();<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span> }<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span><a name="line.1426"></a>
+<span class="sourceLineNo">1427</span> public RegionInfo getRegionInfo(final byte[] regionName) {<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span> final RegionStateNode regionState = regionStates.getRegionStateNodeFromName(regionName);<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span> return regionState != null ? regionState.getRegionInfo() : null;<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span> }<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span><a name="line.1431"></a>
+<span class="sourceLineNo">1432</span> // ============================================================================================<a name="line.1432"></a>
+<span class="sourceLineNo">1433</span> // Expected states on region state transition.<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span> // Notice that there is expected states for transiting to OPENING state, this is because SCP.<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span> // See the comments in regionOpening method for more details.<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span> // ============================================================================================<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span> private static final State[] STATES_EXPECTED_ON_OPEN = {<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span> State.OPENING, // Normal case<a name="line.1438"></a>
+<span class="sourceLineNo">1439</span> State.OPEN // Retrying<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span> };<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span><a name="line.1441"></a>
+<span class="sourceLineNo">1442</span> private static final State[] STATES_EXPECTED_ON_CLOSING = {<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span> State.OPEN, // Normal case<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span> State.CLOSING, // Retrying<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span> State.SPLITTING, // Offline the split parent<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span> State.MERGING // Offline the merge parents<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span> };<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span><a name="line.1448"></a>
+<span class="sourceLineNo">1449</span> private static final State[] STATES_EXPECTED_ON_CLOSED = {<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span> State.CLOSING, // Normal case<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span> State.CLOSED // Retrying<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span> };<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span><a name="line.1453"></a>
+<span class="sourceLineNo">1454</span> // This is for manually scheduled region assign, can add other states later if we find out other<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span> // usages<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span> private static final State[] STATES_EXPECTED_ON_ASSIGN = { State.CLOSED, State.OFFLINE };<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span><a name="line.1457"></a>
+<span class="sourceLineNo">1458</span> // We only allow unassign or move a region which is in OPEN state.<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span> private static final State[] STATES_EXPECTED_ON_UNASSIGN_OR_MOVE = { State.OPEN };<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span><a name="line.1460"></a>
+<span class="sourceLineNo">1461</span> // ============================================================================================<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span> // Region Status update<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span> // Should only be called in TransitRegionStateProcedure<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span> // ============================================================================================<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span> private void transitStateAndUpdate(RegionStateNode regionNode, RegionState.State newState,<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span> RegionState.State... expectedStates) throws IOException {<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span> RegionState.State state = regionNode.getState();<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span> regionNode.transitionState(newState, expectedStates);<a name="line.1468"></a>
+<span class="sourceLineNo">1469</span> boolean succ = false;<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span> try {<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span> succ = true;<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span> } finally {<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span> if (!succ) {<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span> // revert<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span> regionNode.setState(state);<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span> }<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span> }<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span> }<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span><a name="line.1480"></a>
+<span class="sourceLineNo">1481</span> // should be called within the synchronized block of RegionStateNode<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span> void regionOpening(RegionStateNode regionNode) throws IOException {<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span> // As in SCP, for performance reason, there is no TRSP attached with this region, we will not<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span> // update the region state, which means that the region could be in any state when we want to<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span> // assign it after a RS crash. So here we do not pass the expectedStates parameter.<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span> transitStateAndUpdate(regionNode, State.OPENING);<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span> regionStates.addRegionToServer(regionNode);<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span> // update the operation count metrics<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span> metrics.incrementOperationCounter();<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span> }<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span><a name="line.1491"></a>
+<span class="sourceLineNo">1492</span> // should be called within the synchronized block of RegionStateNode.<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span> // The parameter 'giveUp' means whether we will try to open the region again, if it is true, then<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span> // we will persist the FAILED_OPEN state into hbase:meta.<a name="line.1494"></a>
+<span class="sourceLineNo">1495</span> void regionFailedOpen(RegionStateNode regionNode, boolean giveUp) throws IOException {<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span> RegionState.State state = regionNode.getState();<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span> ServerName regionLocation = regionNode.getRegionLocation();<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span> if (giveUp) {<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span> regionNode.setState(State.FAILED_OPEN);<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span> regionNode.setRegionLocation(null);<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span> boolean succ = false;<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span> try {<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span> succ = true;<a name="line.1504"></a>
+<span class="sourceLineNo">1505</span> } finally {<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span> if (!succ) {<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span> // revert<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span> regionNode.setState(state);<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span> regionNode.setRegionLocation(regionLocation);<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span> }<a name="line.1510"></a>
+<span class="sourceLineNo">1511</span> }<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span> }<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span> if (regionLocation != null) {<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span> regionStates.removeRegionFromServer(regionLocation, regionNode);<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span> }<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span> }<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span><a name="line.1517"></a>
+<span class="sourceLineNo">1518</span> // should be called within the synchronized block of RegionStateNode<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span> void regionOpened(RegionStateNode regionNode) throws IOException {<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span> // TODO: OPENING Updates hbase:meta too... we need to do both here and there?<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span> // That is a lot of hbase:meta writing.<a name="line.1521"></a>
+<span class="sourceLineNo">1522</span> transitStateAndUpdate(regionNode, State.OPEN, STATES_EXPECTED_ON_OPEN);<a name="line.1522"></a>
+<span class="sourceLineNo">1523</span> RegionInfo hri = regionNode.getRegionInfo();<a name="line.1523"></a>
+<span class="sourceLineNo">1524</span> if (isMetaRegion(hri)) {<a name="line.1524"></a>
+<span class="sourceLineNo">1525</span> // Usually we'd set a table ENABLED at this stage but hbase:meta is ALWAYs enabled, it<a name="line.1525"></a>
+<span class="sourceLineNo">1526</span> // can't be disabled -- so skip the RPC (besides... enabled is managed by TableStateManager<a name="line.1526"></a>
+<span class="sourceLineNo">1527</span> // which is backed by hbase:meta... Avoid setting ENABLED to avoid having to update state<a name="line.1527"></a>
+<span class="sourceLineNo">1528</span> // on table that contains state.<a name="line.1528"></a>
+<span class="sourceLineNo">1529</span> setMetaAssigned(hri, true);<a name="line.1529"></a>
+<span class="sourceLineNo">1530</span> }<a name="line.1530"></a>
+<span class="sourceLineNo">1531</span> regionStates.addRegionToServer(regionNode);<a name="line.1531"></a>
+<span class="sourceLineNo">1532</span> regionStates.removeFromFailedOpen(hri);<a name="line.1532"></a>
+<span class="sourceLineNo">1533</span> }<a name="line.1533"></a>
+<span class="sourceLineNo">1534</span><a name="line.1534"></a>
+<span class="sourceLineNo">1535</span> // should be called within the synchronized block of RegionStateNode<a name="line.1535"></a>
+<span class="sourceLineNo">1536</span> void regionClosing(RegionStateNode regionNode) throws IOException {<a name="line.1536"></a>
+<span class="sourceLineNo">1537</span> transitStateAndUpdate(regionNode, State.CLOSING, STATES_EXPECTED_ON_CLOSING);<a name="line.1537"></a>
+<span class="sourceLineNo">1538</span><a name="line.1538"></a>
+<span class="sourceLineNo">1539</span> RegionInfo hri = regionNode.getRegionInfo();<a name="line.1539"></a>
+<span class="sourceLineNo">1540</span> // Set meta has not initialized early. so people trying to create/edit tables will wait<a name="line.1540"></a>
+<span class="sourceLineNo">1541</span> if (isMetaRegion(hri)) {<a name="line.1541"></a>
+<span class="sourceLineNo">1542</span> setMetaAssigned(hri, false);<a name="line.1542"></a>
+<span class="sourceLineNo">1543</span> }<a name="line.1543"></a>
+<span class="sourceLineNo">1544</span> regionStates.addRegionToServer(regionNode);<a name="line.1544"></a>
+<span class="sourceLineNo">1545</span> // update the operation count metrics<a name="line.1545"></a>
+<span class="sourceLineNo">1546</span> metrics.incrementOperationCounter();<a name="line.1546"></a>
+<span class="sourceLineNo">1547</span> }<a name="line.1547"></a>
+<span class="sourceLineNo">1548</span><a name="line.1548"></a>
+<span class="sourceLineNo">1549</span> // should be called within the synchronized block of RegionStateNode<a name="line.1549"></a>
+<span class="sourceLineNo">1550</span> // The parameter 'normally' means whether we are closed cleanly, if it is true, then it means that<a name="line.1550"></a>
+<span class="sourceLineNo">1551</span> // we are closed due to a RS crash.<a name="line.1551"></a>
+<span class="sourceLineNo">1552</span> void regionClosed(RegionStateNode regionNode, boolean normally) throws IOException {<a name="line.1552"></a>
+<span class="sourceLineNo">1553</span> RegionState.State state = regionNode.getState();<a name="line.1553"></a>
+<span class="sourceLineNo">1554</span> ServerName regionLocation = regionNode.getRegionLocation();<a name="line.1554"></a>
+<span class="sourceLineNo">1555</span> if (normally) {<a name="line.1555"></a>
+<span class="sourceLineNo">1556</span> regionNode.transitionState(State.CLOSED, STATES_EXPECTED_ON_CLOSED);<a name="line.1556"></a>
+<span class="sourceLineNo">1557</span> } else {<a name="line.1557"></a>
+<span class="sourceLineNo">1558</span> // For SCP<a name="line.1558"></a>
+<span class="sourceLineNo">1559</span> regionNode.transitionState(State.ABNORMALLY_CLOSED);<a name="line.1559"></a>
+<span class="sourceLineNo">1560</span> }<a name="line.1560"></a>
+<span class="sourceLineNo">1561</span> regionNode.setRegionLocation(null);<a name="line.1561"></a>
+<span class="sourceLineNo">1562</span> boolean succ = false;<a name="line.1562"></a>
+<span class="sourceLineNo">1563</span> try {<a name="line.1563"></a>
+<span class="sourceLineNo">1564</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1564"></a>
+<span class="sourceLineNo">1565</span> succ = true;<a name="line.1565"></a>
+<span class="sourceLineNo">1566</span> } finally {<a name="line.1566"></a>
+<span class="sourceLineNo">1567</span> if (!succ) {<a name="line.1567"></a>
+<span class="sourceLineNo">1568</span> // revert<a name="line.1568"></a>
+<span class="sourceLineNo">1569</span> regionNode.setState(state);<a name="line.1569"></a>
+<span class="sourceLineNo">1570</span> regionNode.setRegionLocation(regionLocation);<a name="line.1570"></a>
+<span class="sourceLineNo">1571</span> }<a name="line.1571"></a>
+<span class="sourceLineNo">1572</span> }<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span> if (regionLocation != null) {<a name="line.1573"></a>
+<span class="sourceLineNo">1574</span> regionNode.setLastHost(regionLocation);<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span> regionStates.removeRegionFromServer(regionLocation, regionNode);<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span> }<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span> }<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span><a name="line.1578"></a>
+<span class="sourceLineNo">1579</span> public void markRegionAsSplit(final RegionInfo parent, final ServerName serverName,<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span> final RegionInfo daughterA, final RegionInfo daughterB) throws IOException {<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span> // Update hbase:meta. Parent will be marked offline and split up in hbase:meta.<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span> // The parent stays in regionStates until cleared when removed by CatalogJanitor.<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span> // Update its state in regionStates to it shows as offline and split when read<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span> // later figuring what regions are in a table and what are not: see<a name="line.1584"></a>
+<span class="sourceLineNo">1585</span> // regionStates#getRegionsOfTable<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span> final RegionStateNode node = regionStates.getOrCreateRegionStateNode(parent);<a name="line.1586"></a>
+<span class="sourceLineNo">1587</span> node.setState(State.SPLIT);<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span> final RegionStateNode nodeA = regionStates.getOrCreateRegionStateNode(daughterA);<a name="line.1588"></a>
+<span class="sourceLineNo">1589</span> nodeA.setState(State.SPLITTING_NEW);<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span> final RegionStateNode nodeB = regionStates.getOrCreateRegionStateNode(daughterB);<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span> nodeB.setState(State.SPLITTING_NEW);<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span><a name="line.1592"></a>
+<span class="sourceLineNo">1593</span> regionStateStore.splitRegion(parent, daughterA, daughterB, serverName);<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span> if (shouldAssignFavoredNodes(parent)) {<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span> List<ServerName> onlineServers = this.master.getServerManager().getOnlineServersList();<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span> ((FavoredNodesPromoter)getBalancer()).<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span> generateFavoredNodesForDaughter(onlineServers, parent, daughterA, daughterB);<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span> }<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span> }<a name="line.1599"></a>
+<span class="sourceLineNo">1600</span><a name="line.1600"></a>
+<span class="sourceLineNo">1601</span> /**<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span> * When called here, the merge has happened. The two merged regions have been<a name="line.1602"></a>
+<span class="sourceLineNo">1603</span> * unassigned and the above markRegionClosed has been called on each so they have been<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span> * disassociated from a hosting Server. The merged region will be open after this call. The<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span> * merged regions are removed from hbase:meta below> Later they are deleted from the filesystem<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span> * by the catalog janitor running against hbase:meta. It notices when the merged region no<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span> * longer holds references to the old regions.<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span> */<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span> public void markRegionAsMerged(final RegionInfo child, final ServerName serverName,<a name="line.1609"></a>
+<span class="sourceLineNo">1610</span> final RegionInfo mother, final RegionInfo father) throws IOException {<a name="line.1610"></a>
+<span class="sourceLineNo">1611</span> final RegionStateNode node = regionStates.getOrCreateRegionStateNode(child);<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span> node.setState(State.MERGED);<a name="line.1612"></a>
+<span class="sourceLineNo">1613</span> regionStates.deleteRegion(mother);<a name="line.1613"></a>
+<span class="sourceLineNo">1614</span> regionStates.deleteRegion(father);<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span> regionStateStore.mergeRegions(child, mother, father, serverName);<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span> if (shouldAssignFavoredNodes(child)) {<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span> ((FavoredNodesPromoter)getBalancer()).<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span> generateFavoredNodesForMergedRegion(child, mother, father);<a name="line.1618"></a>
+<span class="sourceLineNo">1619</span> }<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span> }<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span><a name="line.1621"></a>
+<span class="sourceLineNo">1622</span> /*<a name="line.1622"></a>
+<span class="sourceLineNo">1623</span> * Favored nodes should be applied only when FavoredNodes balancer is configured and the region<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span> * belongs to a non-system table.<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span> */<a name="line.1625"></a>
+<span class="sourceLineNo">1626</span> private boolean shouldAssignFavoredNodes(RegionInfo region) {<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span> return this.shouldAssignRegionsWithFavoredNodes &&<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span> FavoredNodesManager.isFavoredNodeApplicable(region);<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span> }<a name="line.1629"></a>
+<span class="sourceLineNo">1630</span><a name="line.1630"></a>
+<span class="sourceLineNo">1631</span> // ============================================================================================<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span> // Assign Queue (Assign/Balance)<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span> // ============================================================================================<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span> private final ArrayList<RegionStateNode> pendingAssignQueue = new ArrayList<RegionStateNode>();<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span> private final ReentrantLock assignQueueLock = new ReentrantLock();<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span> private final Condition assignQueueFullCond = assignQueueLock.newCondition();<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span><a name="line.1637"></a>
+<span class="sourceLineNo">1638</span> /**<a name="line.1638"></a>
+<span class="sourceLineNo">1639</span> * Add the assign operation to the assignment queue.<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span> * The pending assignment operation will be processed,<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span> * and each region will be assigned by a server using the balancer.<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span> */<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span> protected void queueAssign(final RegionStateNode regionNode) {<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span> regionNode.getProcedureEvent().suspend();<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span><a name="line.1645"></a>
+<span class="sourceLineNo">1646</span> // TODO: quick-start for meta and the other sys-tables?<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span> assignQueueLock.lock();<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span> try {<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span> pendingAssignQueue.add(regionNode);<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span> if (regionNode.isSystemTable() ||<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span> pendingAssignQueue.size() == 1 ||<a name="line.1651"></a>
+<span class="sourceLineNo">1652</span> pendingAssignQueue.size() >= assignDispatchWaitQueueMaxSize) {<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span> assignQueueFullCond.signal();<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span> }<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span> } finally {<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span> assignQueueLock.unlock();<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span> }<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span> }<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span><a name="line.1659"></a>
+<span class="sourceLineNo">1660</span> private void startAssignmentThread() {<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span> // Get Server Thread name. Sometimes the Server is mocked so may not implement HasThread.<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span> // For example, in tests.<a name="line.1662"></a>
+<span class="sourceLineNo">1663</span> String name = master instanceof Has
<TRUNCATED>
[11/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html
index e64b85b..fccb3b5 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html
@@ -106,6 +106,9 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">org.apache.hadoop.hbase.procedure2.StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,TState></li>
<li>
<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</a><TState></li>
+<li>
+<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></li>
<li>
<ul class="inheritance">
@@ -119,6 +122,8 @@ var activeTableTab = "activeTableTab";
</ul>
</li>
</ul>
+</li>
+</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
@@ -202,7 +207,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
<!-- -->
</a>
<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#peerId">peerId</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#peerId">peerId</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -363,7 +375,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureE
nv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#setTimeoutFailure-org.
apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hado
op/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../or
g/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -391,7 +410,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
<!-- -->
</a>
<h3>Methods inherited from interface org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerOperationType--">getPeerOperationType</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerOperationType--">getPeerOperationType</a></code></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
index 2059b16..3aa6730 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
@@ -106,7 +106,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">org.apache.hadoop.hbase.procedure2.StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,TState></li>
<li>
<ul class="inheritance">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.master.replication.RecoverStandbyProcedure</li>
@@ -130,7 +130,7 @@ var activeTableTab = "activeTableTab";
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html#line.38">RecoverStandbyProcedure</a>
-extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState></pre>
+extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState></pre>
</li>
</ul>
</div>
@@ -188,11 +188,11 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
</tr>
</table>
<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
<!-- -->
</a>
-<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#peerId">peerId</a></code></li>
+<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#peerId">peerId</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -292,11 +292,11 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
</tr>
</table>
<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
<!-- -->
</a>
-<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.
hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code><
/li>
+<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -310,7 +310,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#addStackIndex-int-">addStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#afterReplay-TEnvironment-">afterReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#beforeReplay-TEnvironment-">beforeReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#bypass-TEnvironment-">bypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#compareTo-org.apache.hadoop.hbase.procedure2.Procedure-">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#completionCleanup-TEnvironment-">completionCleanup</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doRollback-TEnvironment-">doRollback</a>, <a
href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime--">elapsedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getException--">getException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getLastUpdate--">getLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getNonceKey--">getNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getOwner--">getOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcedureMetrics-TEnvironment-">getProcedureMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getP
rocId--">getProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcName--">getProcName</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getResult--">getResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcedureId-java.util.Map-org.apache.hadoop.hbase.procedure2.Procedure-">getRootProcedureId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcId--">getRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getStackIndexes--">getStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getSubmittedTime--">getSubmittedTime</a>, <
a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeout--">getTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeoutTimestamp--">getTimeoutTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasChildren--">hasChildren</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasException--">hasException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasLock--">hasLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasOwner--">hasOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasParent--">hasParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasTimeout--">hasTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#haveSameParent-org.apache.hadoop.hbase.procedure2.Pro
cedure-org.apache.hadoop.hbase.procedure2.Procedure-">haveSameParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#incChildrenLatch--">incChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isBypass--">isBypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFailed--">isFailed</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFinished--">isFinished</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isInitializing--">isInitializing</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isLockedWhenLoading--">isLockedWhenLoading</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isRunnable--">isRunnable</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isSuccess--">isSuccess</a>, <a href="../../../../../../org/apache/h
adoop/hbase/procedure2/Procedure.html#isWaiting--">isWaiting</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setAbortFailure-java.lang.String-java.lang.String-">setAbortFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setChildrenLatch-int-">setChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-java.lang.String-java.lang.Throwable-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setLastUpdate-long-">setLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setNonceKey-org.apache.hadoop.hbase.u
til.NonceKey-">setNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-java.lang.String-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setParentProcId-long-">setParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setProcId-long-">setProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setResult-byte:A-">setResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setRootProcId-long-">setRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setStackIndexes-java.util.List-">setStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.
protobuf.generated.ProcedureProtos.ProcedureState-">setState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setSubmittedTime-long-">setSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#skipPersistence--">skipPersistence</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toString--">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClass--">toStringClass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails-java.lang.StringBuilder-">toStringClassDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#t
oStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnFinish-TEnvironment-long-boolean-">updateMetricsOnFinish</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnSubmit-TEnvironment-">updateMetricsOnSubmit</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">wasExecuted</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock-TEnvironment-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#addStackIndex-int-">addStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#afterReplay-TEnvironment-">afterReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#beforeReplay-TEnvironment-">beforeReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#bypass-TEnvironment-">bypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#compareTo-org.apache.hadoop.hbase.procedure2.Procedure-">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#completionCleanup-TEnvironment-">completionCleanup</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>,
<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doRollback-TEnvironment-">doRollback</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime--">elapsedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getException--">getException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getLastUpdate--">getLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getNonceKey--">getNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getOwner--">getOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcedureMetrics-
TEnvironment-">getProcedureMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcId--">getProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcName--">getProcName</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getResult--">getResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcedureId-java.util.Map-org.apache.hadoop.hbase.procedure2.Procedure-">getRootProcedureId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcId--">getRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getStackIndexes--">getStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</a>,
<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getSubmittedTime--">getSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeout--">getTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeoutTimestamp--">getTimeoutTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasChildren--">hasChildren</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasException--">hasException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasLock--">hasLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasOwner--">hasOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasParent--">hasParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasTimeout--">hasTimeout</a>, <a href="
../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#haveSameParent-org.apache.hadoop.hbase.procedure2.Procedure-org.apache.hadoop.hbase.procedure2.Procedure-">haveSameParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#holdLock-TEnvironment-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#incChildrenLatch--">incChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isBypass--">isBypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFailed--">isFailed</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFinished--">isFinished</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isInitializing--">isInitializing</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isLockedWhenLoading--">isLockedWhenLoading</a>, <a href="../../
../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isRunnable--">isRunnable</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isSuccess--">isSuccess</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isWaiting--">isWaiting</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock-TEnvironment-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setAbortFailure-java.lang.String-java.lang.String-">setAbortFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setChildrenLatch-int-">setChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">setFailure</a>, <a href="../../..
/../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-java.lang.String-java.lang.Throwable-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setLastUpdate-long-">setLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setNonceKey-org.apache.hadoop.hbase.util.NonceKey-">setNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-java.lang.String-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setParentProcId-long-">setParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setProcId-long-">setProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setResult-byte:A-">setResult</a>, <a href=
"../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setRootProcId-long-">setRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setStackIndexes-java.util.List-">setStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState-">setState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setSubmittedTime-long-">setSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#skipPersistence--">skipPersistence</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toString--
">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClass--">toStringClass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails-java.lang.StringBuilder-">toStringClassDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnFinish-TEnvironment-long-boolean-">updateMetricsOnFinish</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnSubmit-TEnvironment-">updateMetricsOnSubmit</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedur
e.html#wasExecuted--">wasExecuted</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -505,7 +505,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
be able to resume on failure.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - stores the serializable state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -526,7 +526,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
state.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - contains the serialized state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html
index e8420eb..976c4c7 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html
@@ -106,6 +106,9 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">org.apache.hadoop.hbase.procedure2.StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,TState></li>
<li>
<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</a><TState></li>
+<li>
+<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></li>
<li>
<ul class="inheritance">
@@ -124,6 +127,8 @@ var activeTableTab = "activeTableTab";
</ul>
</li>
</ul>
+</li>
+</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
@@ -205,7 +210,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<!-- -->
</a>
<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#peerId">peerId</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#peerId">peerId</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -306,7 +318,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.
hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code><
/li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hado
op/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -329,6 +348,13 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface">
+<!-- -->
+</a>
+<h3>Methods inherited from interface org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerId--">getPeerId</a></code></li>
+</ul>
</li>
</ul>
</li>
@@ -496,7 +522,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
be able to resume on failure.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - stores the serializable state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -517,7 +543,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
state.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - contains the serialized state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
index efd48b9..859adb8 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
@@ -106,7 +106,7 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">org.apache.hadoop.hbase.procedure2.StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,TState></li>
<li>
<ul class="inheritance">
-<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.master.replication.SyncReplicationReplayWALProcedure</li>
@@ -130,7 +130,7 @@ var activeTableTab = "activeTableTab";
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#line.38">SyncReplicationReplayWALProcedure</a>
-extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState></pre>
+extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState></pre>
</li>
</ul>
</div>
@@ -192,11 +192,11 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
</tr>
</table>
<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
<!-- -->
</a>
-<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#peerId">peerId</a></code></li>
+<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#peerId">peerId</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -299,11 +299,11 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
</tr>
</table>
<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
<!-- -->
</a>
-<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.
hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code></li>
+<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -317,7 +317,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#addStackIndex-int-">addStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#afterReplay-TEnvironment-">afterReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#beforeReplay-TEnvironment-">beforeReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#bypass-TEnvironment-">bypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#compareTo-org.apache.hadoop.hbase.procedure2.Procedure-">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#completionCleanup-TEnvironment-">completionCleanup</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doRollback-TEnvironment-">doRollback</a>, <a
href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime--">elapsedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getException--">getException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getLastUpdate--">getLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getNonceKey--">getNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getOwner--">getOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcedureMetrics-TEnvironment-">getProcedureMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getP
rocId--">getProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcName--">getProcName</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getResult--">getResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcedureId-java.util.Map-org.apache.hadoop.hbase.procedure2.Procedure-">getRootProcedureId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcId--">getRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getStackIndexes--">getStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getSubmittedTime--">getSubmittedTime</a>, <
a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeout--">getTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeoutTimestamp--">getTimeoutTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasChildren--">hasChildren</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasException--">hasException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasLock--">hasLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasOwner--">hasOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasParent--">hasParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasTimeout--">hasTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#haveSameParent-org.apache.hadoop.hbase.procedure2.Pro
cedure-org.apache.hadoop.hbase.procedure2.Procedure-">haveSameParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#incChildrenLatch--">incChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isBypass--">isBypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFailed--">isFailed</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFinished--">isFinished</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isInitializing--">isInitializing</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isLockedWhenLoading--">isLockedWhenLoading</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isRunnable--">isRunnable</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isSuccess--">isSuccess</a>, <a href="../../../../../../org/apache/h
adoop/hbase/procedure2/Procedure.html#isWaiting--">isWaiting</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setAbortFailure-java.lang.String-java.lang.String-">setAbortFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setChildrenLatch-int-">setChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-java.lang.String-java.lang.Throwable-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setLastUpdate-long-">setLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setNonceKey-org.apache.hadoop.hbase.u
til.NonceKey-">setNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-java.lang.String-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setParentProcId-long-">setParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setProcId-long-">setProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setResult-byte:A-">setResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setRootProcId-long-">setRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setStackIndexes-java.util.List-">setStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.
protobuf.generated.ProcedureProtos.ProcedureState-">setState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setSubmittedTime-long-">setSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#skipPersistence--">skipPersistence</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toString--">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClass--">toStringClass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails-java.lang.StringBuilder-">toStringClassDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#t
oStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnFinish-TEnvironment-long-boolean-">updateMetricsOnFinish</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnSubmit-TEnvironment-">updateMetricsOnSubmit</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">wasExecuted</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock-TEnvironment-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#addStackIndex-int-">addStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#afterReplay-TEnvironment-">afterReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#beforeReplay-TEnvironment-">beforeReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#bypass-TEnvironment-">bypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#compareTo-org.apache.hadoop.hbase.procedure2.Procedure-">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#completionCleanup-TEnvironment-">completionCleanup</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>,
<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doRollback-TEnvironment-">doRollback</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime--">elapsedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getException--">getException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getLastUpdate--">getLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getNonceKey--">getNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getOwner--">getOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcedureMetrics-
TEnvironment-">getProcedureMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcId--">getProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcName--">getProcName</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getResult--">getResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcedureId-java.util.Map-org.apache.hadoop.hbase.procedure2.Procedure-">getRootProcedureId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcId--">getRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getStackIndexes--">getStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</a>,
<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getSubmittedTime--">getSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeout--">getTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeoutTimestamp--">getTimeoutTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasChildren--">hasChildren</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasException--">hasException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasLock--">hasLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasOwner--">hasOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasParent--">hasParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasTimeout--">hasTimeout</a>, <a href="
../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#haveSameParent-org.apache.hadoop.hbase.procedure2.Procedure-org.apache.hadoop.hbase.procedure2.Procedure-">haveSameParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#holdLock-TEnvironment-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#incChildrenLatch--">incChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isBypass--">isBypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFailed--">isFailed</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFinished--">isFinished</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isInitializing--">isInitializing</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isLockedWhenLoading--">isLockedWhenLoading</a>, <a href="../../
../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isRunnable--">isRunnable</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isSuccess--">isSuccess</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isWaiting--">isWaiting</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock-TEnvironment-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setAbortFailure-java.lang.String-java.lang.String-">setAbortFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setChildrenLatch-int-">setChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">setFailure</a>, <a href="../../..
/../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-java.lang.String-java.lang.Throwable-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setLastUpdate-long-">setLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setNonceKey-org.apache.hadoop.hbase.util.NonceKey-">setNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-java.lang.String-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setParentProcId-long-">setParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setProcId-long-">setProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setResult-byte:A-">setResult</a>, <a href=
"../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setRootProcId-long-">setRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setStackIndexes-java.util.List-">setStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState-">setState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setSubmittedTime-long-">setSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#skipPersistence--">skipPersistence</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toString--
">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClass--">toStringClass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails-java.lang.StringBuilder-">toStringClassDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnFinish-TEnvironment-long-boolean-">updateMetricsOnFinish</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnSubmit-TEnvironment-">updateMetricsOnSubmit</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedur
e.html#wasExecuted--">wasExecuted</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -439,7 +439,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
<div class="block">called to perform the rollback of the specified state</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState></code></dd>
<dd><code>state</code> - state to rollback</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - temporary failure, the rollback will retry later</dd>
@@ -516,7 +516,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
be able to resume on failure.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - stores the serializable state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -537,7 +537,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Ab
state.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - contains the serialized state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
[03/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/PeerQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/PeerQueue.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/PeerQueue.html
index 77eb79e..cf46fb3 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/PeerQueue.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/PeerQueue.html
@@ -43,11 +43,14 @@
<span class="sourceLineNo">035</span> }<a name="line.35"></a>
<span class="sourceLineNo">036</span><a name="line.36"></a>
<span class="sourceLineNo">037</span> private static boolean requirePeerExclusiveLock(PeerProcedureInterface proc) {<a name="line.37"></a>
-<span class="sourceLineNo">038</span> return proc.getPeerOperationType() != PeerOperationType.REFRESH<a name="line.38"></a>
-<span class="sourceLineNo">039</span> && proc.getPeerOperationType() != PeerOperationType.SYNC_REPLICATION_REPLAY_WAL<a name="line.39"></a>
-<span class="sourceLineNo">040</span> && proc.getPeerOperationType() != PeerOperationType.SYNC_REPLICATION_REPLAY_WAL_REMOTE;<a name="line.40"></a>
-<span class="sourceLineNo">041</span> }<a name="line.41"></a>
-<span class="sourceLineNo">042</span>}<a name="line.42"></a>
+<span class="sourceLineNo">038</span> // These procedures will only be used as sub procedures, and if they are scheduled, it always<a name="line.38"></a>
+<span class="sourceLineNo">039</span> // means that the root procedure holds the xlock, so we do not need to hold any locks.<a name="line.39"></a>
+<span class="sourceLineNo">040</span> return proc.getPeerOperationType() != PeerOperationType.REFRESH &&<a name="line.40"></a>
+<span class="sourceLineNo">041</span> proc.getPeerOperationType() != PeerOperationType.RECOVER_STANDBY &&<a name="line.41"></a>
+<span class="sourceLineNo">042</span> proc.getPeerOperationType() != PeerOperationType.SYNC_REPLICATION_REPLAY_WAL &&<a name="line.42"></a>
+<span class="sourceLineNo">043</span> proc.getPeerOperationType() != PeerOperationType.SYNC_REPLICATION_REPLAY_WAL_REMOTE;<a name="line.43"></a>
+<span class="sourceLineNo">044</span> }<a name="line.44"></a>
+<span class="sourceLineNo">045</span>}<a name="line.45"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html
new file mode 100644
index 0000000..eac3e9d
--- /dev/null
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html
@@ -0,0 +1,170 @@
+<!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.replication;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerProcedureStateData;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos;<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> * Base class for replication peer related procedures which do not need to hold locks(for most of<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * the sub procedures).<a name="line.33"></a>
+<span class="sourceLineNo">034</span> */<a name="line.34"></a>
+<span class="sourceLineNo">035</span>@InterfaceAudience.Private<a name="line.35"></a>
+<span class="sourceLineNo">036</span>public abstract class AbstractPeerNoLockProcedure<TState><a name="line.36"></a>
+<span class="sourceLineNo">037</span> extends StateMachineProcedure<MasterProcedureEnv, TState> implements PeerProcedureInterface {<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span> protected String peerId;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span> protected int attempts;<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span> protected AbstractPeerNoLockProcedure() {<a name="line.43"></a>
+<span class="sourceLineNo">044</span> }<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span> protected AbstractPeerNoLockProcedure(String peerId) {<a name="line.46"></a>
+<span class="sourceLineNo">047</span> this.peerId = peerId;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> }<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span> @Override<a name="line.50"></a>
+<span class="sourceLineNo">051</span> public String getPeerId() {<a name="line.51"></a>
+<span class="sourceLineNo">052</span> return peerId;<a name="line.52"></a>
+<span class="sourceLineNo">053</span> }<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span> @Override<a name="line.55"></a>
+<span class="sourceLineNo">056</span> protected boolean waitInitialized(MasterProcedureEnv env) {<a name="line.56"></a>
+<span class="sourceLineNo">057</span> return env.waitInitialized(this);<a name="line.57"></a>
+<span class="sourceLineNo">058</span> }<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span> @Override<a name="line.60"></a>
+<span class="sourceLineNo">061</span> protected void rollbackState(MasterProcedureEnv env, TState state)<a name="line.61"></a>
+<span class="sourceLineNo">062</span> throws IOException, InterruptedException {<a name="line.62"></a>
+<span class="sourceLineNo">063</span> if (state == getInitialState()) {<a name="line.63"></a>
+<span class="sourceLineNo">064</span> // actually the peer related operations has no rollback, but if we haven't done any<a name="line.64"></a>
+<span class="sourceLineNo">065</span> // modifications on the peer storage yet, we can just return.<a name="line.65"></a>
+<span class="sourceLineNo">066</span> return;<a name="line.66"></a>
+<span class="sourceLineNo">067</span> }<a name="line.67"></a>
+<span class="sourceLineNo">068</span> throw new UnsupportedOperationException();<a name="line.68"></a>
+<span class="sourceLineNo">069</span> }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span> @Override<a name="line.71"></a>
+<span class="sourceLineNo">072</span> protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.72"></a>
+<span class="sourceLineNo">073</span> super.serializeStateData(serializer);<a name="line.73"></a>
+<span class="sourceLineNo">074</span> serializer.serialize(PeerProcedureStateData.newBuilder().setPeerId(peerId).build());<a name="line.74"></a>
+<span class="sourceLineNo">075</span> }<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span> @Override<a name="line.77"></a>
+<span class="sourceLineNo">078</span> protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.78"></a>
+<span class="sourceLineNo">079</span> super.deserializeStateData(serializer);<a name="line.79"></a>
+<span class="sourceLineNo">080</span> peerId = serializer.deserialize(PeerProcedureStateData.class).getPeerId();<a name="line.80"></a>
+<span class="sourceLineNo">081</span> }<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span> @Override<a name="line.83"></a>
+<span class="sourceLineNo">084</span> protected synchronized boolean setTimeoutFailure(MasterProcedureEnv env) {<a name="line.84"></a>
+<span class="sourceLineNo">085</span> setState(ProcedureProtos.ProcedureState.RUNNABLE);<a name="line.85"></a>
+<span class="sourceLineNo">086</span> env.getProcedureScheduler().addFront(this);<a name="line.86"></a>
+<span class="sourceLineNo">087</span> return false;<a name="line.87"></a>
+<span class="sourceLineNo">088</span> }<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span> protected final ProcedureSuspendedException suspend(long backoff)<a name="line.90"></a>
+<span class="sourceLineNo">091</span> throws ProcedureSuspendedException {<a name="line.91"></a>
+<span class="sourceLineNo">092</span> attempts++;<a name="line.92"></a>
+<span class="sourceLineNo">093</span> setTimeout(Math.toIntExact(backoff));<a name="line.93"></a>
+<span class="sourceLineNo">094</span> setState(ProcedureProtos.ProcedureState.WAITING_TIMEOUT);<a name="line.94"></a>
+<span class="sourceLineNo">095</span> skipPersistence();<a name="line.95"></a>
+<span class="sourceLineNo">096</span> throw new ProcedureSuspendedException();<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>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html
index 77ad873..b1a431d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html
@@ -25,126 +25,65 @@
<span class="sourceLineNo">017</span> */<a name="line.17"></a>
<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.master.replication;<a name="line.18"></a>
<span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
-<span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerProcedureStateData;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>/**<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * The base class for all replication peer related procedure.<a name="line.37"></a>
-<span class="sourceLineNo">038</span> */<a name="line.38"></a>
-<span class="sourceLineNo">039</span>@InterfaceAudience.Private<a name="line.39"></a>
-<span class="sourceLineNo">040</span>public abstract class AbstractPeerProcedure<TState><a name="line.40"></a>
-<span class="sourceLineNo">041</span> extends StateMachineProcedure<MasterProcedureEnv, TState> implements PeerProcedureInterface {<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span> protected String peerId;<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span> // used to keep compatible with old client where we can only returns after updateStorage.<a name="line.45"></a>
-<span class="sourceLineNo">046</span> protected ProcedurePrepareLatch latch;<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span> protected int attempts;<a name="line.48"></a>
+<span class="sourceLineNo">020</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>/**<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * The base class for all replication peer related procedure.<a name="line.29"></a>
+<span class="sourceLineNo">030</span> */<a name="line.30"></a>
+<span class="sourceLineNo">031</span>@InterfaceAudience.Private<a name="line.31"></a>
+<span class="sourceLineNo">032</span>public abstract class AbstractPeerProcedure<TState><a name="line.32"></a>
+<span class="sourceLineNo">033</span> extends AbstractPeerNoLockProcedure<TState> implements PeerProcedureInterface {<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span> // used to keep compatible with old client where we can only returns after updateStorage.<a name="line.35"></a>
+<span class="sourceLineNo">036</span> protected ProcedurePrepareLatch latch;<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span> protected AbstractPeerProcedure() {<a name="line.38"></a>
+<span class="sourceLineNo">039</span> }<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span> protected AbstractPeerProcedure(String peerId) {<a name="line.41"></a>
+<span class="sourceLineNo">042</span> super(peerId);<a name="line.42"></a>
+<span class="sourceLineNo">043</span> this.latch = ProcedurePrepareLatch.createLatch(2, 1);<a name="line.43"></a>
+<span class="sourceLineNo">044</span> }<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span> public ProcedurePrepareLatch getLatch() {<a name="line.46"></a>
+<span class="sourceLineNo">047</span> return latch;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> }<a name="line.48"></a>
<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span> protected AbstractPeerProcedure() {<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> protected AbstractPeerProcedure(String peerId) {<a name="line.53"></a>
-<span class="sourceLineNo">054</span> this.peerId = peerId;<a name="line.54"></a>
-<span class="sourceLineNo">055</span> this.latch = ProcedurePrepareLatch.createLatch(2, 1);<a name="line.55"></a>
+<span class="sourceLineNo">050</span> @Override<a name="line.50"></a>
+<span class="sourceLineNo">051</span> protected LockState acquireLock(MasterProcedureEnv env) {<a name="line.51"></a>
+<span class="sourceLineNo">052</span> if (env.getProcedureScheduler().waitPeerExclusiveLock(this, peerId)) {<a name="line.52"></a>
+<span class="sourceLineNo">053</span> return LockState.LOCK_EVENT_WAIT;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> }<a name="line.54"></a>
+<span class="sourceLineNo">055</span> return LockState.LOCK_ACQUIRED;<a name="line.55"></a>
<span class="sourceLineNo">056</span> }<a name="line.56"></a>
<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span> public ProcedurePrepareLatch getLatch() {<a name="line.58"></a>
-<span class="sourceLineNo">059</span> return latch;<a name="line.59"></a>
-<span class="sourceLineNo">060</span> }<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span> @Override<a name="line.62"></a>
-<span class="sourceLineNo">063</span> public String getPeerId() {<a name="line.63"></a>
-<span class="sourceLineNo">064</span> return peerId;<a name="line.64"></a>
-<span class="sourceLineNo">065</span> }<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span> @Override<a name="line.67"></a>
-<span class="sourceLineNo">068</span> protected boolean waitInitialized(MasterProcedureEnv env) {<a name="line.68"></a>
-<span class="sourceLineNo">069</span> return env.waitInitialized(this);<a name="line.69"></a>
-<span class="sourceLineNo">070</span> }<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span> @Override<a name="line.72"></a>
-<span class="sourceLineNo">073</span> protected LockState acquireLock(MasterProcedureEnv env) {<a name="line.73"></a>
-<span class="sourceLineNo">074</span> if (env.getProcedureScheduler().waitPeerExclusiveLock(this, peerId)) {<a name="line.74"></a>
-<span class="sourceLineNo">075</span> return LockState.LOCK_EVENT_WAIT;<a name="line.75"></a>
-<span class="sourceLineNo">076</span> }<a name="line.76"></a>
-<span class="sourceLineNo">077</span> return LockState.LOCK_ACQUIRED;<a name="line.77"></a>
-<span class="sourceLineNo">078</span> }<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span> @Override<a name="line.80"></a>
-<span class="sourceLineNo">081</span> protected void releaseLock(MasterProcedureEnv env) {<a name="line.81"></a>
-<span class="sourceLineNo">082</span> env.getProcedureScheduler().wakePeerExclusiveLock(this, peerId);<a name="line.82"></a>
-<span class="sourceLineNo">083</span> }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span> @Override<a name="line.85"></a>
-<span class="sourceLineNo">086</span> protected boolean holdLock(MasterProcedureEnv env) {<a name="line.86"></a>
-<span class="sourceLineNo">087</span> return true;<a name="line.87"></a>
-<span class="sourceLineNo">088</span> }<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span> @Override<a name="line.90"></a>
-<span class="sourceLineNo">091</span> protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.91"></a>
-<span class="sourceLineNo">092</span> super.serializeStateData(serializer);<a name="line.92"></a>
-<span class="sourceLineNo">093</span> serializer.serialize(PeerProcedureStateData.newBuilder().setPeerId(peerId).build());<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> @Override<a name="line.96"></a>
-<span class="sourceLineNo">097</span> protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException {<a name="line.97"></a>
-<span class="sourceLineNo">098</span> super.deserializeStateData(serializer);<a name="line.98"></a>
-<span class="sourceLineNo">099</span> peerId = serializer.deserialize(PeerProcedureStateData.class).getPeerId();<a name="line.99"></a>
-<span class="sourceLineNo">100</span> }<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span> @Override<a name="line.102"></a>
-<span class="sourceLineNo">103</span> protected void rollbackState(MasterProcedureEnv env, TState state)<a name="line.103"></a>
-<span class="sourceLineNo">104</span> throws IOException, InterruptedException {<a name="line.104"></a>
-<span class="sourceLineNo">105</span> if (state == getInitialState()) {<a name="line.105"></a>
-<span class="sourceLineNo">106</span> // actually the peer related operations has no rollback, but if we haven't done any<a name="line.106"></a>
-<span class="sourceLineNo">107</span> // modifications on the peer storage yet, we can just return.<a name="line.107"></a>
-<span class="sourceLineNo">108</span> return;<a name="line.108"></a>
-<span class="sourceLineNo">109</span> }<a name="line.109"></a>
-<span class="sourceLineNo">110</span> throw new UnsupportedOperationException();<a name="line.110"></a>
-<span class="sourceLineNo">111</span> }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span> protected final void refreshPeer(MasterProcedureEnv env, PeerOperationType type) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span> addChildProcedure(env.getMasterServices().getServerManager().getOnlineServersList().stream()<a name="line.114"></a>
-<span class="sourceLineNo">115</span> .map(sn -> new RefreshPeerProcedure(peerId, type, sn)).toArray(RefreshPeerProcedure[]::new));<a name="line.115"></a>
-<span class="sourceLineNo">116</span> }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span> @Override<a name="line.118"></a>
-<span class="sourceLineNo">119</span> protected synchronized boolean setTimeoutFailure(MasterProcedureEnv env) {<a name="line.119"></a>
-<span class="sourceLineNo">120</span> setState(ProcedureProtos.ProcedureState.RUNNABLE);<a name="line.120"></a>
-<span class="sourceLineNo">121</span> env.getProcedureScheduler().addFront(this);<a name="line.121"></a>
-<span class="sourceLineNo">122</span> return false;<a name="line.122"></a>
-<span class="sourceLineNo">123</span> }<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span> protected final ProcedureSuspendedException suspend(long backoff)<a name="line.125"></a>
-<span class="sourceLineNo">126</span> throws ProcedureSuspendedException {<a name="line.126"></a>
-<span class="sourceLineNo">127</span> attempts++;<a name="line.127"></a>
-<span class="sourceLineNo">128</span> setTimeout(Math.toIntExact(backoff));<a name="line.128"></a>
-<span class="sourceLineNo">129</span> setState(ProcedureProtos.ProcedureState.WAITING_TIMEOUT);<a name="line.129"></a>
-<span class="sourceLineNo">130</span> skipPersistence();<a name="line.130"></a>
-<span class="sourceLineNo">131</span> throw new ProcedureSuspendedException();<a name="line.131"></a>
-<span class="sourceLineNo">132</span> }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span> // will be override in test to simulate error<a name="line.134"></a>
-<span class="sourceLineNo">135</span> @VisibleForTesting<a name="line.135"></a>
-<span class="sourceLineNo">136</span> protected void enablePeer(MasterProcedureEnv env) throws ReplicationException {<a name="line.136"></a>
-<span class="sourceLineNo">137</span> env.getReplicationPeerManager().enablePeer(peerId);<a name="line.137"></a>
-<span class="sourceLineNo">138</span> }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>}<a name="line.139"></a>
+<span class="sourceLineNo">058</span> @Override<a name="line.58"></a>
+<span class="sourceLineNo">059</span> protected void releaseLock(MasterProcedureEnv env) {<a name="line.59"></a>
+<span class="sourceLineNo">060</span> env.getProcedureScheduler().wakePeerExclusiveLock(this, peerId);<a name="line.60"></a>
+<span class="sourceLineNo">061</span> }<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span> @Override<a name="line.63"></a>
+<span class="sourceLineNo">064</span> protected boolean holdLock(MasterProcedureEnv env) {<a name="line.64"></a>
+<span class="sourceLineNo">065</span> return true;<a name="line.65"></a>
+<span class="sourceLineNo">066</span> }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span> protected final void refreshPeer(MasterProcedureEnv env, PeerOperationType type) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span> addChildProcedure(env.getMasterServices().getServerManager().getOnlineServersList().stream()<a name="line.69"></a>
+<span class="sourceLineNo">070</span> .map(sn -> new RefreshPeerProcedure(peerId, type, sn)).toArray(RefreshPeerProcedure[]::new));<a name="line.70"></a>
+<span class="sourceLineNo">071</span> }<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span> // will be override in test to simulate error<a name="line.73"></a>
+<span class="sourceLineNo">074</span> @VisibleForTesting<a name="line.74"></a>
+<span class="sourceLineNo">075</span> protected void enablePeer(MasterProcedureEnv env) throws ReplicationException {<a name="line.75"></a>
+<span class="sourceLineNo">076</span> env.getReplicationPeerManager().enablePeer(peerId);<a name="line.76"></a>
+<span class="sourceLineNo">077</span> }<a name="line.77"></a>
+<span class="sourceLineNo">078</span>}<a name="line.78"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
index e65d9ab..f2c756e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html
@@ -43,7 +43,7 @@
<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RecoverStandbyStateData;<a name="line.35"></a>
<span class="sourceLineNo">036</span><a name="line.36"></a>
<span class="sourceLineNo">037</span>@InterfaceAudience.Private<a name="line.37"></a>
-<span class="sourceLineNo">038</span>public class RecoverStandbyProcedure extends AbstractPeerProcedure<RecoverStandbyState> {<a name="line.38"></a>
+<span class="sourceLineNo">038</span>public class RecoverStandbyProcedure extends AbstractPeerNoLockProcedure<RecoverStandbyState> {<a name="line.38"></a>
<span class="sourceLineNo">039</span><a name="line.39"></a>
<span class="sourceLineNo">040</span> private static final Logger LOG = LoggerFactory.getLogger(RecoverStandbyProcedure.class);<a name="line.40"></a>
<span class="sourceLineNo">041</span><a name="line.41"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
index a3f1210..d98263b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html
@@ -44,7 +44,7 @@
<span class="sourceLineNo">036</span><a name="line.36"></a>
<span class="sourceLineNo">037</span>@InterfaceAudience.Private<a name="line.37"></a>
<span class="sourceLineNo">038</span>public class SyncReplicationReplayWALProcedure<a name="line.38"></a>
-<span class="sourceLineNo">039</span> extends AbstractPeerProcedure<SyncReplicationReplayWALState> {<a name="line.39"></a>
+<span class="sourceLineNo">039</span> extends AbstractPeerNoLockProcedure<SyncReplicationReplayWALState> {<a name="line.39"></a>
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span> private static final Logger LOG =<a name="line.41"></a>
<span class="sourceLineNo">042</span> LoggerFactory.getLogger(SyncReplicationReplayWALProcedure.class);<a name="line.42"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/downloads.html
----------------------------------------------------------------------
diff --git a/downloads.html b/downloads.html
index 5aaeba8..2df13e3 100644
--- a/downloads.html
+++ b/downloads.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Apache HBase Downloads</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -461,7 +461,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index f952f1d..0433817 100644
--- a/export_control.html
+++ b/export_control.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Export Control
@@ -341,7 +341,7 @@ for more details.</p>
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 85192d6..1e272ec 100644
--- a/index.html
+++ b/index.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Apache HBaseâ„¢ Home</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -421,7 +421,7 @@ Apache HBase is an open-source, distributed, versioned, non-relational database
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index 3479bf8..62905d1 100644
--- a/integration.html
+++ b/integration.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – CI Management</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -301,7 +301,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index fd76f65..5674af0 100644
--- a/issue-tracking.html
+++ b/issue-tracking.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Issue Management</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -298,7 +298,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index afe8dbb..e8cc0db 100644
--- a/license.html
+++ b/license.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Licenses</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -501,7 +501,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index 20b589b..6c284e4 100644
--- a/mail-lists.html
+++ b/mail-lists.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Mailing Lists</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -351,7 +351,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index 2d68844..ef95c8c 100644
--- a/metrics.html
+++ b/metrics.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Apache HBase (TM) Metrics
@@ -469,7 +469,7 @@ export HBASE_REGIONSERVER_OPTS="$HBASE_JMX_OPTS -Dcom.sun.management.jmxrem
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index e221b11..98d2efa 100644
--- a/old_news.html
+++ b/old_news.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Old Apache HBase (TM) News
@@ -450,7 +450,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index 7aa7788..ce9f79e 100644
--- a/plugin-management.html
+++ b/plugin-management.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Plugin Management</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -450,7 +450,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index 2317d23..8738721 100644
--- a/plugins.html
+++ b/plugins.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Plugins</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -385,7 +385,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index 6737754..40e18b5 100644
--- a/poweredbyhbase.html
+++ b/poweredbyhbase.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Powered By Apache HBase™</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -779,7 +779,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index 3806f5f..5305121 100644
--- a/project-info.html
+++ b/project-info.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Information</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -345,7 +345,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index df2a88d..599be0c 100644
--- a/project-reports.html
+++ b/project-reports.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Generated Reports</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -315,7 +315,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index 1782b1c..362c53a 100644
--- a/project-summary.html
+++ b/project-summary.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Summary</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -341,7 +341,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index 06e176b..86b82a7 100644
--- a/pseudo-distributed.html
+++ b/pseudo-distributed.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Running Apache HBase (TM) in pseudo-distributed mode
@@ -318,7 +318,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index 9f0acc4..7e496d9 100644
--- a/replication.html
+++ b/replication.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Apache HBase (TM) Replication
@@ -313,7 +313,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index b718c71..f8d9440 100644
--- a/resources.html
+++ b/resources.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Other Apache HBase (TM) Resources</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -341,7 +341,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/source-repository.html
----------------------------------------------------------------------
diff --git a/source-repository.html b/source-repository.html
index d7eba26..da99915 100644
--- a/source-repository.html
+++ b/source-repository.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Source Code Management</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -309,7 +309,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/sponsors.html
----------------------------------------------------------------------
diff --git a/sponsors.html b/sponsors.html
index 95ec813..2850d79 100644
--- a/sponsors.html
+++ b/sponsors.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Apache HBase™ Sponsors</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -343,7 +343,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/supportingprojects.html
----------------------------------------------------------------------
diff --git a/supportingprojects.html b/supportingprojects.html
index 50fb122..f4dc3d6 100644
--- a/supportingprojects.html
+++ b/supportingprojects.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Supporting Projects</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -530,7 +530,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index 9c209ea..2fb139a 100644
--- a/team-list.html
+++ b/team-list.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Team</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -770,7 +770,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index d22ba8c..b692294 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -62544,6 +62544,8 @@
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/master/procedure/TestSchedulerQueueDeadLock.TestEnv.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">TestSchedulerQueueDeadLock.TestEnv</span></a> - Class in <a href="org/apache/hadoop/hbase/master/procedure/package-summary.html">org.apache.hadoop.hbase.master.procedure</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestHbck.html#testScheduleSCP--">testScheduleSCP()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestHbck.html" title="class in org.apache.hadoop.hbase.client">TestHbck</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/rest/TestSchemaResource.html" title="class in org.apache.hadoop.hbase.rest"><span class="typeNameLink">TestSchemaResource</span></a> - Class in <a href="org/apache/hadoop/hbase/rest/package-summary.html">org.apache.hadoop.hbase.rest</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/TestSchemaResource.html#TestSchemaResource-java.lang.Boolean-">TestSchemaResource(Boolean)</a></span> - Constructor for class org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/TestSchemaResource.html" title="class in org.apache.hadoop.hbase.rest">TestSchemaResource</a></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/testdevapidocs/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html
index dac19be..17c707f 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.86">TestHbck.SuspendProcedure</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.90">TestHbck.SuspendProcedure</a>
extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.NoopProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureTestingUtility.NoopProcedure</a><org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv>
implements org.apache.hadoop.hbase.master.procedure.TableProcedureInterface</pre>
</li>
@@ -256,7 +256,7 @@ implements org.apache.hadoop.hbase.master.procedure.TableProcedureInterface</pre
<ul class="blockListLast">
<li class="blockList">
<h4>SuspendProcedure</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html#line.88">SuspendProcedure</a>()</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html#line.92">SuspendProcedure</a>()</pre>
</li>
</ul>
</li>
@@ -273,7 +273,7 @@ implements org.apache.hadoop.hbase.master.procedure.TableProcedureInterface</pre
<ul class="blockList">
<li class="blockList">
<h4>execute</h4>
-<pre>protected org.apache.hadoop.hbase.procedure2.Procedure[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html#line.93">execute</a>(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv env)
+<pre>protected org.apache.hadoop.hbase.procedure2.Procedure[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html#line.97">execute</a>(org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv env)
throws org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -289,7 +289,7 @@ implements org.apache.hadoop.hbase.master.procedure.TableProcedureInterface</pre
<ul class="blockList">
<li class="blockList">
<h4>getTableName</h4>
-<pre>public org.apache.hadoop.hbase.TableName <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html#line.100">getTableName</a>()</pre>
+<pre>public org.apache.hadoop.hbase.TableName <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html#line.104">getTableName</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getTableName</code> in interface <code>org.apache.hadoop.hbase.master.procedure.TableProcedureInterface</code></dd>
@@ -302,7 +302,7 @@ implements org.apache.hadoop.hbase.master.procedure.TableProcedureInterface</pre
<ul class="blockListLast">
<li class="blockList">
<h4>getTableOperationType</h4>
-<pre>public org.apache.hadoop.hbase.master.procedure.TableProcedureInterface.TableOperationType <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html#line.105">getTableOperationType</a>()</pre>
+<pre>public org.apache.hadoop.hbase.master.procedure.TableProcedureInterface.TableOperationType <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html#line.109">getTableOperationType</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getTableOperationType</code> in interface <code>org.apache.hadoop.hbase.master.procedure.TableProcedureInterface</code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/testdevapidocs/org/apache/hadoop/hbase/client/TestHbck.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestHbck.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestHbck.html
index 5b053c7..6235de3 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestHbck.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestHbck.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":9,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10};
+var methods = {"i0":9,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
<li class="blockList">
<hr>
<br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.59">TestHbck</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.63">TestHbck</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Class to test HBaseHbck.
Spins up the minicluster once at test start and then takes it down afterward.
@@ -225,9 +225,13 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestHbck.html#testSetTableStateInMeta--">testSetTableStateInMeta</a></span>()</code> </td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestHbck.html#testScheduleSCP--">testScheduleSCP</a></span>()</code> </td>
</tr>
<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestHbck.html#testSetTableStateInMeta--">testSetTableStateInMeta</a></span>()</code> </td>
+</tr>
+<tr id="i6" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestHbck.html#waitOnPids-java.util.List-">waitOnPids</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> pids)</code> </td>
</tr>
@@ -259,7 +263,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>CLASS_RULE</h4>
-<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.61">CLASS_RULE</a></pre>
+<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.65">CLASS_RULE</a></pre>
</li>
</ul>
<a name="LOG">
@@ -268,7 +272,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
-<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.64">LOG</a></pre>
+<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.68">LOG</a></pre>
</li>
</ul>
<a name="TEST_UTIL">
@@ -277,7 +281,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>TEST_UTIL</h4>
-<pre>private static final <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.65">TEST_UTIL</a></pre>
+<pre>private static final <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.69">TEST_UTIL</a></pre>
</li>
</ul>
<a name="name">
@@ -286,7 +290,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>name</h4>
-<pre>public org.junit.rules.TestName <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.68">name</a></pre>
+<pre>public org.junit.rules.TestName <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.72">name</a></pre>
</li>
</ul>
<a name="TABLE_NAME">
@@ -295,7 +299,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>TABLE_NAME</h4>
-<pre>private static final org.apache.hadoop.hbase.TableName <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.70">TABLE_NAME</a></pre>
+<pre>private static final org.apache.hadoop.hbase.TableName <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.74">TABLE_NAME</a></pre>
</li>
</ul>
<a name="procExec">
@@ -304,7 +308,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>procExec</h4>
-<pre>private static org.apache.hadoop.hbase.procedure2.ProcedureExecutor<org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.72">procExec</a></pre>
+<pre>private static org.apache.hadoop.hbase.procedure2.ProcedureExecutor<org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.76">procExec</a></pre>
</li>
</ul>
</li>
@@ -321,7 +325,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockListLast">
<li class="blockList">
<h4>TestHbck</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.59">TestHbck</a>()</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.63">TestHbck</a>()</pre>
</li>
</ul>
</li>
@@ -338,7 +342,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>setUpBeforeClass</h4>
-<pre>public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.75">setUpBeforeClass</a>()
+<pre>public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.79">setUpBeforeClass</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -352,7 +356,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>tearDownAfterClass</h4>
-<pre>public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.82">tearDownAfterClass</a>()
+<pre>public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.86">tearDownAfterClass</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -366,7 +370,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>testBypassProcedure</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.111">testBypassProcedure</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.115">testBypassProcedure</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -380,7 +384,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>testSetTableStateInMeta</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.127">testSetTableStateInMeta</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.131">testSetTableStateInMeta</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -394,7 +398,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
<ul class="blockList">
<li class="blockList">
<h4>testAssigns</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.140">testAssigns</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.144">testAssigns</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -402,13 +406,27 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
</dl>
</li>
</ul>
+<a name="testScheduleSCP--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testScheduleSCP</h4>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.181">testScheduleSCP</a>()
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
<a name="waitOnPids-java.util.List-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>waitOnPids</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.176">waitOnPids</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> pids)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestHbck.html#line.197">waitOnPids</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> pids)</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html
index fe5f9d5..3335da4 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestModifyPeerProcedureRetryBackoff.TestModifyPeerProcedure.html
@@ -106,6 +106,9 @@ var activeTableTab = "activeTableTab";
<li>org.apache.hadoop.hbase.procedure2.StateMachineProcedure<org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,TState></li>
<li>
<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure<TState></li>
+<li>
+<ul class="inheritance">
<li>org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></li>
<li>
<ul class="inheritance">
@@ -124,6 +127,8 @@ var activeTableTab = "activeTableTab";
</ul>
</li>
</ul>
+</li>
+</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
@@ -192,7 +197,14 @@ extends org.apache.hadoop.hbase.master.replication.ModifyPeerProcedure</pre>
<!-- -->
</a>
<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure</h3>
-<code>attempts, latch, peerId</code></li>
+<code>latch</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</h3>
+<code>attempts, peerId</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -299,7 +311,14 @@ extends org.apache.hadoop.hbase.master.replication.ModifyPeerProcedure</pre>
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure</h3>
-<code>acquireLock, deserializeStateData, getLatch, getPeerId, holdLock, refreshPeer, releaseLock, rollbackState, serializeStateData, setTimeoutFailure, suspend, waitInitialized</code></li>
+<code>acquireLock, getLatch, holdLock, refreshPeer, releaseLock</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</h3>
+<code>deserializeStateData, getPeerId, rollbackState, serializeStateData, setTimeoutFailure, suspend, waitInitialized</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -322,6 +341,13 @@ extends org.apache.hadoop.hbase.master.replication.ModifyPeerProcedure</pre>
<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface">
+<!-- -->
+</a>
+<h3>Methods inherited from interface org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface</h3>
+<code>getPeerId</code></li>
+</ul>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html
index f82f546..12c3ffe 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/replication/TestTransitPeerSyncReplicationStateProcedureBackoff.TestTransitPeerSyncReplicationStateProcedure.html
@@ -106,6 +106,9 @@ var activeTableTab = "activeTableTab";
<li>org.apache.hadoop.hbase.procedure2.StateMachineProcedure<org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv,TState></li>
<li>
<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure<TState></li>
+<li>
+<ul class="inheritance">
<li>org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerSyncReplicationStateTransitionState></li>
<li>
<ul class="inheritance">
@@ -124,6 +127,8 @@ var activeTableTab = "activeTableTab";
</ul>
</li>
</ul>
+</li>
+</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
@@ -192,7 +197,14 @@ extends org.apache.hadoop.hbase.master.replication.TransitPeerSyncReplicationSta
<!-- -->
</a>
<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure</h3>
-<code>attempts, latch, peerId</code></li>
+<code>latch</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</h3>
+<code>attempts, peerId</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -288,7 +300,14 @@ extends org.apache.hadoop.hbase.master.replication.TransitPeerSyncReplicationSta
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure</h3>
-<code>acquireLock, enablePeer, getLatch, getPeerId, holdLock, refreshPeer, releaseLock, rollbackState, setTimeoutFailure, suspend, waitInitialized</code></li>
+<code>acquireLock, enablePeer, getLatch, holdLock, refreshPeer, releaseLock</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</h3>
+<code>getPeerId, rollbackState, setTimeoutFailure, suspend, waitInitialized</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -311,6 +330,13 @@ extends org.apache.hadoop.hbase.master.replication.TransitPeerSyncReplicationSta
<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface">
+<!-- -->
+</a>
+<h3>Methods inherited from interface org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface</h3>
+<code>getPeerId</code></li>
+</ul>
</li>
</ul>
</li>
[09/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index 1de9f1b..79f4077 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -229,13 +229,13 @@
<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.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaScope</span></a></li>
<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/RpcThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">RpcThrottlingException.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaScope</span></a></li>
<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index 93ae722..bc94426 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -717,19 +717,19 @@
<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/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">HRegion.FlushResult.Result</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TimeRangeTracker.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactionStrategy.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TimeRangeTracker.Type</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ChunkCreator.ChunkType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactionStrategy.Action</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScanType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ChunkCreator.ChunkType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
index f0c55c8..feee307 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
@@ -248,8 +248,8 @@
<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.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.Type.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">RingBufferTruck.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.DictionaryIndex.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">CompressionContext.DictionaryIndex</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.DictionaryIndex.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">CompressionContext.DictionaryIndex</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html b/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
index c20ff47..034077c 100644
--- a/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
@@ -110,8 +110,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><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.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.FilterType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.FilterType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.FilterType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.FilterType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
index 8051208..f594c43 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -142,9 +142,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.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessControlFilter.Strategy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
index 13f949c..dfa02b5 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -191,9 +191,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.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslUtil.QualityOfProtection</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslStatus</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslUtil.QualityOfProtection</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
index 81a90a9..2923faf 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -199,8 +199,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><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.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftServerRunner.ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftServerRunner.ImplType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftMetrics.ThriftServerType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftMetrics.ThriftServerType</span></a></li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/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 97baacf..611aa2f 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -540,14 +540,14 @@
<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.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/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/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/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/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/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/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/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/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/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/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/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index ef6ce1e..d3beb48 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -2716,6 +2716,8 @@
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/SequentialProcedure.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">SequentialProcedure</span></a><TEnvironment></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">StateMachineProcedure</span></a><TEnvironment,TState>
<ul>
+<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">AbstractPeerNoLockProcedure</span></a><TState> (implements org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a>)
+<ul>
<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">AbstractPeerProcedure</span></a><TState> (implements org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a>)
<ul>
<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">ModifyPeerProcedure</span></a>
@@ -2727,9 +2729,11 @@
<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/UpdatePeerConfigProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">UpdatePeerConfigProcedure</span></a></li>
</ul>
</li>
+<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TransitPeerSyncReplicationStateProcedure</span></a></li>
+</ul>
+</li>
<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">RecoverStandbyProcedure</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">SyncReplicationReplayWALProcedure</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">TransitPeerSyncReplicationStateProcedure</span></a></li>
</ul>
</li>
<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/AbstractStateMachineNamespaceProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">AbstractStateMachineNamespaceProcedure</span></a><TState> (implements org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a>)
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/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 be92dc1..3a98f8a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -18,9 +18,9 @@
<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 = "";<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 = "Mon Oct 29 14:45:45 UTC 2018";<a name="line.13"></a>
+<span class="sourceLineNo">013</span> public static final String date = "Tue Oct 30 14:45:37 UTC 2018";<a name="line.13"></a>
<span class="sourceLineNo">014</span> public static final String url = "git://jenkins-websites1.apache.org/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span> public static final String srcChecksum = "882a162a713e1dbec1cf454c214efe7d";<a name="line.15"></a>
+<span class="sourceLineNo">015</span> public static final String srcChecksum = "342536f8882440a77775ed3eaa89894b";<a name="line.15"></a>
<span class="sourceLineNo">016</span>}<a name="line.16"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseHbck.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseHbck.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseHbck.html
index 43cd311..5584aee 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseHbck.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseHbck.html
@@ -34,135 +34,153 @@
<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.ipc.RpcControllerFactory;<a name="line.26"></a>
<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.27"></a>
<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateResponse;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.HbckService.BlockingInterface;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.ServiceException;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.slf4j.Logger;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.slf4j.LoggerFactory;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateResponse;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.HbckService.BlockingInterface;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.protobuf.ServiceException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span><a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.slf4j.Logger;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.slf4j.LoggerFactory;<a name="line.39"></a>
<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>/**<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * Use {@link ClusterConnection#getHbck()} to obtain an instance of {@link Hbck} instead of<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * constructing an HBaseHbck directly.<a name="line.43"></a>
-<span class="sourceLineNo">044</span> *<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * <p>Connection should be an <i>unmanaged</i> connection obtained via<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * {@link ConnectionFactory#createConnection(Configuration)}.</p><a name="line.46"></a>
-<span class="sourceLineNo">047</span> *<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * <p>NOTE: The methods in here can do damage to a cluster if applied in the wrong sequence or at<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * the wrong time. Use with caution. For experts only. These methods are only for the<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * extreme case where the cluster has been damaged or has achieved an inconsistent state because<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * of some unforeseen circumstance or bug and requires manual intervention.<a name="line.51"></a>
-<span class="sourceLineNo">052</span> *<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * <p>An instance of this class is lightweight and not-thread safe. A new instance should be created<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * by each thread. Pooling or caching of the instance is not recommended.</p><a name="line.54"></a>
-<span class="sourceLineNo">055</span> *<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * @see ConnectionFactory<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * @see ClusterConnection<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * @see Hbck<a name="line.58"></a>
-<span class="sourceLineNo">059</span> */<a name="line.59"></a>
-<span class="sourceLineNo">060</span>@InterfaceAudience.Private<a name="line.60"></a>
-<span class="sourceLineNo">061</span>public class HBaseHbck implements Hbck {<a name="line.61"></a>
-<span class="sourceLineNo">062</span> private static final Logger LOG = LoggerFactory.getLogger(HBaseHbck.class);<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span> private boolean aborted;<a name="line.64"></a>
-<span class="sourceLineNo">065</span> private final BlockingInterface hbck;<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span> private RpcControllerFactory rpcControllerFactory;<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span> HBaseHbck(ClusterConnection connection, BlockingInterface hbck) throws IOException {<a name="line.69"></a>
-<span class="sourceLineNo">070</span> this.hbck = hbck;<a name="line.70"></a>
-<span class="sourceLineNo">071</span> this.rpcControllerFactory = connection.getRpcControllerFactory();<a name="line.71"></a>
-<span class="sourceLineNo">072</span> }<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span> @Override<a name="line.74"></a>
-<span class="sourceLineNo">075</span> public void close() throws IOException {<a name="line.75"></a>
-<span class="sourceLineNo">076</span> // currently does nothing<a name="line.76"></a>
-<span class="sourceLineNo">077</span> }<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span> @Override<a name="line.79"></a>
-<span class="sourceLineNo">080</span> public void abort(String why, Throwable e) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span> this.aborted = true;<a name="line.81"></a>
-<span class="sourceLineNo">082</span> // Currently does nothing but throw the passed message and exception<a name="line.82"></a>
-<span class="sourceLineNo">083</span> throw new RuntimeException(why, e);<a name="line.83"></a>
-<span class="sourceLineNo">084</span> }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span> @Override<a name="line.86"></a>
-<span class="sourceLineNo">087</span> public boolean isAborted() {<a name="line.87"></a>
-<span class="sourceLineNo">088</span> return this.aborted;<a name="line.88"></a>
-<span class="sourceLineNo">089</span> }<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span> @Override<a name="line.91"></a>
-<span class="sourceLineNo">092</span> public TableState setTableStateInMeta(TableState state) throws IOException {<a name="line.92"></a>
-<span class="sourceLineNo">093</span> try {<a name="line.93"></a>
-<span class="sourceLineNo">094</span> GetTableStateResponse response = hbck.setTableStateInMeta(<a name="line.94"></a>
-<span class="sourceLineNo">095</span> rpcControllerFactory.newController(),<a name="line.95"></a>
-<span class="sourceLineNo">096</span> RequestConverter.buildSetTableStateInMetaRequest(state));<a name="line.96"></a>
-<span class="sourceLineNo">097</span> return TableState.convert(state.getTableName(), response.getTableState());<a name="line.97"></a>
-<span class="sourceLineNo">098</span> } catch (ServiceException se) {<a name="line.98"></a>
-<span class="sourceLineNo">099</span> LOG.debug("table={}, state={}", state.getTableName(), state.getState(), se);<a name="line.99"></a>
-<span class="sourceLineNo">100</span> throw new IOException(se);<a name="line.100"></a>
-<span class="sourceLineNo">101</span> }<a name="line.101"></a>
-<span class="sourceLineNo">102</span> }<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span> @Override<a name="line.104"></a>
-<span class="sourceLineNo">105</span> public List<Long> assigns(List<String> encodedRegionNames, boolean override)<a name="line.105"></a>
-<span class="sourceLineNo">106</span> throws IOException {<a name="line.106"></a>
-<span class="sourceLineNo">107</span> try {<a name="line.107"></a>
-<span class="sourceLineNo">108</span> MasterProtos.AssignsResponse response =<a name="line.108"></a>
-<span class="sourceLineNo">109</span> this.hbck.assigns(rpcControllerFactory.newController(),<a name="line.109"></a>
-<span class="sourceLineNo">110</span> RequestConverter.toAssignRegionsRequest(encodedRegionNames, override));<a name="line.110"></a>
-<span class="sourceLineNo">111</span> return response.getPidList();<a name="line.111"></a>
-<span class="sourceLineNo">112</span> } catch (ServiceException se) {<a name="line.112"></a>
-<span class="sourceLineNo">113</span> LOG.debug(toCommaDelimitedString(encodedRegionNames), se);<a name="line.113"></a>
-<span class="sourceLineNo">114</span> throw new IOException(se);<a name="line.114"></a>
-<span class="sourceLineNo">115</span> }<a name="line.115"></a>
-<span class="sourceLineNo">116</span> }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span> @Override<a name="line.118"></a>
-<span class="sourceLineNo">119</span> public List<Long> unassigns(List<String> encodedRegionNames, boolean override)<a name="line.119"></a>
-<span class="sourceLineNo">120</span> throws IOException {<a name="line.120"></a>
-<span class="sourceLineNo">121</span> try {<a name="line.121"></a>
-<span class="sourceLineNo">122</span> MasterProtos.UnassignsResponse response =<a name="line.122"></a>
-<span class="sourceLineNo">123</span> this.hbck.unassigns(rpcControllerFactory.newController(),<a name="line.123"></a>
-<span class="sourceLineNo">124</span> RequestConverter.toUnassignRegionsRequest(encodedRegionNames, override));<a name="line.124"></a>
-<span class="sourceLineNo">125</span> return response.getPidList();<a name="line.125"></a>
-<span class="sourceLineNo">126</span> } catch (ServiceException se) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span> LOG.debug(toCommaDelimitedString(encodedRegionNames), se);<a name="line.127"></a>
-<span class="sourceLineNo">128</span> throw new IOException(se);<a name="line.128"></a>
-<span class="sourceLineNo">129</span> }<a name="line.129"></a>
-<span class="sourceLineNo">130</span> }<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span> private static String toCommaDelimitedString(List<String> list) {<a name="line.132"></a>
-<span class="sourceLineNo">133</span> return list.stream().collect(Collectors.joining(", "));<a name="line.133"></a>
-<span class="sourceLineNo">134</span> }<a name="line.134"></a>
-<span class="sourceLineNo">135</span><a name="line.135"></a>
-<span class="sourceLineNo">136</span> @Override<a name="line.136"></a>
-<span class="sourceLineNo">137</span> public List<Boolean> bypassProcedure(List<Long> pids, long waitTime, boolean override,<a name="line.137"></a>
-<span class="sourceLineNo">138</span> boolean recursive)<a name="line.138"></a>
-<span class="sourceLineNo">139</span> throws IOException {<a name="line.139"></a>
-<span class="sourceLineNo">140</span> MasterProtos.BypassProcedureResponse response = ProtobufUtil.call(<a name="line.140"></a>
-<span class="sourceLineNo">141</span> new Callable<MasterProtos.BypassProcedureResponse>() {<a name="line.141"></a>
-<span class="sourceLineNo">142</span> @Override<a name="line.142"></a>
-<span class="sourceLineNo">143</span> public MasterProtos.BypassProcedureResponse call() throws Exception {<a name="line.143"></a>
-<span class="sourceLineNo">144</span> try {<a name="line.144"></a>
-<span class="sourceLineNo">145</span> return hbck.bypassProcedure(rpcControllerFactory.newController(),<a name="line.145"></a>
-<span class="sourceLineNo">146</span> MasterProtos.BypassProcedureRequest.newBuilder().addAllProcId(pids).<a name="line.146"></a>
-<span class="sourceLineNo">147</span> setWaitTime(waitTime).setOverride(override).setRecursive(recursive).build());<a name="line.147"></a>
-<span class="sourceLineNo">148</span> } catch (Throwable t) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span> LOG.error(pids.stream().map(i -> i.toString()).<a name="line.149"></a>
-<span class="sourceLineNo">150</span> collect(Collectors.joining(", ")), t);<a name="line.150"></a>
-<span class="sourceLineNo">151</span> throw t;<a name="line.151"></a>
-<span class="sourceLineNo">152</span> }<a name="line.152"></a>
-<span class="sourceLineNo">153</span> }<a name="line.153"></a>
-<span class="sourceLineNo">154</span> });<a name="line.154"></a>
-<span class="sourceLineNo">155</span> return response.getBypassedList();<a name="line.155"></a>
-<span class="sourceLineNo">156</span> }<a name="line.156"></a>
-<span class="sourceLineNo">157</span>}<a name="line.157"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>/**<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * Use {@link ClusterConnection#getHbck()} to obtain an instance of {@link Hbck} instead of<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * constructing an HBaseHbck directly.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> *<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * <p>Connection should be an <i>unmanaged</i> connection obtained via<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * {@link ConnectionFactory#createConnection(Configuration)}.</p><a name="line.47"></a>
+<span class="sourceLineNo">048</span> *<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * <p>NOTE: The methods in here can do damage to a cluster if applied in the wrong sequence or at<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * the wrong time. Use with caution. For experts only. These methods are only for the<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * extreme case where the cluster has been damaged or has achieved an inconsistent state because<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * of some unforeseen circumstance or bug and requires manual intervention.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> *<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * <p>An instance of this class is lightweight and not-thread safe. A new instance should be created<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * by each thread. Pooling or caching of the instance is not recommended.</p><a name="line.55"></a>
+<span class="sourceLineNo">056</span> *<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * @see ConnectionFactory<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * @see ClusterConnection<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * @see Hbck<a name="line.59"></a>
+<span class="sourceLineNo">060</span> */<a name="line.60"></a>
+<span class="sourceLineNo">061</span>@InterfaceAudience.Private<a name="line.61"></a>
+<span class="sourceLineNo">062</span>public class HBaseHbck implements Hbck {<a name="line.62"></a>
+<span class="sourceLineNo">063</span> private static final Logger LOG = LoggerFactory.getLogger(HBaseHbck.class);<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span> private boolean aborted;<a name="line.65"></a>
+<span class="sourceLineNo">066</span> private final BlockingInterface hbck;<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span> private RpcControllerFactory rpcControllerFactory;<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span> HBaseHbck(ClusterConnection connection, BlockingInterface hbck) throws IOException {<a name="line.70"></a>
+<span class="sourceLineNo">071</span> this.hbck = hbck;<a name="line.71"></a>
+<span class="sourceLineNo">072</span> this.rpcControllerFactory = connection.getRpcControllerFactory();<a name="line.72"></a>
+<span class="sourceLineNo">073</span> }<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span> @Override<a name="line.75"></a>
+<span class="sourceLineNo">076</span> public void close() throws IOException {<a name="line.76"></a>
+<span class="sourceLineNo">077</span> // currently does nothing<a name="line.77"></a>
+<span class="sourceLineNo">078</span> }<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span> @Override<a name="line.80"></a>
+<span class="sourceLineNo">081</span> public void abort(String why, Throwable e) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span> this.aborted = true;<a name="line.82"></a>
+<span class="sourceLineNo">083</span> // Currently does nothing but throw the passed message and exception<a name="line.83"></a>
+<span class="sourceLineNo">084</span> throw new RuntimeException(why, e);<a name="line.84"></a>
+<span class="sourceLineNo">085</span> }<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span> @Override<a name="line.87"></a>
+<span class="sourceLineNo">088</span> public boolean isAborted() {<a name="line.88"></a>
+<span class="sourceLineNo">089</span> return this.aborted;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> }<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span> @Override<a name="line.92"></a>
+<span class="sourceLineNo">093</span> public TableState setTableStateInMeta(TableState state) throws IOException {<a name="line.93"></a>
+<span class="sourceLineNo">094</span> try {<a name="line.94"></a>
+<span class="sourceLineNo">095</span> GetTableStateResponse response = hbck.setTableStateInMeta(<a name="line.95"></a>
+<span class="sourceLineNo">096</span> rpcControllerFactory.newController(),<a name="line.96"></a>
+<span class="sourceLineNo">097</span> RequestConverter.buildSetTableStateInMetaRequest(state));<a name="line.97"></a>
+<span class="sourceLineNo">098</span> return TableState.convert(state.getTableName(), response.getTableState());<a name="line.98"></a>
+<span class="sourceLineNo">099</span> } catch (ServiceException se) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span> LOG.debug("table={}, state={}", state.getTableName(), state.getState(), se);<a name="line.100"></a>
+<span class="sourceLineNo">101</span> throw new IOException(se);<a name="line.101"></a>
+<span class="sourceLineNo">102</span> }<a name="line.102"></a>
+<span class="sourceLineNo">103</span> }<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span> @Override<a name="line.105"></a>
+<span class="sourceLineNo">106</span> public List<Long> assigns(List<String> encodedRegionNames, boolean override)<a name="line.106"></a>
+<span class="sourceLineNo">107</span> throws IOException {<a name="line.107"></a>
+<span class="sourceLineNo">108</span> try {<a name="line.108"></a>
+<span class="sourceLineNo">109</span> MasterProtos.AssignsResponse response =<a name="line.109"></a>
+<span class="sourceLineNo">110</span> this.hbck.assigns(rpcControllerFactory.newController(),<a name="line.110"></a>
+<span class="sourceLineNo">111</span> RequestConverter.toAssignRegionsRequest(encodedRegionNames, override));<a name="line.111"></a>
+<span class="sourceLineNo">112</span> return response.getPidList();<a name="line.112"></a>
+<span class="sourceLineNo">113</span> } catch (ServiceException se) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span> LOG.debug(toCommaDelimitedString(encodedRegionNames), se);<a name="line.114"></a>
+<span class="sourceLineNo">115</span> throw new IOException(se);<a name="line.115"></a>
+<span class="sourceLineNo">116</span> }<a name="line.116"></a>
+<span class="sourceLineNo">117</span> }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span> @Override<a name="line.119"></a>
+<span class="sourceLineNo">120</span> public List<Long> unassigns(List<String> encodedRegionNames, boolean override)<a name="line.120"></a>
+<span class="sourceLineNo">121</span> throws IOException {<a name="line.121"></a>
+<span class="sourceLineNo">122</span> try {<a name="line.122"></a>
+<span class="sourceLineNo">123</span> MasterProtos.UnassignsResponse response =<a name="line.123"></a>
+<span class="sourceLineNo">124</span> this.hbck.unassigns(rpcControllerFactory.newController(),<a name="line.124"></a>
+<span class="sourceLineNo">125</span> RequestConverter.toUnassignRegionsRequest(encodedRegionNames, override));<a name="line.125"></a>
+<span class="sourceLineNo">126</span> return response.getPidList();<a name="line.126"></a>
+<span class="sourceLineNo">127</span> } catch (ServiceException se) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span> LOG.debug(toCommaDelimitedString(encodedRegionNames), se);<a name="line.128"></a>
+<span class="sourceLineNo">129</span> throw new IOException(se);<a name="line.129"></a>
+<span class="sourceLineNo">130</span> }<a name="line.130"></a>
+<span class="sourceLineNo">131</span> }<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span> private static String toCommaDelimitedString(List<String> list) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span> return list.stream().collect(Collectors.joining(", "));<a name="line.134"></a>
+<span class="sourceLineNo">135</span> }<a name="line.135"></a>
+<span class="sourceLineNo">136</span><a name="line.136"></a>
+<span class="sourceLineNo">137</span> @Override<a name="line.137"></a>
+<span class="sourceLineNo">138</span> public List<Boolean> bypassProcedure(List<Long> pids, long waitTime, boolean override,<a name="line.138"></a>
+<span class="sourceLineNo">139</span> boolean recursive)<a name="line.139"></a>
+<span class="sourceLineNo">140</span> throws IOException {<a name="line.140"></a>
+<span class="sourceLineNo">141</span> MasterProtos.BypassProcedureResponse response = ProtobufUtil.call(<a name="line.141"></a>
+<span class="sourceLineNo">142</span> new Callable<MasterProtos.BypassProcedureResponse>() {<a name="line.142"></a>
+<span class="sourceLineNo">143</span> @Override<a name="line.143"></a>
+<span class="sourceLineNo">144</span> public MasterProtos.BypassProcedureResponse call() throws Exception {<a name="line.144"></a>
+<span class="sourceLineNo">145</span> try {<a name="line.145"></a>
+<span class="sourceLineNo">146</span> return hbck.bypassProcedure(rpcControllerFactory.newController(),<a name="line.146"></a>
+<span class="sourceLineNo">147</span> MasterProtos.BypassProcedureRequest.newBuilder().addAllProcId(pids).<a name="line.147"></a>
+<span class="sourceLineNo">148</span> setWaitTime(waitTime).setOverride(override).setRecursive(recursive).build());<a name="line.148"></a>
+<span class="sourceLineNo">149</span> } catch (Throwable t) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span> LOG.error(pids.stream().map(i -> i.toString()).<a name="line.150"></a>
+<span class="sourceLineNo">151</span> collect(Collectors.joining(", ")), t);<a name="line.151"></a>
+<span class="sourceLineNo">152</span> throw t;<a name="line.152"></a>
+<span class="sourceLineNo">153</span> }<a name="line.153"></a>
+<span class="sourceLineNo">154</span> }<a name="line.154"></a>
+<span class="sourceLineNo">155</span> });<a name="line.155"></a>
+<span class="sourceLineNo">156</span> return response.getBypassedList();<a name="line.156"></a>
+<span class="sourceLineNo">157</span> }<a name="line.157"></a>
+<span class="sourceLineNo">158</span><a name="line.158"></a>
+<span class="sourceLineNo">159</span> @Override<a name="line.159"></a>
+<span class="sourceLineNo">160</span> public List<Long> scheduleServerCrashProcedure(List<HBaseProtos.ServerName> serverNames)<a name="line.160"></a>
+<span class="sourceLineNo">161</span> throws IOException {<a name="line.161"></a>
+<span class="sourceLineNo">162</span> try {<a name="line.162"></a>
+<span class="sourceLineNo">163</span> MasterProtos.ScheduleServerCrashProcedureResponse response =<a name="line.163"></a>
+<span class="sourceLineNo">164</span> this.hbck.scheduleServerCrashProcedure(rpcControllerFactory.newController(),<a name="line.164"></a>
+<span class="sourceLineNo">165</span> RequestConverter.toScheduleServerCrashProcedureRequest(serverNames));<a name="line.165"></a>
+<span class="sourceLineNo">166</span> return response.getPidList();<a name="line.166"></a>
+<span class="sourceLineNo">167</span> } catch (ServiceException se) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span> LOG.debug(toCommaDelimitedString(<a name="line.168"></a>
+<span class="sourceLineNo">169</span> serverNames.stream().map(serverName -> ProtobufUtil.toServerName(serverName).toString())<a name="line.169"></a>
+<span class="sourceLineNo">170</span> .collect(Collectors.toList())),<a name="line.170"></a>
+<span class="sourceLineNo">171</span> se);<a name="line.171"></a>
+<span class="sourceLineNo">172</span> throw new IOException(se);<a name="line.172"></a>
+<span class="sourceLineNo">173</span> }<a name="line.173"></a>
+<span class="sourceLineNo">174</span> }<a name="line.174"></a>
+<span class="sourceLineNo">175</span>}<a name="line.175"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/src-html/org/apache/hadoop/hbase/client/Hbck.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/Hbck.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/Hbck.html
index 7d04132..00e2bce 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/Hbck.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/Hbck.html
@@ -33,83 +33,88 @@
<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.25"></a>
<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>/**<a name="line.28"></a>
-<span class="sourceLineNo">029</span> * Hbck fixup tool APIs. Obtain an instance from {@link ClusterConnection#getHbck()} and call<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * {@link #close()} when done.<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * <p>WARNING: the below methods can damage the cluster. It may leave the cluster in an<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * indeterminate state, e.g. region not assigned, or some hdfs files left behind. After running<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * any of the below, operators may have to do some clean up on hdfs or schedule some assign<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * procedures to get regions back online. DO AT YOUR OWN RISK. For experienced users only.<a name="line.34"></a>
-<span class="sourceLineNo">035</span> *<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * @see ConnectionFactory<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * @see ClusterConnection<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * @since 2.0.2, 2.1.1<a name="line.38"></a>
-<span class="sourceLineNo">039</span> */<a name="line.39"></a>
-<span class="sourceLineNo">040</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.HBCK)<a name="line.40"></a>
-<span class="sourceLineNo">041</span>public interface Hbck extends Abortable, Closeable {<a name="line.41"></a>
-<span class="sourceLineNo">042</span> /**<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * Update table state in Meta only. No procedures are submitted to open/assign or<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * close/unassign regions of the table.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * @param state table state<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * @return previous state of the table in Meta<a name="line.46"></a>
-<span class="sourceLineNo">047</span> */<a name="line.47"></a>
-<span class="sourceLineNo">048</span> TableState setTableStateInMeta(TableState state) throws IOException;<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span> /**<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * Like {@link Admin#assign(byte[])} but 'raw' in that it can do more than one Region at a time<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * -- good if many Regions to online -- and it will schedule the assigns even in the case where<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * Master is initializing (as long as the ProcedureExecutor is up). Does NOT call Coprocessor<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * hooks.<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * @param override You need to add the override for case where a region has previously been<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * bypassed. When a Procedure has been bypassed, a Procedure will have completed<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * but no other Procedure will be able to make progress on the target entity<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * (intentionally). This override flag will override this fencing mechanism.<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * @param encodedRegionNames Region encoded names; e.g. 1588230740 is the hard-coded encoding<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * for hbase:meta region and de00010733901a05f5a2a3a382e27dd4 is an<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * example of what a random user-space encoded Region name looks like.<a name="line.61"></a>
-<span class="sourceLineNo">062</span> */<a name="line.62"></a>
-<span class="sourceLineNo">063</span> List<Long> assigns(List<String> encodedRegionNames, boolean override) throws IOException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span> default List<Long> assigns(List<String> encodedRegionNames) throws IOException {<a name="line.65"></a>
-<span class="sourceLineNo">066</span> return assigns(encodedRegionNames, false);<a name="line.66"></a>
-<span class="sourceLineNo">067</span> }<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span> /**<a name="line.69"></a>
-<span class="sourceLineNo">070</span> * Like {@link Admin#unassign(byte[], boolean)} but 'raw' in that it can do more than one Region<a name="line.70"></a>
-<span class="sourceLineNo">071</span> * at a time -- good if many Regions to offline -- and it will schedule the assigns even in the<a name="line.71"></a>
-<span class="sourceLineNo">072</span> * case where Master is initializing (as long as the ProcedureExecutor is up). Does NOT call<a name="line.72"></a>
-<span class="sourceLineNo">073</span> * Coprocessor hooks.<a name="line.73"></a>
-<span class="sourceLineNo">074</span> * @param override You need to add the override for case where a region has previously been<a name="line.74"></a>
-<span class="sourceLineNo">075</span> * bypassed. When a Procedure has been bypassed, a Procedure will have completed<a name="line.75"></a>
-<span class="sourceLineNo">076</span> * but no other Procedure will be able to make progress on the target entity<a name="line.76"></a>
-<span class="sourceLineNo">077</span> * (intentionally). This override flag will override this fencing mechanism.<a name="line.77"></a>
-<span class="sourceLineNo">078</span> * @param encodedRegionNames Region encoded names; e.g. 1588230740 is the hard-coded encoding<a name="line.78"></a>
-<span class="sourceLineNo">079</span> * for hbase:meta region and de00010733901a05f5a2a3a382e27dd4 is an<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * example of what a random user-space encoded Region name looks like.<a name="line.80"></a>
-<span class="sourceLineNo">081</span> */<a name="line.81"></a>
-<span class="sourceLineNo">082</span> List<Long> unassigns(List<String> encodedRegionNames, boolean override) throws IOException;<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span> default List<Long> unassigns(List<String> encodedRegionNames) throws IOException {<a name="line.84"></a>
-<span class="sourceLineNo">085</span> return unassigns(encodedRegionNames, false);<a name="line.85"></a>
-<span class="sourceLineNo">086</span> }<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span> /**<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * Bypass specified procedure and move it to completion. Procedure is marked completed but<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * no actual work is done from the current state/step onwards. Parents of the procedure are<a name="line.90"></a>
-<span class="sourceLineNo">091</span> * also marked for bypass.<a name="line.91"></a>
-<span class="sourceLineNo">092</span> *<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * @param pids of procedures to complete.<a name="line.93"></a>
-<span class="sourceLineNo">094</span> * @param waitTime wait time in ms for acquiring lock for a procedure<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * @param override if override set to true, we will bypass the procedure even if it is executing.<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * This is for procedures which can't break out during execution (bugs?).<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * @param recursive If set, if a parent procedure, we will find and bypass children and then<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * the parent procedure (Dangerous but useful in case where child procedure has been 'lost').<a name="line.98"></a>
-<span class="sourceLineNo">099</span> * Does not always work. Experimental.<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * @return true if procedure is marked for bypass successfully, false otherwise<a name="line.100"></a>
-<span class="sourceLineNo">101</span> */<a name="line.101"></a>
-<span class="sourceLineNo">102</span> List<Boolean> bypassProcedure(List<Long> pids, long waitTime, boolean override, boolean recursive)<a name="line.102"></a>
-<span class="sourceLineNo">103</span> throws IOException;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>}<a name="line.104"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.28"></a>
+<span class="sourceLineNo">029</span><a name="line.29"></a>
+<span class="sourceLineNo">030</span>/**<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * Hbck fixup tool APIs. Obtain an instance from {@link ClusterConnection#getHbck()} and call<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * {@link #close()} when done.<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * <p>WARNING: the below methods can damage the cluster. It may leave the cluster in an<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * indeterminate state, e.g. region not assigned, or some hdfs files left behind. After running<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * any of the below, operators may have to do some clean up on hdfs or schedule some assign<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * procedures to get regions back online. DO AT YOUR OWN RISK. For experienced users only.<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * @see ConnectionFactory<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * @see ClusterConnection<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * @since 2.0.2, 2.1.1<a name="line.40"></a>
+<span class="sourceLineNo">041</span> */<a name="line.41"></a>
+<span class="sourceLineNo">042</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.HBCK)<a name="line.42"></a>
+<span class="sourceLineNo">043</span>public interface Hbck extends Abortable, Closeable {<a name="line.43"></a>
+<span class="sourceLineNo">044</span> /**<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * Update table state in Meta only. No procedures are submitted to open/assign or<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * close/unassign regions of the table.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * @param state table state<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * @return previous state of the table in Meta<a name="line.48"></a>
+<span class="sourceLineNo">049</span> */<a name="line.49"></a>
+<span class="sourceLineNo">050</span> TableState setTableStateInMeta(TableState state) throws IOException;<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> * Like {@link Admin#assign(byte[])} but 'raw' in that it can do more than one Region at a time<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * -- good if many Regions to online -- and it will schedule the assigns even in the case where<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * Master is initializing (as long as the ProcedureExecutor is up). Does NOT call Coprocessor<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * hooks.<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * @param override You need to add the override for case where a region has previously been<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * bypassed. When a Procedure has been bypassed, a Procedure will have completed<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * but no other Procedure will be able to make progress on the target entity<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * (intentionally). This override flag will override this fencing mechanism.<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * @param encodedRegionNames Region encoded names; e.g. 1588230740 is the hard-coded encoding<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * for hbase:meta region and de00010733901a05f5a2a3a382e27dd4 is an<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * example of what a random user-space encoded Region name looks like.<a name="line.63"></a>
+<span class="sourceLineNo">064</span> */<a name="line.64"></a>
+<span class="sourceLineNo">065</span> List<Long> assigns(List<String> encodedRegionNames, boolean override) throws IOException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span> default List<Long> assigns(List<String> encodedRegionNames) throws IOException {<a name="line.67"></a>
+<span class="sourceLineNo">068</span> return assigns(encodedRegionNames, false);<a name="line.68"></a>
+<span class="sourceLineNo">069</span> }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span> /**<a name="line.71"></a>
+<span class="sourceLineNo">072</span> * Like {@link Admin#unassign(byte[], boolean)} but 'raw' in that it can do more than one Region<a name="line.72"></a>
+<span class="sourceLineNo">073</span> * at a time -- good if many Regions to offline -- and it will schedule the assigns even in the<a name="line.73"></a>
+<span class="sourceLineNo">074</span> * case where Master is initializing (as long as the ProcedureExecutor is up). Does NOT call<a name="line.74"></a>
+<span class="sourceLineNo">075</span> * Coprocessor hooks.<a name="line.75"></a>
+<span class="sourceLineNo">076</span> * @param override You need to add the override for case where a region has previously been<a name="line.76"></a>
+<span class="sourceLineNo">077</span> * bypassed. When a Procedure has been bypassed, a Procedure will have completed<a name="line.77"></a>
+<span class="sourceLineNo">078</span> * but no other Procedure will be able to make progress on the target entity<a name="line.78"></a>
+<span class="sourceLineNo">079</span> * (intentionally). This override flag will override this fencing mechanism.<a name="line.79"></a>
+<span class="sourceLineNo">080</span> * @param encodedRegionNames Region encoded names; e.g. 1588230740 is the hard-coded encoding<a name="line.80"></a>
+<span class="sourceLineNo">081</span> * for hbase:meta region and de00010733901a05f5a2a3a382e27dd4 is an<a name="line.81"></a>
+<span class="sourceLineNo">082</span> * example of what a random user-space encoded Region name looks like.<a name="line.82"></a>
+<span class="sourceLineNo">083</span> */<a name="line.83"></a>
+<span class="sourceLineNo">084</span> List<Long> unassigns(List<String> encodedRegionNames, boolean override) throws IOException;<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span> default List<Long> unassigns(List<String> encodedRegionNames) throws IOException {<a name="line.86"></a>
+<span class="sourceLineNo">087</span> return unassigns(encodedRegionNames, false);<a name="line.87"></a>
+<span class="sourceLineNo">088</span> }<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span> /**<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * Bypass specified procedure and move it to completion. Procedure is marked completed but<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * no actual work is done from the current state/step onwards. Parents of the procedure are<a name="line.92"></a>
+<span class="sourceLineNo">093</span> * also marked for bypass.<a name="line.93"></a>
+<span class="sourceLineNo">094</span> *<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * @param pids of procedures to complete.<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * @param waitTime wait time in ms for acquiring lock for a procedure<a name="line.96"></a>
+<span class="sourceLineNo">097</span> * @param override if override set to true, we will bypass the procedure even if it is executing.<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * This is for procedures which can't break out during execution (bugs?).<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * @param recursive If set, if a parent procedure, we will find and bypass children and then<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * the parent procedure (Dangerous but useful in case where child procedure has been 'lost').<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * Does not always work. Experimental.<a name="line.101"></a>
+<span class="sourceLineNo">102</span> * @return true if procedure is marked for bypass successfully, false otherwise<a name="line.102"></a>
+<span class="sourceLineNo">103</span> */<a name="line.103"></a>
+<span class="sourceLineNo">104</span> List<Boolean> bypassProcedure(List<Long> pids, long waitTime, boolean override, boolean recursive)<a name="line.104"></a>
+<span class="sourceLineNo">105</span> throws IOException;<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span> List<Long> scheduleServerCrashProcedure(List<HBaseProtos.ServerName> serverNames)<a name="line.107"></a>
+<span class="sourceLineNo">108</span> throws IOException;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>}<a name="line.109"></a>
[17/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html b/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
index 721a8e0..e4de51f 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
@@ -3590,189 +3590,193 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> right)</code> </td>
</tr>
<tr class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterRpcServices.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#containMetaWals-org.apache.hadoop.hbase.ServerName-">containMetaWals</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code> </td>
+</tr>
+<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#expireServer-org.apache.hadoop.hbase.ServerName-">expireServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code>
<div class="block">Expire the passed server.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
<td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#findServerWithSameHostnamePortWithLock-org.apache.hadoop.hbase.ServerName-">findServerWithSameHostnamePortWithLock</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code>
<div class="block">Assumes onlineServers is locked.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">DeadServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/DeadServer.html#finish-org.apache.hadoop.hbase.ServerName-">finish</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code>
<div class="block">Complete processing for this dead server.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getInfoPort-org.apache.hadoop.hbase.ServerName-">getInfoPort</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a></code></td>
<td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getLoad-org.apache.hadoop.hbase.ServerName-">getLoad</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><span class="typeNameLabel">RackManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RackManager.html#getRack-org.apache.hadoop.hbase.ServerName-">getRack</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> server)</code>
<div class="block">Get the name of the rack containing a server, according to the DNS to
switch mapping.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><span class="typeNameLabel">HMaster.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerInfoPort-org.apache.hadoop.hbase.ServerName-">getRegionServerInfoPort</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><span class="typeNameLabel">MasterServices.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getRegionServerVersion-org.apache.hadoop.hbase.ServerName-">getRegionServerVersion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><span class="typeNameLabel">HMaster.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerVersion-org.apache.hadoop.hbase.ServerName-">getRegionServerVersion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationLoadSource.html" title="class in org.apache.hadoop.hbase.replication">ReplicationLoadSource</a>>>></code></td>
<td class="colLast"><span class="typeNameLabel">HMaster.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getReplicationLoad-org.apache.hadoop.hbase.ServerName:A-">getReplicationLoad</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>[] serverNames)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.BlockingInterface</code></td>
<td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getRsAdmin-org.apache.hadoop.hbase.ServerName-">getRsAdmin</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</a></code></td>
<td class="colLast"><span class="typeNameLabel">DeadServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/DeadServer.html#getTimeOfDeath-org.apache.hadoop.hbase.ServerName-">getTimeOfDeath</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> deadServerName)</code>
<div class="block">Get the time when a server died</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getVersion-org.apache.hadoop.hbase.ServerName-">getVersion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code>
<div class="block">May return "0.0.0" when server is not online</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#getVersionNumber-org.apache.hadoop.hbase.ServerName-">getVersionNumber</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code>
<div class="block">May return 0 when server is not online.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><span class="typeNameLabel">SplitLogManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.html#handleDeadWorker-org.apache.hadoop.hbase.ServerName-">handleDeadWorker</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> workerName)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">SplitLogManager.Task.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.Task.html#heartbeat-long-int-org.apache.hadoop.hbase.ServerName-">heartbeat</a></span>(long time,
int version,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> worker)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionState.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html#isClosingOrClosedOnServer-org.apache.hadoop.hbase.ServerName-">isClosingOrClosedOnServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">DeadServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/DeadServer.html#isDeadServer-org.apache.hadoop.hbase.ServerName-">isDeadServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionState.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html#isMergingNewOnServer-org.apache.hadoop.hbase.ServerName-">isMergingNewOnServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionState.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html#isMergingNewOrOfflineOnServer-org.apache.hadoop.hbase.ServerName-">isMergingNewOrOfflineOnServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionState.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html#isMergingNewOrOpenedOnServer-org.apache.hadoop.hbase.ServerName-">isMergingNewOrOpenedOnServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionState.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html#isMergingOnServer-org.apache.hadoop.hbase.ServerName-">isMergingOnServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionState.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html#isOnServer-org.apache.hadoop.hbase.ServerName-">isOnServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionState.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html#isOpenedOnServer-org.apache.hadoop.hbase.ServerName-">isOpenedOnServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionState.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html#isOpeningOrFailedOpenOnServer-org.apache.hadoop.hbase.ServerName-">isOpeningOrFailedOpenOnServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionState.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html#isOpeningOrOpenedOnServer-org.apache.hadoop.hbase.ServerName-">isOpeningOrOpenedOnServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">DeadServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/DeadServer.html#isProcessingServer-org.apache.hadoop.hbase.ServerName-">isProcessingServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#isServerDead-org.apache.hadoop.hbase.ServerName-">isServerDead</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code>
<div class="block">Check if a server is known to be dead.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#isServerOnline-org.apache.hadoop.hbase.ServerName-">isServerOnline</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionState.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html#isSplittingNewOnServer-org.apache.hadoop.hbase.ServerName-">isSplittingNewOnServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionState.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html#isSplittingOnServer-org.apache.hadoop.hbase.ServerName-">isSplittingOnServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionState.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html#isSplittingOrOpenedOnServer-org.apache.hadoop.hbase.ServerName-">isSplittingOrOpenedOnServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionState.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionState.html#isSplittingOrSplitOnServer-org.apache.hadoop.hbase.ServerName-">isSplittingOrSplitOnServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#moveFromOnlineToDeadServers-org.apache.hadoop.hbase.ServerName-">moveFromOnlineToDeadServers</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">DeadServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/DeadServer.html#notifyServer-org.apache.hadoop.hbase.ServerName-">notifyServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code>
<div class="block">Notify that we started processing this dead server.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postMove-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> region,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> srcServer,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> destServer)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postRecommissionRegionServer-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> server,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><byte[]> encodedRegionNames)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preMove-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> region,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> srcServer,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> destServer)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preRecommissionRegionServer-org.apache.hadoop.hbase.ServerName-java.util.List-">preRecommissionRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> server,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><byte[]> encodedRegionNames)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">HMaster.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#recommissionRegionServer-org.apache.hadoop.hbase.ServerName-java.util.List-">recommissionRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> server,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><byte[]> encodedRegionNames)</code>
@@ -3780,64 +3784,68 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
assignments.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#recordNewServerWithLock-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerMetrics-">recordNewServerWithLock</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a> sl)</code>
<div class="block">Adds the onlineServers list.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">LoadBalancer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html#regionOnline-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">regionOnline</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> regionInfo,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code>
<div class="block">Marks the region as online at balancer.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#regionServerReport-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerMetrics-">regionServerReport</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
<a href="../../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase">ServerMetrics</a> sl)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><span class="typeNameLabel">DrainingServerTracker.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/DrainingServerTracker.html#remove-org.apache.hadoop.hbase.ServerName-">remove</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">DeadServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/DeadServer.html#removeDeadServer-org.apache.hadoop.hbase.ServerName-">removeDeadServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> deadServerName)</code>
<div class="block">remove the specified dead server</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#removeServerFromDrainList-org.apache.hadoop.hbase.ServerName-">removeServerFromDrainList</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html#sendRegionWarmup-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.client.RegionInfo-">sendRegionWarmup</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> server,
<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> region)</code>
<div class="block">Sends a WARMUP RPC to the specified server to warmup the specified region.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>default void</code></td>
<td class="colLast"><span class="typeNameLabel">ServerListener.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerListener.html#serverAdded-org.apache.hadoop.hbase.ServerName-">serverAdded</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code>
<div class="block">The server has joined the cluster.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>default void</code></td>
<td class="colLast"><span class="typeNameLabel">ServerListener.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/ServerListener.html#serverRemoved-org.apache.hadoop.hbase.ServerName-">serverRemoved</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code>
<div class="block">The server was removed from the cluster.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">RegionPlan.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlan.html#setDestination-org.apache.hadoop.hbase.ServerName-">setDestination</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> dest)</code>
<div class="block">Set the destination server for the plan for this region.</div>
</td>
</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterRpcServices.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#shouldSubmitSCP-org.apache.hadoop.hbase.ServerName-">shouldSubmitSCP</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code> </td>
+</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">MasterWalManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterWalManager.html#splitLog-org.apache.hadoop.hbase.ServerName-">splitLog</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code> </td>
@@ -4517,7 +4525,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>long</code></td>
<td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#submitServerCrash-org.apache.hadoop.hbase.ServerName-boolean-">submitServerCrash</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName,
boolean shouldSplitWal)</code> </td>
</tr>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/client/HBaseHbck.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/HBaseHbck.html b/devapidocs/org/apache/hadoop/hbase/client/HBaseHbck.html
index 9446892..320ad69 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/HBaseHbck.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/HBaseHbck.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":9,"i8":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.61">HBaseHbck</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.62">HBaseHbck</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface in org.apache.hadoop.hbase.client">Hbck</a></pre>
<div class="block">Use <a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#getHbck--"><code>ClusterConnection.getHbck()</code></a> to obtain an instance of <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface in org.apache.hadoop.hbase.client"><code>Hbck</code></a> instead of
@@ -239,16 +239,20 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" tit
</td>
</tr>
<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseHbck.html#scheduleServerCrashProcedure-java.util.List-">scheduleServerCrashProcedure</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ServerName> serverNames)</code> </td>
+</tr>
+<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseHbck.html#setTableStateInMeta-org.apache.hadoop.hbase.client.TableState-">setTableStateInMeta</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a> state)</code>
<div class="block">Update table state in Meta only.</div>
</td>
</tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseHbck.html#toCommaDelimitedString-java.util.List-">toCommaDelimitedString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> list)</code> </td>
</tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseHbck.html#unassigns-java.util.List-boolean-">unassigns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames,
boolean override)</code>
@@ -292,7 +296,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" tit
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
-<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.62">LOG</a></pre>
+<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.63">LOG</a></pre>
</li>
</ul>
<a name="aborted">
@@ -301,7 +305,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" tit
<ul class="blockList">
<li class="blockList">
<h4>aborted</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.64">aborted</a></pre>
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.65">aborted</a></pre>
</li>
</ul>
<a name="hbck">
@@ -310,7 +314,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" tit
<ul class="blockList">
<li class="blockList">
<h4>hbck</h4>
-<pre>private final org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.HbckService.BlockingInterface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.65">hbck</a></pre>
+<pre>private final org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.HbckService.BlockingInterface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.66">hbck</a></pre>
</li>
</ul>
<a name="rpcControllerFactory">
@@ -319,7 +323,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" tit
<ul class="blockListLast">
<li class="blockList">
<h4>rpcControllerFactory</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcControllerFactory.html" title="class in org.apache.hadoop.hbase.ipc">RpcControllerFactory</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.67">rpcControllerFactory</a></pre>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcControllerFactory.html" title="class in org.apache.hadoop.hbase.ipc">RpcControllerFactory</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.68">rpcControllerFactory</a></pre>
</li>
</ul>
</li>
@@ -336,7 +340,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" tit
<ul class="blockListLast">
<li class="blockList">
<h4>HBaseHbck</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.69">HBaseHbck</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> connection,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.70">HBaseHbck</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> connection,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.HbckService.BlockingInterface hbck)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
@@ -359,7 +363,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" tit
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.75">close</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.76">close</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -377,7 +381,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" tit
<ul class="blockList">
<li class="blockList">
<h4>abort</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.80">abort</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> why,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.81">abort</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> why,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> e)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/Abortable.html#abort-java.lang.String-java.lang.Throwable-">Abortable</a></code></span></div>
<div class="block">Abort the server or client.</div>
@@ -396,7 +400,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" tit
<ul class="blockList">
<li class="blockList">
<h4>isAborted</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.87">isAborted</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.88">isAborted</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/Abortable.html#isAborted--">Abortable</a></code></span></div>
<div class="block">Check if the server or client was aborted.</div>
<dl>
@@ -413,7 +417,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" tit
<ul class="blockList">
<li class="blockList">
<h4>setTableStateInMeta</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.92">setTableStateInMeta</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a> state)
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.93">setTableStateInMeta</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a> state)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html#setTableStateInMeta-org.apache.hadoop.hbase.client.TableState-">Hbck</a></code></span></div>
<div class="block">Update table state in Meta only. No procedures are submitted to open/assign or
@@ -436,7 +440,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" tit
<ul class="blockList">
<li class="blockList">
<h4>assigns</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.105">assigns</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames,
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.106">assigns</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames,
boolean override)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html#assigns-java.util.List-boolean-">Hbck</a></code></span></div>
@@ -466,7 +470,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" tit
<ul class="blockList">
<li class="blockList">
<h4>unassigns</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.119">unassigns</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames,
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.120">unassigns</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames,
boolean override)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html#unassigns-java.util.List-boolean-">Hbck</a></code></span></div>
@@ -496,16 +500,16 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" tit
<ul class="blockList">
<li class="blockList">
<h4>toCommaDelimitedString</h4>
-<pre>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.132">toCommaDelimitedString</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> list)</pre>
+<pre>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.133">toCommaDelimitedString</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> list)</pre>
</li>
</ul>
<a name="bypassProcedure-java.util.List-long-boolean-boolean-">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>bypassProcedure</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.137">bypassProcedure</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> pids,
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.138">bypassProcedure</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> pids,
long waitTime,
boolean override,
boolean recursive)
@@ -532,6 +536,22 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" tit
</dl>
</li>
</ul>
+<a name="scheduleServerCrashProcedure-java.util.List-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>scheduleServerCrashProcedure</h4>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/HBaseHbck.html#line.160">scheduleServerCrashProcedure</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ServerName> serverNames)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html#scheduleServerCrashProcedure-java.util.List-">scheduleServerCrashProcedure</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html" title="interface in org.apache.hadoop.hbase.client">Hbck</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/client/Hbck.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/Hbck.html b/devapidocs/org/apache/hadoop/hbase/client/Hbck.html
index 977cf0f..7a2193c 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/Hbck.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/Hbck.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":18,"i1":6,"i2":6,"i3":6,"i4":18,"i5":6};
+var methods = {"i0":18,"i1":6,"i2":6,"i3":6,"i4":6,"i5":18,"i6":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.LimitedPrivate(value="HBCK")
-public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.41">Hbck</a>
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.43">Hbck</a>
extends <a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre>
<div class="block">Hbck fixup tool APIs. Obtain an instance from <a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html#getHbck--"><code>ClusterConnection.getHbck()</code></a> and call
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io"><code>Closeable.close()</code></a> when done.
@@ -166,16 +166,20 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="i
</td>
</tr>
<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html#scheduleServerCrashProcedure-java.util.List-">scheduleServerCrashProcedure</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ServerName> serverNames)</code> </td>
+</tr>
+<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html#setTableStateInMeta-org.apache.hadoop.hbase.client.TableState-">setTableStateInMeta</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a> state)</code>
<div class="block">Update table state in Meta only.</div>
</td>
</tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html#unassigns-java.util.List-">unassigns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames)</code> </td>
</tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Hbck.html#unassigns-java.util.List-boolean-">unassigns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames,
boolean override)</code>
@@ -219,7 +223,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="i
<ul class="blockList">
<li class="blockList">
<h4>setTableStateInMeta</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.48">setTableStateInMeta</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a> state)
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.50">setTableStateInMeta</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a> state)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Update table state in Meta only. No procedures are submitted to open/assign or
close/unassign regions of the table.</div>
@@ -239,7 +243,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="i
<ul class="blockList">
<li class="blockList">
<h4>assigns</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.63">assigns</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames,
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.65">assigns</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames,
boolean override)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Like <a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#assign-byte:A-"><code>Admin.assign(byte[])</code></a> but 'raw' in that it can do more than one Region at a time
@@ -266,7 +270,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="i
<ul class="blockList">
<li class="blockList">
<h4>assigns</h4>
-<pre>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.65">assigns</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames)
+<pre>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.67">assigns</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -280,7 +284,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="i
<ul class="blockList">
<li class="blockList">
<h4>unassigns</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.82">unassigns</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames,
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.84">unassigns</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames,
boolean override)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Like <a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#unassign-byte:A-boolean-"><code>Admin.unassign(byte[], boolean)</code></a> but 'raw' in that it can do more than one Region
@@ -307,7 +311,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="i
<ul class="blockList">
<li class="blockList">
<h4>unassigns</h4>
-<pre>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.84">unassigns</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames)
+<pre>default <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.86">unassigns</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> encodedRegionNames)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -318,10 +322,10 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="i
<a name="bypassProcedure-java.util.List-long-boolean-boolean-">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>bypassProcedure</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.102">bypassProcedure</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> pids,
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.104">bypassProcedure</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> pids,
long waitTime,
boolean override,
boolean recursive)
@@ -345,6 +349,20 @@ extends <a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="i
</dl>
</li>
</ul>
+<a name="scheduleServerCrashProcedure-java.util.List-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>scheduleServerCrashProcedure</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Hbck.html#line.107">scheduleServerCrashProcedure</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ServerName> serverNames)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
index f24d0a1..61680f8 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -555,23 +555,23 @@
<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.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">IsolationLevel</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactionState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactionState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</span></a></li>
<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
index e67b778..329f62f 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
@@ -201,8 +201,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><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.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.MetaTableOps.html" title="enum in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">MetaTableMetrics.MetaTableOps</span></a></li>
<li type="circle">org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">RegionObserver.MutationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.MetaTableOps.html" title="enum in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">MetaTableMetrics.MetaTableOps</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
index 4043d33..9fd492a 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -183,14 +183,14 @@
<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.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.FilterRowRetCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterWrapper.FilterRowRetCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Filter.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">BitComparator.BitwiseOp</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Filter.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.FilterRowRetCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterWrapper.FilterRowRetCode</span></a></li>
<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
</ul>
</li>
</ul>
[13/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html
new file mode 100644
index 0000000..5566e0a
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html
@@ -0,0 +1,596 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractPeerNoLockProcedure (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="AbstractPeerNoLockProcedure (Apache HBase 3.0.0-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractPeerNoLockProcedure.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev Class</li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" target="_top">Frames</a></li>
+<li><a href="AbstractPeerNoLockProcedure.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">Nested</a> | </li>
+<li><a href="#field.summary">Field</a> | </li>
+<li><a href="#constructor.summary">Constr</a> | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li><a href="#field.detail">Field</a> | </li>
+<li><a href="#constructor.detail">Constr</a> | </li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.master.replication</div>
+<h2 title="Class AbstractPeerNoLockProcedure" class="title">Class AbstractPeerNoLockProcedure<TState></h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">org.apache.hadoop.hbase.procedure2.Procedure</a><TEnvironment></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">org.apache.hadoop.hbase.procedure2.StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,TState></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure<TState></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><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><<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>>>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Private
+public abstract class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#line.36">AbstractPeerNoLockProcedure</a><TState>
+extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,TState>
+implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></pre>
+<div class="block">Base class for replication peer related procedures which do not need to hold locks(for most of
+ the sub procedures).</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!-- -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hbase.procedure2.Procedure">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2">Procedure.LockState</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from interface org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface.PeerOperationType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#attempts">attempts</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#peerId">peerId</a></span></code> </td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
+<!-- -->
+</a>
+<h3>Fields inherited from class org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#stateCount">stateCount</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.procedure2.Procedure">
+<!-- -->
+</a>
+<h3>Fields inherited from class org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#NO_PROC_ID">NO_PROC_ID</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#NO_TIMEOUT">NO_TIMEOUT</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#AbstractPeerNoLockProcedure--">AbstractPeerNoLockProcedure</a></span>()</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#AbstractPeerNoLockProcedure-java.lang.String-">AbstractPeerNoLockProcedure</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> peerId)</code> </td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a> serializer)</code>
+<div class="block">Called on store load to allow the user to decode the previously serialized
+ state.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#getPeerId--">getPeerId</a></span>()</code> </td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env,
+ <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="type parameter in AbstractPeerNoLockProcedure">TState</a> state)</code>
+<div class="block">called to perform the rollback of the specified state</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a> serializer)</code>
+<div class="block">The user-level code of the procedure may have some state to
+ persist (e.g.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</code>
+<div class="block">Called by the ProcedureExecutor when the timeout set by setTimeout() is expired.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend</a></span>(long backoff)</code> </td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</code>
+<div class="block">The <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doAcquireLock-TEnvironment-org.apache.hadoop.hbase.procedure2.store.ProcedureStore-"><code>Procedure.doAcquireLock(Object, ProcedureStore)</code></a> will be split into two steps, first, it will
+ call us to determine whether we need to wait for initialization, second, it will call
+ <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock-TEnvironment-"><code>Procedure.acquireLock(Object)</code></a> to actually handle the lock for this procedure.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
+<!-- -->
+</a>
+<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#abort-TEnvironment-">abort</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#addChildProcedure-T...-">addChildProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#execute-TEnvironment-">execute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#executeFromState-TEnvironment-TState-">executeFromState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#failIfAborted--">failIfAborted</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getCurrentState--">getCurrentState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getCurrentStateId--">getCurrentStateId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMach
ineProcedure.html#getCycles--">getCycles</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getInitialState--">getInitialState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getState-int-">getState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getStateId-TState-">getStateId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isEofState--">isEofState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isRollbackSupported-TState-">isRollbackSupported</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isYieldBeforeExecuteFromState-TEnvironment-TState-">isYieldBeforeEx
ecuteFromState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollback-TEnvironment-">rollback</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#setNextState-TState-">setNextState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#toStringState-java.lang.StringBuilder-">toStringState</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.Procedure">
+<!-- -->
+</a>
+<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock-TEnvironment-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#addStackIndex-int-">addStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#afterReplay-TEnvironment-">afterReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#beforeReplay-TEnvironment-">beforeReplay</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#bypass-TEnvironment-">bypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#compareTo-org.apache.hadoop.hbase.procedure2.Procedure-">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#completionCleanup-TEnvironment-">completionCleanup</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>,
<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doRollback-TEnvironment-">doRollback</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime--">elapsedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getException--">getException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getLastUpdate--">getLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getNonceKey--">getNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getOwner--">getOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcedureMetrics-
TEnvironment-">getProcedureMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcId--">getProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcName--">getProcName</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getResult--">getResult</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcedureId-java.util.Map-org.apache.hadoop.hbase.procedure2.Procedure-">getRootProcedureId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getRootProcId--">getRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getStackIndexes--">getStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</a>,
<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getSubmittedTime--">getSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeout--">getTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeoutTimestamp--">getTimeoutTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasChildren--">hasChildren</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasException--">hasException</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasLock--">hasLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasOwner--">hasOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasParent--">hasParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasTimeout--">hasTimeout</a>, <a href="
../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#haveSameParent-org.apache.hadoop.hbase.procedure2.Procedure-org.apache.hadoop.hbase.procedure2.Procedure-">haveSameParent</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#holdLock-TEnvironment-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#incChildrenLatch--">incChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isBypass--">isBypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFailed--">isFailed</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFinished--">isFinished</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isInitializing--">isInitializing</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isLockedWhenLoading--">isLockedWhenLoading</a>, <a href="../../
../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isRunnable--">isRunnable</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isSuccess--">isSuccess</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isWaiting--">isWaiting</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock-TEnvironment-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setAbortFailure-java.lang.String-java.lang.String-">setAbortFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setChildrenLatch-int-">setChildrenLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">setFailure</a>, <a href="../../..
/../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setFailure-java.lang.String-java.lang.Throwable-">setFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setLastUpdate-long-">setLastUpdate</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setNonceKey-org.apache.hadoop.hbase.util.NonceKey-">setNonceKey</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-java.lang.String-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setParentProcId-long-">setParentProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setProcId-long-">setProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setResult-byte:A-">setResult</a>, <a href=
"../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setRootProcId-long-">setRootProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setStackIndexes-java.util.List-">setStackIndexes</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState-">setState</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setSubmittedTime-long-">setSubmittedTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#skipPersistence--">skipPersistence</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toString--
">toString</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClass--">toStringClass</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails-java.lang.StringBuilder-">toStringClassDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnFinish-TEnvironment-long-boolean-">updateMetricsOnFinish</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnSubmit-TEnvironment-">updateMetricsOnSubmit</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedur
e.html#wasExecuted--">wasExecuted</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface">
+<!-- -->
+</a>
+<h3>Methods inherited from interface org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerOperationType--">getPeerOperationType</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="peerId">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>peerId</h4>
+<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#line.39">peerId</a></pre>
+</li>
+</ul>
+<a name="attempts">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>attempts</h4>
+<pre>protected int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#line.41">attempts</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AbstractPeerNoLockProcedure--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>AbstractPeerNoLockProcedure</h4>
+<pre>protected <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#line.43">AbstractPeerNoLockProcedure</a>()</pre>
+</li>
+</ul>
+<a name="AbstractPeerNoLockProcedure-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractPeerNoLockProcedure</h4>
+<pre>protected <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#line.46">AbstractPeerNoLockProcedure</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> peerId)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getPeerId--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPeerId</h4>
+<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#line.51">getPeerId</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerId--">getPeerId</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitInitialized</h4>
+<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#line.56">waitInitialized</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#waitInitialized-TEnvironment-">Procedure</a></code></span></div>
+<div class="block">The <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doAcquireLock-TEnvironment-org.apache.hadoop.hbase.procedure2.store.ProcedureStore-"><code>Procedure.doAcquireLock(Object, ProcedureStore)</code></a> will be split into two steps, first, it will
+ call us to determine whether we need to wait for initialization, second, it will call
+ <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock-TEnvironment-"><code>Procedure.acquireLock(Object)</code></a> to actually handle the lock for this procedure.
+ <p/>
+ This is because that when master restarts, we need to restore the lock state for all the
+ procedures to not break the semantic if <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#holdLock-TEnvironment-"><code>Procedure.holdLock(Object)</code></a> is true. But the
+ <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2"><code>ProcedureExecutor</code></a> will be started before the master finish initialization(as it is part
+ of the initialization!), so we need to split the code into two steps, and when restore, we just
+ restore the lock part and ignore the waitInitialized part. Otherwise there will be dead lock.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#waitInitialized-TEnvironment-">waitInitialized</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true means we need to wait until the environment has been initialized, otherwise true.</dd>
+</dl>
+</li>
+</ul>
+<a name="rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-java.lang.Object-">
+<!-- -->
+</a><a name="rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rollbackState</h4>
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#line.61">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env,
+ <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="type parameter in AbstractPeerNoLockProcedure">TState</a> state)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+ <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState-TEnvironment-TState-">StateMachineProcedure</a></code></span></div>
+<div class="block">called to perform the rollback of the specified state</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState-TEnvironment-TState-">rollbackState</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="type parameter in AbstractPeerNoLockProcedure">TState</a>></code></dd>
+<dd><code>state</code> - state to rollback</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - temporary failure, the rollback will retry later</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serializeStateData</h4>
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#line.72">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a> serializer)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
+<div class="block">The user-level code of the procedure may have some state to
+ persist (e.g. input arguments or current position in the processing state) to
+ be able to resume on failure.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="type parameter in AbstractPeerNoLockProcedure">TState</a>></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serializer</code> - stores the serializable state</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deserializeStateData</h4>
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#line.78">deserializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a> serializer)
+ throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
+<div class="block">Called on store load to allow the user to decode the previously serialized
+ state.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="type parameter in AbstractPeerNoLockProcedure">TState</a>></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serializer</code> - contains the serialized state</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTimeoutFailure</h4>
+<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#line.84">setTimeoutFailure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">Procedure</a></code></span></div>
+<div class="block">Called by the ProcedureExecutor when the timeout set by setTimeout() is expired.
+ <p/>
+ Another usage for this method is to implement retrying. A procedure can set the state to
+ <code>WAITING_TIMEOUT</code> by calling <code>setState</code> method, and throw a
+ <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2"><code>ProcedureSuspendedException</code></a> to halt the execution of the procedure, and do not forget a
+ call <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeout-int-"><code>Procedure.setTimeout(int)</code></a> method to set the timeout. And you should also override this
+ method to wake up the procedure, and also return false to tell the ProcedureExecutor that the
+ timeout event has been handled.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true to let the framework handle the timeout as abort, false in case the procedure
+ handled the timeout itself.</dd>
+</dl>
+</li>
+</ul>
+<a name="suspend-long-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>suspend</h4>
+<pre>protected final <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#line.90">suspend</a>(long backoff)
+ throws <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractPeerNoLockProcedure.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev Class</li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" target="_top">Frames</a></li>
+<li><a href="AbstractPeerNoLockProcedure.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">Nested</a> | </li>
+<li><a href="#field.summary">Field</a> | </li>
+<li><a href="#constructor.summary">Constr</a> | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li><a href="#field.detail">Field</a> | </li>
+<li><a href="#constructor.detail">Constr</a> | </li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright © 2007–2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
[05/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionStat.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionStat.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionStat.html
index 801dc55..5d3c5eb 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionStat.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionStat.html
@@ -1369,556 +1369,557 @@
<span class="sourceLineNo">1361</span> return 0;<a name="line.1361"></a>
<span class="sourceLineNo">1362</span> }<a name="line.1362"></a>
<span class="sourceLineNo">1363</span><a name="line.1363"></a>
-<span class="sourceLineNo">1364</span> public void submitServerCrash(final ServerName serverName, final boolean shouldSplitWal) {<a name="line.1364"></a>
+<span class="sourceLineNo">1364</span> public long submitServerCrash(final ServerName serverName, final boolean shouldSplitWal) {<a name="line.1364"></a>
<span class="sourceLineNo">1365</span> boolean carryingMeta = isCarryingMeta(serverName);<a name="line.1365"></a>
<span class="sourceLineNo">1366</span> ProcedureExecutor<MasterProcedureEnv> procExec = this.master.getMasterProcedureExecutor();<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span> procExec.submitProcedure(new ServerCrashProcedure(procExec.getEnvironment(), serverName,<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span> shouldSplitWal, carryingMeta));<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span> LOG.debug("Added=" + serverName +<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span> " to dead servers, submitted shutdown handler to be executed meta=" + carryingMeta);<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span> }<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span><a name="line.1372"></a>
-<span class="sourceLineNo">1373</span> public void offlineRegion(final RegionInfo regionInfo) {<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span> // TODO used by MasterRpcServices<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span> RegionStateNode node = regionStates.getRegionStateNode(regionInfo);<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span> if (node != null) {<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span> node.offline();<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span> }<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span> }<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span><a name="line.1380"></a>
-<span class="sourceLineNo">1381</span> public void onlineRegion(final RegionInfo regionInfo, final ServerName serverName) {<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span> // TODO used by TestSplitTransactionOnCluster.java<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span> }<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span><a name="line.1384"></a>
-<span class="sourceLineNo">1385</span> public Map<ServerName, List<RegionInfo>> getSnapShotOfAssignment(<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span> final Collection<RegionInfo> regions) {<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span> return regionStates.getSnapShotOfAssignment(regions);<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span> }<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span><a name="line.1389"></a>
-<span class="sourceLineNo">1390</span> // ============================================================================================<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span> // TODO: UTILS/HELPERS?<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span> // ============================================================================================<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span> /**<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span> * Used by the client (via master) to identify if all regions have the schema updates<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span> *<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span> * @param tableName<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span> * @return Pair indicating the status of the alter command (pending/total)<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span> * @throws IOException<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span> */<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span> public Pair<Integer, Integer> getReopenStatus(TableName tableName) {<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span> if (isTableDisabled(tableName)) return new Pair<Integer, Integer>(0, 0);<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span><a name="line.1402"></a>
-<span class="sourceLineNo">1403</span> final List<RegionState> states = regionStates.getTableRegionStates(tableName);<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span> int ritCount = 0;<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span> for (RegionState regionState: states) {<a name="line.1405"></a>
-<span class="sourceLineNo">1406</span> if (!regionState.isOpened()) ritCount++;<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span> }<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span> return new Pair<Integer, Integer>(ritCount, states.size());<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span> }<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span><a name="line.1410"></a>
-<span class="sourceLineNo">1411</span> // ============================================================================================<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span> // TODO: Region State In Transition<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span> // ============================================================================================<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span> public boolean hasRegionsInTransition() {<a name="line.1414"></a>
-<span class="sourceLineNo">1415</span> return regionStates.hasRegionsInTransition();<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span> }<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span><a name="line.1417"></a>
-<span class="sourceLineNo">1418</span> public List<RegionStateNode> getRegionsInTransition() {<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span> return regionStates.getRegionsInTransition();<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span> }<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span><a name="line.1421"></a>
-<span class="sourceLineNo">1422</span> public List<RegionInfo> getAssignedRegions() {<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span> return regionStates.getAssignedRegions();<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span> }<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span><a name="line.1425"></a>
-<span class="sourceLineNo">1426</span> public RegionInfo getRegionInfo(final byte[] regionName) {<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span> final RegionStateNode regionState = regionStates.getRegionStateNodeFromName(regionName);<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span> return regionState != null ? regionState.getRegionInfo() : null;<a name="line.1428"></a>
-<span class="sourceLineNo">1429</span> }<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span><a name="line.1430"></a>
-<span class="sourceLineNo">1431</span> // ============================================================================================<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span> // Expected states on region state transition.<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span> // Notice that there is expected states for transiting to OPENING state, this is because SCP.<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span> // See the comments in regionOpening method for more details.<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span> // ============================================================================================<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span> private static final State[] STATES_EXPECTED_ON_OPEN = {<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span> State.OPENING, // Normal case<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span> State.OPEN // Retrying<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span> };<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span><a name="line.1440"></a>
-<span class="sourceLineNo">1441</span> private static final State[] STATES_EXPECTED_ON_CLOSING = {<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span> State.OPEN, // Normal case<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span> State.CLOSING, // Retrying<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span> State.SPLITTING, // Offline the split parent<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span> State.MERGING // Offline the merge parents<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span> };<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span><a name="line.1447"></a>
-<span class="sourceLineNo">1448</span> private static final State[] STATES_EXPECTED_ON_CLOSED = {<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span> State.CLOSING, // Normal case<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span> State.CLOSED // Retrying<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span> };<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span><a name="line.1452"></a>
-<span class="sourceLineNo">1453</span> // This is for manually scheduled region assign, can add other states later if we find out other<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span> // usages<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span> private static final State[] STATES_EXPECTED_ON_ASSIGN = { State.CLOSED, State.OFFLINE };<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span><a name="line.1456"></a>
-<span class="sourceLineNo">1457</span> // We only allow unassign or move a region which is in OPEN state.<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span> private static final State[] STATES_EXPECTED_ON_UNASSIGN_OR_MOVE = { State.OPEN };<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span><a name="line.1459"></a>
-<span class="sourceLineNo">1460</span> // ============================================================================================<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span> // Region Status update<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span> // Should only be called in TransitRegionStateProcedure<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span> // ============================================================================================<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span> private void transitStateAndUpdate(RegionStateNode regionNode, RegionState.State newState,<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span> RegionState.State... expectedStates) throws IOException {<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span> RegionState.State state = regionNode.getState();<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span> regionNode.transitionState(newState, expectedStates);<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span> boolean succ = false;<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span> try {<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span> succ = true;<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span> } finally {<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span> if (!succ) {<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span> // revert<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span> regionNode.setState(state);<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span> }<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span> }<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span> }<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span><a name="line.1479"></a>
-<span class="sourceLineNo">1480</span> // should be called within the synchronized block of RegionStateNode<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span> void regionOpening(RegionStateNode regionNode) throws IOException {<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span> // As in SCP, for performance reason, there is no TRSP attached with this region, we will not<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span> // update the region state, which means that the region could be in any state when we want to<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span> // assign it after a RS crash. So here we do not pass the expectedStates parameter.<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span> transitStateAndUpdate(regionNode, State.OPENING);<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span> regionStates.addRegionToServer(regionNode);<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span> // update the operation count metrics<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span> metrics.incrementOperationCounter();<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span> }<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span><a name="line.1490"></a>
-<span class="sourceLineNo">1491</span> // should be called within the synchronized block of RegionStateNode.<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span> // The parameter 'giveUp' means whether we will try to open the region again, if it is true, then<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span> // we will persist the FAILED_OPEN state into hbase:meta.<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span> void regionFailedOpen(RegionStateNode regionNode, boolean giveUp) throws IOException {<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span> RegionState.State state = regionNode.getState();<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span> ServerName regionLocation = regionNode.getRegionLocation();<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span> if (giveUp) {<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span> regionNode.setState(State.FAILED_OPEN);<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span> regionNode.setRegionLocation(null);<a name="line.1499"></a>
-<span class="sourceLineNo">1500</span> boolean succ = false;<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span> try {<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span> succ = true;<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span> } finally {<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span> if (!succ) {<a name="line.1505"></a>
-<span class="sourceLineNo">1506</span> // revert<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span> regionNode.setState(state);<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span> regionNode.setRegionLocation(regionLocation);<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span> }<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span> }<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span> }<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span> if (regionLocation != null) {<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span> regionStates.removeRegionFromServer(regionLocation, regionNode);<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span> }<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span> }<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span><a name="line.1516"></a>
-<span class="sourceLineNo">1517</span> // should be called within the synchronized block of RegionStateNode<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span> void regionOpened(RegionStateNode regionNode) throws IOException {<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span> // TODO: OPENING Updates hbase:meta too... we need to do both here and there?<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span> // That is a lot of hbase:meta writing.<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span> transitStateAndUpdate(regionNode, State.OPEN, STATES_EXPECTED_ON_OPEN);<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span> RegionInfo hri = regionNode.getRegionInfo();<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span> if (isMetaRegion(hri)) {<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span> // Usually we'd set a table ENABLED at this stage but hbase:meta is ALWAYs enabled, it<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span> // can't be disabled -- so skip the RPC (besides... enabled is managed by TableStateManager<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span> // which is backed by hbase:meta... Avoid setting ENABLED to avoid having to update state<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span> // on table that contains state.<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span> setMetaAssigned(hri, true);<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span> }<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span> regionStates.addRegionToServer(regionNode);<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span> regionStates.removeFromFailedOpen(hri);<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span> }<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span><a name="line.1533"></a>
-<span class="sourceLineNo">1534</span> // should be called within the synchronized block of RegionStateNode<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span> void regionClosing(RegionStateNode regionNode) throws IOException {<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span> transitStateAndUpdate(regionNode, State.CLOSING, STATES_EXPECTED_ON_CLOSING);<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span><a name="line.1537"></a>
-<span class="sourceLineNo">1538</span> RegionInfo hri = regionNode.getRegionInfo();<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span> // Set meta has not initialized early. so people trying to create/edit tables will wait<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span> if (isMetaRegion(hri)) {<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span> setMetaAssigned(hri, false);<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span> }<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span> regionStates.addRegionToServer(regionNode);<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span> // update the operation count metrics<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span> metrics.incrementOperationCounter();<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span> }<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span><a name="line.1547"></a>
-<span class="sourceLineNo">1548</span> // should be called within the synchronized block of RegionStateNode<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span> // The parameter 'normally' means whether we are closed cleanly, if it is true, then it means that<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span> // we are closed due to a RS crash.<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span> void regionClosed(RegionStateNode regionNode, boolean normally) throws IOException {<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span> RegionState.State state = regionNode.getState();<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span> ServerName regionLocation = regionNode.getRegionLocation();<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span> if (normally) {<a name="line.1554"></a>
-<span class="sourceLineNo">1555</span> regionNode.transitionState(State.CLOSED, STATES_EXPECTED_ON_CLOSED);<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span> } else {<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span> // For SCP<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span> regionNode.transitionState(State.ABNORMALLY_CLOSED);<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span> }<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span> regionNode.setRegionLocation(null);<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span> boolean succ = false;<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span> try {<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span> succ = true;<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span> } finally {<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span> if (!succ) {<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span> // revert<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span> regionNode.setState(state);<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span> regionNode.setRegionLocation(regionLocation);<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span> }<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span> }<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span> if (regionLocation != null) {<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span> regionNode.setLastHost(regionLocation);<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span> regionStates.removeRegionFromServer(regionLocation, regionNode);<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span> }<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span> }<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span><a name="line.1577"></a>
-<span class="sourceLineNo">1578</span> public void markRegionAsSplit(final RegionInfo parent, final ServerName serverName,<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span> final RegionInfo daughterA, final RegionInfo daughterB) throws IOException {<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span> // Update hbase:meta. Parent will be marked offline and split up in hbase:meta.<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span> // The parent stays in regionStates until cleared when removed by CatalogJanitor.<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span> // Update its state in regionStates to it shows as offline and split when read<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span> // later figuring what regions are in a table and what are not: see<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span> // regionStates#getRegionsOfTable<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span> final RegionStateNode node = regionStates.getOrCreateRegionStateNode(parent);<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span> node.setState(State.SPLIT);<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span> final RegionStateNode nodeA = regionStates.getOrCreateRegionStateNode(daughterA);<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span> nodeA.setState(State.SPLITTING_NEW);<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span> final RegionStateNode nodeB = regionStates.getOrCreateRegionStateNode(daughterB);<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span> nodeB.setState(State.SPLITTING_NEW);<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span><a name="line.1591"></a>
-<span class="sourceLineNo">1592</span> regionStateStore.splitRegion(parent, daughterA, daughterB, serverName);<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span> if (shouldAssignFavoredNodes(parent)) {<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span> List<ServerName> onlineServers = this.master.getServerManager().getOnlineServersList();<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span> ((FavoredNodesPromoter)getBalancer()).<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span> generateFavoredNodesForDaughter(onlineServers, parent, daughterA, daughterB);<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span> }<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span> }<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span><a name="line.1599"></a>
-<span class="sourceLineNo">1600</span> /**<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span> * When called here, the merge has happened. The two merged regions have been<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span> * unassigned and the above markRegionClosed has been called on each so they have been<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span> * disassociated from a hosting Server. The merged region will be open after this call. The<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span> * merged regions are removed from hbase:meta below> Later they are deleted from the filesystem<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span> * by the catalog janitor running against hbase:meta. It notices when the merged region no<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span> * longer holds references to the old regions.<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span> */<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span> public void markRegionAsMerged(final RegionInfo child, final ServerName serverName,<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span> final RegionInfo mother, final RegionInfo father) throws IOException {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span> final RegionStateNode node = regionStates.getOrCreateRegionStateNode(child);<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span> node.setState(State.MERGED);<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span> regionStates.deleteRegion(mother);<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span> regionStates.deleteRegion(father);<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span> regionStateStore.mergeRegions(child, mother, father, serverName);<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span> if (shouldAssignFavoredNodes(child)) {<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span> ((FavoredNodesPromoter)getBalancer()).<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span> generateFavoredNodesForMergedRegion(child, mother, father);<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span> }<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span> }<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span><a name="line.1620"></a>
-<span class="sourceLineNo">1621</span> /*<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span> * Favored nodes should be applied only when FavoredNodes balancer is configured and the region<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span> * belongs to a non-system table.<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span> */<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span> private boolean shouldAssignFavoredNodes(RegionInfo region) {<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span> return this.shouldAssignRegionsWithFavoredNodes &&<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span> FavoredNodesManager.isFavoredNodeApplicable(region);<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span> }<a name="line.1628"></a>
-<span class="sourceLineNo">1629</span><a name="line.1629"></a>
-<span class="sourceLineNo">1630</span> // ============================================================================================<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span> // Assign Queue (Assign/Balance)<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span> // ============================================================================================<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span> private final ArrayList<RegionStateNode> pendingAssignQueue = new ArrayList<RegionStateNode>();<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span> private final ReentrantLock assignQueueLock = new ReentrantLock();<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span> private final Condition assignQueueFullCond = assignQueueLock.newCondition();<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span><a name="line.1636"></a>
-<span class="sourceLineNo">1637</span> /**<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span> * Add the assign operation to the assignment queue.<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span> * The pending assignment operation will be processed,<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span> * and each region will be assigned by a server using the balancer.<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span> */<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span> protected void queueAssign(final RegionStateNode regionNode) {<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span> regionNode.getProcedureEvent().suspend();<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span><a name="line.1644"></a>
-<span class="sourceLineNo">1645</span> // TODO: quick-start for meta and the other sys-tables?<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span> assignQueueLock.lock();<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span> try {<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span> pendingAssignQueue.add(regionNode);<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span> if (regionNode.isSystemTable() ||<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span> pendingAssignQueue.size() == 1 ||<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span> pendingAssignQueue.size() >= assignDispatchWaitQueueMaxSize) {<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span> assignQueueFullCond.signal();<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span> }<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span> } finally {<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span> assignQueueLock.unlock();<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span> }<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span> }<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span><a name="line.1658"></a>
-<span class="sourceLineNo">1659</span> private void startAssignmentThread() {<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span> // Get Server Thread name. Sometimes the Server is mocked so may not implement HasThread.<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span> // For example, in tests.<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span> String name = master instanceof HasThread? ((HasThread)master).getName():<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span> master.getServerName().toShortString();<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span> assignThread = new Thread(name) {<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span> @Override<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span> public void run() {<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span> while (isRunning()) {<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span> processAssignQueue();<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span> }<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span> pendingAssignQueue.clear();<a name="line.1670"></a>
-<span class="sourceLineNo">1671</span> }<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span> };<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span> assignThread.setDaemon(true);<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span> assignThread.start();<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span> }<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span><a name="line.1676"></a>
-<span class="sourceLineNo">1677</span> private void stopAssignmentThread() {<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span> assignQueueSignal();<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span> try {<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span> while (assignThread.isAlive()) {<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span> assignQueueSignal();<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span> assignThread.join(250);<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span> }<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span> } catch (InterruptedException e) {<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span> LOG.warn("join interrupted", e);<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span> Thread.currentThread().interrupt();<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span> }<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span> }<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span><a name="line.1689"></a>
-<span class="sourceLineNo">1690</span> private void assignQueueSignal() {<a name="line.1690"></a>
-<span class="sourceLineNo">1691</span> assignQueueLock.lock();<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span> try {<a name="line.1692"></a>
-<span class="sourceLineNo">1693</span> assignQueueFullCond.signal();<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span> } finally {<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span> assignQueueLock.unlock();<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span> }<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span> }<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span><a name="line.1698"></a>
-<span class="sourceLineNo">1699</span> @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span> private HashMap<RegionInfo, RegionStateNode> waitOnAssignQueue() {<a name="line.1700"></a>
-<span class="sourceLineNo">1701</span> HashMap<RegionInfo, RegionStateNode> regions = null;<a name="line.1701"></a>
-<span class="sourceLineNo">1702</span><a name="line.1702"></a>
-<span class="sourceLineNo">1703</span> assignQueueLock.lock();<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span> try {<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span> if (pendingAssignQueue.isEmpty() && isRunning()) {<a name="line.1705"></a>
-<span class="sourceLineNo">1706</span> assignQueueFullCond.await();<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span> }<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span><a name="line.1708"></a>
-<span class="sourceLineNo">1709</span> if (!isRunning()) return null;<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span> assignQueueFullCond.await(assignDispatchWaitMillis, TimeUnit.MILLISECONDS);<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span> regions = new HashMap<RegionInfo, RegionStateNode>(pendingAssignQueue.size());<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span> for (RegionStateNode regionNode: pendingAssignQueue) {<a name="line.1712"></a>
-<span class="sourceLineNo">1713</span> regions.put(regionNode.getRegionInfo(), regionNode);<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span> }<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span> pendingAssignQueue.clear();<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span> } catch (InterruptedException e) {<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span> LOG.warn("got interrupted ", e);<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span> Thread.currentThread().interrupt();<a name="line.1718"></a>
-<span class="sourceLineNo">1719</span> } finally {<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span> assignQueueLock.unlock();<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span> }<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span> return regions;<a name="line.1722"></a>
-<span class="sourceLineNo">1723</span> }<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span><a name="line.1724"></a>
-<span class="sourceLineNo">1725</span> private void processAssignQueue() {<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span> final HashMap<RegionInfo, RegionStateNode> regions = waitOnAssignQueue();<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span> if (regions == null || regions.size() == 0 || !isRunning()) {<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span> return;<a name="line.1728"></a>
-<span class="sourceLineNo">1729</span> }<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span><a name="line.1730"></a>
-<span class="sourceLineNo">1731</span> if (LOG.isTraceEnabled()) {<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span> LOG.trace("PROCESS ASSIGN QUEUE regionCount=" + regions.size());<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span> }<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span><a name="line.1734"></a>
-<span class="sourceLineNo">1735</span> // TODO: Optimize balancer. pass a RegionPlan?<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span> final HashMap<RegionInfo, ServerName> retainMap = new HashMap<>();<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span> final List<RegionInfo> userHRIs = new ArrayList<>(regions.size());<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span> // Regions for system tables requiring reassignment<a name="line.1738"></a>
-<span class="sourceLineNo">1739</span> final List<RegionInfo> systemHRIs = new ArrayList<>();<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span> for (RegionStateNode regionStateNode: regions.values()) {<a name="line.1740"></a>
-<span class="sourceLineNo">1741</span> boolean sysTable = regionStateNode.isSystemTable();<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span> final List<RegionInfo> hris = sysTable? systemHRIs: userHRIs;<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span> if (regionStateNode.getRegionLocation() != null) {<a name="line.1743"></a>
-<span class="sourceLineNo">1744</span> retainMap.put(regionStateNode.getRegionInfo(), regionStateNode.getRegionLocation());<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span> } else {<a name="line.1745"></a>
-<span class="sourceLineNo">1746</span> hris.add(regionStateNode.getRegionInfo());<a name="line.1746"></a>
-<span class="sourceLineNo">1747</span> }<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span> }<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span><a name="line.1749"></a>
-<span class="sourceLineNo">1750</span> // TODO: connect with the listener to invalidate the cache<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span><a name="line.1751"></a>
-<span class="sourceLineNo">1752</span> // TODO use events<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span> List<ServerName> servers = master.getServerManager().createDestinationServersList();<a name="line.1753"></a>
-<span class="sourceLineNo">1754</span> for (int i = 0; servers.size() < 1; ++i) {<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span> // Report every fourth time around this loop; try not to flood log.<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span> if (i % 4 == 0) {<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span> LOG.warn("No servers available; cannot place " + regions.size() + " unassigned regions.");<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span> }<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span><a name="line.1759"></a>
-<span class="sourceLineNo">1760</span> if (!isRunning()) {<a name="line.1760"></a>
-<span class="sourceLineNo">1761</span> LOG.debug("Stopped! Dropping assign of " + regions.size() + " queued regions.");<a name="line.1761"></a>
-<span class="sourceLineNo">1762</span> return;<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span> }<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span> Threads.sleep(250);<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span> servers = master.getServerManager().createDestinationServersList();<a name="line.1765"></a>
-<span class="sourceLineNo">1766</span> }<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span><a name="line.1767"></a>
-<span class="sourceLineNo">1768</span> if (!systemHRIs.isEmpty()) {<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span> // System table regions requiring reassignment are present, get region servers<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span> // not available for system table regions<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span> final List<ServerName> excludeServers = getExcludedServersForSystemTable();<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span> List<ServerName> serversForSysTables = servers.stream()<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span> .filter(s -> !excludeServers.contains(s)).collect(Collectors.toList());<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span> if (serversForSysTables.isEmpty()) {<a name="line.1774"></a>
-<span class="sourceLineNo">1775</span> LOG.warn("Filtering old server versions and the excluded produced an empty set; " +<a name="line.1775"></a>
-<span class="sourceLineNo">1776</span> "instead considering all candidate servers!");<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span> }<a name="line.1777"></a>
-<span class="sourceLineNo">1778</span> LOG.debug("Processing assignQueue; systemServersCount=" + serversForSysTables.size() +<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span> ", allServersCount=" + servers.size());<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span> processAssignmentPlans(regions, null, systemHRIs,<a name="line.1780"></a>
-<span class="sourceLineNo">1781</span> serversForSysTables.isEmpty()? servers: serversForSysTables);<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span> }<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span><a name="line.1783"></a>
-<span class="sourceLineNo">1784</span> processAssignmentPlans(regions, retainMap, userHRIs, servers);<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span> }<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span><a name="line.1786"></a>
-<span class="sourceLineNo">1787</span> private void processAssignmentPlans(final HashMap<RegionInfo, RegionStateNode> regions,<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span> final HashMap<RegionInfo, ServerName> retainMap, final List<RegionInfo> hris,<a name="line.1788"></a>
-<span class="sourceLineNo">1789</span> final List<ServerName> servers) {<a name="line.1789"></a>
-<span class="sourceLineNo">1790</span> boolean isTraceEnabled = LOG.isTraceEnabled();<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span> if (isTraceEnabled) {<a name="line.1791"></a>
-<span class="sourceLineNo">1792</span> LOG.trace("Available servers count=" + servers.size() + ": " + servers);<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span> }<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span><a name="line.1794"></a>
-<span class="sourceLineNo">1795</span> final LoadBalancer balancer = getBalancer();<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span> // ask the balancer where to place regions<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span> if (retainMap != null && !retainMap.isEmpty()) {<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span> if (isTraceEnabled) {<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span> LOG.trace("retain assign regions=" + retainMap);<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span> }<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span> try {<a name="line.1801"></a>
-<span class="sourceLineNo">1802</span> acceptPlan(regions, balancer.retainAssignment(retainMap, servers));<a name="line.1802"></a>
-<span class="sourceLineNo">1803</span> } catch (HBaseIOException e) {<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span> LOG.warn("unable to retain assignment", e);<a name="line.1804"></a>
-<span class="sourceLineNo">1805</span> addToPendingAssignment(regions, retainMap.keySet());<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span> }<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span> }<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span><a name="line.1808"></a>
-<span class="sourceLineNo">1809</span> // TODO: Do we need to split retain and round-robin?<a name="line.1809"></a>
-<span class="sourceLineNo">1810</span> // the retain seems to fallback to round-robin/random if the region is not in the map.<a name="line.1810"></a>
-<span class="sourceLineNo">1811</span> if (!hris.isEmpty()) {<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span> Collections.sort(hris, RegionInfo.COMPARATOR);<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span> if (isTraceEnabled) {<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span> LOG.trace("round robin regions=" + hris);<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span> }<a name="line.1815"></a>
-<span class="sourceLineNo">1816</span> try {<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span> acceptPlan(regions, balancer.roundRobinAssignment(hris, servers));<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span> } catch (HBaseIOException e) {<a name="line.1818"></a>
-<span class="sourceLineNo">1819</span> LOG.warn("unable to round-robin assignment", e);<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span> addToPendingAssignment(regions, hris);<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span> }<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span> }<a name="line.1822"></a>
-<span class="sourceLineNo">1823</span> }<a name="line.1823"></a>
-<span class="sourceLineNo">1824</span><a name="line.1824"></a>
-<span class="sourceLineNo">1825</span> private void acceptPlan(final HashMap<RegionInfo, RegionStateNode> regions,<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span> final Map<ServerName, List<RegionInfo>> plan) throws HBaseIOException {<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span> final ProcedureEvent<?>[] events = new ProcedureEvent[regions.size()];<a name="line.1827"></a>
-<span class="sourceLineNo">1828</span> final long st = System.currentTimeMillis();<a name="line.1828"></a>
-<span class="sourceLineNo">1829</span><a name="line.1829"></a>
-<span class="sourceLineNo">1830</span> if (plan == null) {<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span> throw new HBaseIOException("unable to compute plans for regions=" + regions.size());<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span> }<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span><a name="line.1833"></a>
-<span class="sourceLineNo">1834</span> if (plan.isEmpty()) return;<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span><a name="line.1835"></a>
-<span class="sourceLineNo">1836</span> int evcount = 0;<a name="line.1836"></a>
-<span class="sourceLineNo">1837</span> for (Map.Entry<ServerName, List<RegionInfo>> entry: plan.entrySet()) {<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span> final ServerName server = entry.getKey();<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span> for (RegionInfo hri: entry.getValue()) {<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span> final RegionStateNode regionNode = regions.get(hri);<a name="line.1840"></a>
-<span class="sourceLineNo">1841</span> regionNode.setRegionLocation(server);<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span> events[evcount++] = regionNode.getProcedureEvent();<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span> }<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span> }<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span> ProcedureEvent.wakeEvents(getProcedureScheduler(), events);<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span><a name="line.1846"></a>
-<span class="sourceLineNo">1847</span> final long et = System.currentTimeMillis();<a name="line.1847"></a>
-<span class="sourceLineNo">1848</span> if (LOG.isTraceEnabled()) {<a name="line.1848"></a>
-<span class="sourceLineNo">1849</span> LOG.trace("ASSIGN ACCEPT " + events.length + " -> " +<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span> StringUtils.humanTimeDiff(et - st));<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span> }<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span> }<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span><a name="line.1853"></a>
-<span class="sourceLineNo">1854</span> private void addToPendingAssignment(final HashMap<RegionInfo, RegionStateNode> regions,<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span> final Collection<RegionInfo> pendingRegions) {<a name="line.1855"></a>
-<span class="sourceLineNo">1856</span> assignQueueLock.lock();<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span> try {<a name="line.1857"></a>
-<span class="sourceLineNo">1858</span> for (RegionInfo hri: pendingRegions) {<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span> pendingAssignQueue.add(regions.get(hri));<a name="line.1859"></a>
-<span class="sourceLineNo">1860</span> }<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span> } finally {<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span> assignQueueLock.unlock();<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span> }<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span> }<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span><a name="line.1865"></a>
-<span class="sourceLineNo">1866</span> /**<a name="line.1866"></a>
-<span class="sourceLineNo">1867</span> * Get a list of servers that this region cannot be assigned to.<a name="line.1867"></a>
-<span class="sourceLineNo">1868</span> * For system tables, we must assign them to a server with highest version.<a name="line.1868"></a>
-<span class="sourceLineNo">1869</span> */<a name="line.1869"></a>
-<span class="sourceLineNo">1870</span> public List<ServerName> getExcludedServersForSystemTable() {<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span> // TODO: This should be a cached list kept by the ServerManager rather than calculated on each<a name="line.1871"></a>
-<span class="sourceLineNo">1872</span> // move or system region assign. The RegionServerTracker keeps list of online Servers with<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span> // RegionServerInfo that includes Version.<a name="line.1873"></a>
-<span class="sourceLineNo">1874</span> List<Pair<ServerName, String>> serverList = master.getServerManager().getOnlineServersList()<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span> .stream()<a name="line.1875"></a>
-<span class="sourceLineNo">1876</span> .map((s)->new Pair<>(s, master.getRegionServerVersion(s)))<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span> .collect(Collectors.toList());<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span> if (serverList.isEmpty()) {<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span> return Collections.emptyList();<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span> }<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span> String highestVersion = Collections.max(serverList,<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span> (o1, o2) -> VersionInfo.compareVersion(o1.getSecond(), o2.getSecond())).getSecond();<a name="line.1882"></a>
-<span class="sourceLineNo">1883</span> return serverList.stream()<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span> .filter((p)->!p.getSecond().equals(highestVersion))<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span> .map(Pair::getFirst)<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span> .collect(Collectors.toList());<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span> }<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span><a name="line.1888"></a>
-<span class="sourceLineNo">1889</span> // ============================================================================================<a name="line.1889"></a>
-<span class="sourceLineNo">1890</span> // Server Helpers<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span> // ============================================================================================<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span> @Override<a name="line.1892"></a>
-<span class="sourceLineNo">1893</span> public void serverAdded(final ServerName serverName) {<a name="line.1893"></a>
-<span class="sourceLineNo">1894</span> }<a name="line.1894"></a>
-<span class="sourceLineNo">1895</span><a name="line.1895"></a>
-<span class="sourceLineNo">1896</span> @Override<a name="line.1896"></a>
-<span class="sourceLineNo">1897</span> public void serverRemoved(final ServerName serverName) {<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span> final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span> if (serverNode == null) return;<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span><a name="line.1900"></a>
-<span class="sourceLineNo">1901</span> // just in case, wake procedures waiting for this server report<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span> wakeServerReportEvent(serverNode);<a name="line.1902"></a>
-<span class="sourceLineNo">1903</span> }<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span><a name="line.1904"></a>
-<span class="sourceLineNo">1905</span> private void killRegionServer(final ServerStateNode serverNode) {<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span> master.getServerManager().expireServer(serverNode.getServerName());<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span> }<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span><a name="line.1908"></a>
-<span class="sourceLineNo">1909</span> @VisibleForTesting<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span> MasterServices getMaster() {<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span> return master;<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span> }<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>}<a name="line.1913"></a>
+<span class="sourceLineNo">1367</span> long pid = procExec.submitProcedure(new ServerCrashProcedure(procExec.getEnvironment(),<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span> serverName, shouldSplitWal, carryingMeta));<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span> LOG.debug("Added=" + serverName<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span> + " to dead servers, submitted shutdown handler to be executed meta=" + carryingMeta);<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span> return pid;<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span> }<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span><a name="line.1373"></a>
+<span class="sourceLineNo">1374</span> public void offlineRegion(final RegionInfo regionInfo) {<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span> // TODO used by MasterRpcServices<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span> RegionStateNode node = regionStates.getRegionStateNode(regionInfo);<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span> if (node != null) {<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span> node.offline();<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span> }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span> }<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span><a name="line.1381"></a>
+<span class="sourceLineNo">1382</span> public void onlineRegion(final RegionInfo regionInfo, final ServerName serverName) {<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span> // TODO used by TestSplitTransactionOnCluster.java<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span> }<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span><a name="line.1385"></a>
+<span class="sourceLineNo">1386</span> public Map<ServerName, List<RegionInfo>> getSnapShotOfAssignment(<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span> final Collection<RegionInfo> regions) {<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span> return regionStates.getSnapShotOfAssignment(regions);<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span> }<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span><a name="line.1390"></a>
+<span class="sourceLineNo">1391</span> // ============================================================================================<a name="line.1391"></a>
+<span class="sourceLineNo">1392</span> // TODO: UTILS/HELPERS?<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span> // ============================================================================================<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span> /**<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span> * Used by the client (via master) to identify if all regions have the schema updates<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span> *<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span> * @param tableName<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span> * @return Pair indicating the status of the alter command (pending/total)<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span> * @throws IOException<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span> */<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span> public Pair<Integer, Integer> getReopenStatus(TableName tableName) {<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span> if (isTableDisabled(tableName)) return new Pair<Integer, Integer>(0, 0);<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span><a name="line.1403"></a>
+<span class="sourceLineNo">1404</span> final List<RegionState> states = regionStates.getTableRegionStates(tableName);<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span> int ritCount = 0;<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span> for (RegionState regionState: states) {<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span> if (!regionState.isOpened()) ritCount++;<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span> }<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span> return new Pair<Integer, Integer>(ritCount, states.size());<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span> }<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span><a name="line.1411"></a>
+<span class="sourceLineNo">1412</span> // ============================================================================================<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span> // TODO: Region State In Transition<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span> // ============================================================================================<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span> public boolean hasRegionsInTransition() {<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span> return regionStates.hasRegionsInTransition();<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span> }<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span><a name="line.1418"></a>
+<span class="sourceLineNo">1419</span> public List<RegionStateNode> getRegionsInTransition() {<a name="line.1419"></a>
+<span class="sourceLineNo">1420</span> return regionStates.getRegionsInTransition();<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span> }<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span><a name="line.1422"></a>
+<span class="sourceLineNo">1423</span> public List<RegionInfo> getAssignedRegions() {<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span> return regionStates.getAssignedRegions();<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span> }<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span><a name="line.1426"></a>
+<span class="sourceLineNo">1427</span> public RegionInfo getRegionInfo(final byte[] regionName) {<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span> final RegionStateNode regionState = regionStates.getRegionStateNodeFromName(regionName);<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span> return regionState != null ? regionState.getRegionInfo() : null;<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span> }<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span><a name="line.1431"></a>
+<span class="sourceLineNo">1432</span> // ============================================================================================<a name="line.1432"></a>
+<span class="sourceLineNo">1433</span> // Expected states on region state transition.<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span> // Notice that there is expected states for transiting to OPENING state, this is because SCP.<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span> // See the comments in regionOpening method for more details.<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span> // ============================================================================================<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span> private static final State[] STATES_EXPECTED_ON_OPEN = {<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span> State.OPENING, // Normal case<a name="line.1438"></a>
+<span class="sourceLineNo">1439</span> State.OPEN // Retrying<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span> };<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span><a name="line.1441"></a>
+<span class="sourceLineNo">1442</span> private static final State[] STATES_EXPECTED_ON_CLOSING = {<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span> State.OPEN, // Normal case<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span> State.CLOSING, // Retrying<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span> State.SPLITTING, // Offline the split parent<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span> State.MERGING // Offline the merge parents<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span> };<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span><a name="line.1448"></a>
+<span class="sourceLineNo">1449</span> private static final State[] STATES_EXPECTED_ON_CLOSED = {<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span> State.CLOSING, // Normal case<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span> State.CLOSED // Retrying<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span> };<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span><a name="line.1453"></a>
+<span class="sourceLineNo">1454</span> // This is for manually scheduled region assign, can add other states later if we find out other<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span> // usages<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span> private static final State[] STATES_EXPECTED_ON_ASSIGN = { State.CLOSED, State.OFFLINE };<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span><a name="line.1457"></a>
+<span class="sourceLineNo">1458</span> // We only allow unassign or move a region which is in OPEN state.<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span> private static final State[] STATES_EXPECTED_ON_UNASSIGN_OR_MOVE = { State.OPEN };<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span><a name="line.1460"></a>
+<span class="sourceLineNo">1461</span> // ============================================================================================<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span> // Region Status update<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span> // Should only be called in TransitRegionStateProcedure<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span> // ============================================================================================<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span> private void transitStateAndUpdate(RegionStateNode regionNode, RegionState.State newState,<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span> RegionState.State... expectedStates) throws IOException {<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span> RegionState.State state = regionNode.getState();<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span> regionNode.transitionState(newState, expectedStates);<a name="line.1468"></a>
+<span class="sourceLineNo">1469</span> boolean succ = false;<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span> try {<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span> succ = true;<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span> } finally {<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span> if (!succ) {<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span> // revert<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span> regionNode.setState(state);<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span> }<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span> }<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span> }<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span><a name="line.1480"></a>
+<span class="sourceLineNo">1481</span> // should be called within the synchronized block of RegionStateNode<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span> void regionOpening(RegionStateNode regionNode) throws IOException {<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span> // As in SCP, for performance reason, there is no TRSP attached with this region, we will not<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span> // update the region state, which means that the region could be in any state when we want to<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span> // assign it after a RS crash. So here we do not pass the expectedStates parameter.<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span> transitStateAndUpdate(regionNode, State.OPENING);<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span> regionStates.addRegionToServer(regionNode);<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span> // update the operation count metrics<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span> metrics.incrementOperationCounter();<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span> }<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span><a name="line.1491"></a>
+<span class="sourceLineNo">1492</span> // should be called within the synchronized block of RegionStateNode.<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span> // The parameter 'giveUp' means whether we will try to open the region again, if it is true, then<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span> // we will persist the FAILED_OPEN state into hbase:meta.<a name="line.1494"></a>
+<span class="sourceLineNo">1495</span> void regionFailedOpen(RegionStateNode regionNode, boolean giveUp) throws IOException {<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span> RegionState.State state = regionNode.getState();<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span> ServerName regionLocation = regionNode.getRegionLocation();<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span> if (giveUp) {<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span> regionNode.setState(State.FAILED_OPEN);<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span> regionNode.setRegionLocation(null);<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span> boolean succ = false;<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span> try {<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span> succ = true;<a name="line.1504"></a>
+<span class="sourceLineNo">1505</span> } finally {<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span> if (!succ) {<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span> // revert<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span> regionNode.setState(state);<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span> regionNode.setRegionLocation(regionLocation);<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span> }<a name="line.1510"></a>
+<span class="sourceLineNo">1511</span> }<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span> }<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span> if (regionLocation != null) {<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span> regionStates.removeRegionFromServer(regionLocation, regionNode);<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span> }<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span> }<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span><a name="line.1517"></a>
+<span class="sourceLineNo">1518</span> // should be called within the synchronized block of RegionStateNode<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span> void regionOpened(RegionStateNode regionNode) throws IOException {<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span> // TODO: OPENING Updates hbase:meta too... we need to do both here and there?<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span> // That is a lot of hbase:meta writing.<a name="line.1521"></a>
+<span class="sourceLineNo">1522</span> transitStateAndUpdate(regionNode, State.OPEN, STATES_EXPECTED_ON_OPEN);<a name="line.1522"></a>
+<span class="sourceLineNo">1523</span> RegionInfo hri = regionNode.getRegionInfo();<a name="line.1523"></a>
+<span class="sourceLineNo">1524</span> if (isMetaRegion(hri)) {<a name="line.1524"></a>
+<span class="sourceLineNo">1525</span> // Usually we'd set a table ENABLED at this stage but hbase:meta is ALWAYs enabled, it<a name="line.1525"></a>
+<span class="sourceLineNo">1526</span> // can't be disabled -- so skip the RPC (besides... enabled is managed by TableStateManager<a name="line.1526"></a>
+<span class="sourceLineNo">1527</span> // which is backed by hbase:meta... Avoid setting ENABLED to avoid having to update state<a name="line.1527"></a>
+<span class="sourceLineNo">1528</span> // on table that contains state.<a name="line.1528"></a>
+<span class="sourceLineNo">1529</span> setMetaAssigned(hri, true);<a name="line.1529"></a>
+<span class="sourceLineNo">1530</span> }<a name="line.1530"></a>
+<span class="sourceLineNo">1531</span> regionStates.addRegionToServer(regionNode);<a name="line.1531"></a>
+<span class="sourceLineNo">1532</span> regionStates.removeFromFailedOpen(hri);<a name="line.1532"></a>
+<span class="sourceLineNo">1533</span> }<a name="line.1533"></a>
+<span class="sourceLineNo">1534</span><a name="line.1534"></a>
+<span class="sourceLineNo">1535</span> // should be called within the synchronized block of RegionStateNode<a name="line.1535"></a>
+<span class="sourceLineNo">1536</span> void regionClosing(RegionStateNode regionNode) throws IOException {<a name="line.1536"></a>
+<span class="sourceLineNo">1537</span> transitStateAndUpdate(regionNode, State.CLOSING, STATES_EXPECTED_ON_CLOSING);<a name="line.1537"></a>
+<span class="sourceLineNo">1538</span><a name="line.1538"></a>
+<span class="sourceLineNo">1539</span> RegionInfo hri = regionNode.getRegionInfo();<a name="line.1539"></a>
+<span class="sourceLineNo">1540</span> // Set meta has not initialized early. so people trying to create/edit tables will wait<a name="line.1540"></a>
+<span class="sourceLineNo">1541</span> if (isMetaRegion(hri)) {<a name="line.1541"></a>
+<span class="sourceLineNo">1542</span> setMetaAssigned(hri, false);<a name="line.1542"></a>
+<span class="sourceLineNo">1543</span> }<a name="line.1543"></a>
+<span class="sourceLineNo">1544</span> regionStates.addRegionToServer(regionNode);<a name="line.1544"></a>
+<span class="sourceLineNo">1545</span> // update the operation count metrics<a name="line.1545"></a>
+<span class="sourceLineNo">1546</span> metrics.incrementOperationCounter();<a name="line.1546"></a>
+<span class="sourceLineNo">1547</span> }<a name="line.1547"></a>
+<span class="sourceLineNo">1548</span><a name="line.1548"></a>
+<span class="sourceLineNo">1549</span> // should be called within the synchronized block of RegionStateNode<a name="line.1549"></a>
+<span class="sourceLineNo">1550</span> // The parameter 'normally' means whether we are closed cleanly, if it is true, then it means that<a name="line.1550"></a>
+<span class="sourceLineNo">1551</span> // we are closed due to a RS crash.<a name="line.1551"></a>
+<span class="sourceLineNo">1552</span> void regionClosed(RegionStateNode regionNode, boolean normally) throws IOException {<a name="line.1552"></a>
+<span class="sourceLineNo">1553</span> RegionState.State state = regionNode.getState();<a name="line.1553"></a>
+<span class="sourceLineNo">1554</span> ServerName regionLocation = regionNode.getRegionLocation();<a name="line.1554"></a>
+<span class="sourceLineNo">1555</span> if (normally) {<a name="line.1555"></a>
+<span class="sourceLineNo">1556</span> regionNode.transitionState(State.CLOSED, STATES_EXPECTED_ON_CLOSED);<a name="line.1556"></a>
+<span class="sourceLineNo">1557</span> } else {<a name="line.1557"></a>
+<span class="sourceLineNo">1558</span> // For SCP<a name="line.1558"></a>
+<span class="sourceLineNo">1559</span> regionNode.transitionState(State.ABNORMALLY_CLOSED);<a name="line.1559"></a>
+<span class="sourceLineNo">1560</span> }<a name="line.1560"></a>
+<span class="sourceLineNo">1561</span> regionNode.setRegionLocation(null);<a name="line.1561"></a>
+<span class="sourceLineNo">1562</span> boolean succ = false;<a name="line.1562"></a>
+<span class="sourceLineNo">1563</span> try {<a name="line.1563"></a>
+<span class="sourceLineNo">1564</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1564"></a>
+<span class="sourceLineNo">1565</span> succ = true;<a name="line.1565"></a>
+<span class="sourceLineNo">1566</span> } finally {<a name="line.1566"></a>
+<span class="sourceLineNo">1567</span> if (!succ) {<a name="line.1567"></a>
+<span class="sourceLineNo">1568</span> // revert<a name="line.1568"></a>
+<span class="sourceLineNo">1569</span> regionNode.setState(state);<a name="line.1569"></a>
+<span class="sourceLineNo">1570</span> regionNode.setRegionLocation(regionLocation);<a name="line.1570"></a>
+<span class="sourceLineNo">1571</span> }<a name="line.1571"></a>
+<span class="sourceLineNo">1572</span> }<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span> if (regionLocation != null) {<a name="line.1573"></a>
+<span class="sourceLineNo">1574</span> regionNode.setLastHost(regionLocation);<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span> regionStates.removeRegionFromServer(regionLocation, regionNode);<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span> }<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span> }<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span><a name="line.1578"></a>
+<span class="sourceLineNo">1579</span> public void markRegionAsSplit(final RegionInfo parent, final ServerName serverName,<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span> final RegionInfo daughterA, final RegionInfo daughterB) throws IOException {<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span> // Update hbase:meta. Parent will be marked offline and split up in hbase:meta.<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span> // The parent stays in regionStates until cleared when removed by CatalogJanitor.<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span> // Update its state in regionStates to it shows as offline and split when read<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span> // later figuring what regions are in a table and what are not: see<a name="line.1584"></a>
+<span class="sourceLineNo">1585</span> // regionStates#getRegionsOfTable<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span> final RegionStateNode node = regionStates.getOrCreateRegionStateNode(parent);<a name="line.1586"></a>
+<span class="sourceLineNo">1587</span> node.setState(State.SPLIT);<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span> final RegionStateNode nodeA = regionStates.getOrCreateRegionStateNode(daughterA);<a name="line.1588"></a>
+<span class="sourceLineNo">1589</span> nodeA.setState(State.SPLITTING_NEW);<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span> final RegionStateNode nodeB = regionStates.getOrCreateRegionStateNode(daughterB);<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span> nodeB.setState(State.SPLITTING_NEW);<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span><a name="line.1592"></a>
+<span class="sourceLineNo">1593</span> regionStateStore.splitRegion(parent, daughterA, daughterB, serverName);<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span> if (shouldAssignFavoredNodes(parent)) {<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span> List<ServerName> onlineServers = this.master.getServerManager().getOnlineServersList();<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span> ((FavoredNodesPromoter)getBalancer()).<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span> generateFavoredNodesForDaughter(onlineServers, parent, daughterA, daughterB);<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span> }<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span> }<a name="line.1599"></a>
+<span class="sourceLineNo">1600</span><a name="line.1600"></a>
+<span class="sourceLineNo">1601</span> /**<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span> * When called here, the merge has happened. The two merged regions have been<a name="line.1602"></a>
+<span class="sourceLineNo">1603</span> * unassigned and the above markRegionClosed has been called on each so they have been<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span> * disassociated from a hosting Server. The merged region will be open after this call. The<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span> * merged regions are removed from hbase:meta below> Later they are deleted from the filesystem<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span> * by the catalog janitor running against hbase:meta. It notices when the merged region no<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span> * longer holds references to the old regions.<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span> */<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span> public void markRegionAsMerged(final RegionInfo child, final ServerName serverName,<a name="line.1609"></a>
+<span class="sourceLineNo">1610</span> final RegionInfo mother, final RegionInfo father) throws IOException {<a name="line.1610"></a>
+<span class="sourceLineNo">1611</span> final RegionStateNode node = regionStates.getOrCreateRegionStateNode(child);<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span> node.setState(State.MERGED);<a name="line.1612"></a>
+<span class="sourceLineNo">1613</span> regionStates.deleteRegion(mother);<a name="line.1613"></a>
+<span class="sourceLineNo">1614</span> regionStates.deleteRegion(father);<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span> regionStateStore.mergeRegions(child, mother, father, serverName);<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span> if (shouldAssignFavoredNodes(child)) {<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span> ((FavoredNodesPromoter)getBalancer()).<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span> generateFavoredNodesForMergedRegion(child, mother, father);<a name="line.1618"></a>
+<span class="sourceLineNo">1619</span> }<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span> }<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span><a name="line.1621"></a>
+<span class="sourceLineNo">1622</span> /*<a name="line.1622"></a>
+<span class="sourceLineNo">1623</span> * Favored nodes should be applied only when FavoredNodes balancer is configured and the region<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span> * belongs to a non-system table.<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span> */<a name="line.1625"></a>
+<span class="sourceLineNo">1626</span> private boolean shouldAssignFavoredNodes(RegionInfo region) {<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span> return this.shouldAssignRegionsWithFavoredNodes &&<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span> FavoredNodesManager.isFavoredNodeApplicable(region);<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span> }<a name="line.1629"></a>
+<span class="sourceLineNo">1630</span><a name="line.1630"></a>
+<span class="sourceLineNo">1631</span> // ============================================================================================<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span> // Assign Queue (Assign/Balance)<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span> // ============================================================================================<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span> private final ArrayList<RegionStateNode> pendingAssignQueue = new ArrayList<RegionStateNode>();<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span> private final ReentrantLock assignQueueLock = new ReentrantLock();<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span> private final Condition assignQueueFullCond = assignQueueLock.newCondition();<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span><a name="line.1637"></a>
+<span class="sourceLineNo">1638</span> /**<a name="line.1638"></a>
+<span class="sourceLineNo">1639</span> * Add the assign operation to the assignment queue.<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span> * The pending assignment operation will be processed,<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span> * and each region will be assigned by a server using the balancer.<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span> */<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span> protected void queueAssign(final RegionStateNode regionNode) {<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span> regionNode.getProcedureEvent().suspend();<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span><a name="line.1645"></a>
+<span class="sourceLineNo">1646</span> // TODO: quick-start for meta and the other sys-tables?<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span> assignQueueLock.lock();<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span> try {<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span> pendingAssignQueue.add(regionNode);<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span> if (regionNode.isSystemTable() ||<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span> pendingAssignQueue.size() == 1 ||<a name="line.1651"></a>
+<span class="sourceLineNo">1652</span> pendingAssignQueue.size() >= assignDispatchWaitQueueMaxSize) {<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span> assignQueueFullCond.signal();<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span> }<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span> } finally {<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span> assignQueueLock.unlock();<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span> }<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span> }<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span><a name="line.1659"></a>
+<span class="sourceLineNo">1660</span> private void startAssignmentThread() {<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span> // Get Server Thread name. Sometimes the Server is mocked so may not implement HasThread.<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span> // For exampl
<TRUNCATED>
[07/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html
index 4365cc5..2cdee19 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html
@@ -26,2436 +26,2490 @@
<span class="sourceLineNo">018</span> */<a name="line.18"></a>
<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.master;<a name="line.19"></a>
<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.net.BindException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.net.InetAddress;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.net.InetSocketAddress;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.ArrayList;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.HashMap;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.HashSet;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.List;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.Map;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Map.Entry;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Set;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.stream.Collectors;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.conf.Configuration;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.ClusterMetricsBuilder;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.HConstants;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.Server;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.ServerMetrics;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.ServerMetricsBuilder;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.ServerName;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.TableName;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.MasterSwitchType;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.replication.ReplicationPeerConfigUtil;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.coprocessor.MasterCoprocessor;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.errorhandling.ForeignException;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.master.assignment.RegionStates;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.master.locking.LockProcedure;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.NonceProcedureRunnable;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManager;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.procedure2.LockType;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.procedure2.ProcedureUtil;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureException;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.VisibilityLabelsService;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.quotas.QuotaObserverChore;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.regionserver.RpcSchedulerFactory;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.security.User;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.security.access.AccessChecker;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.security.access.AccessController;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.security.access.Permission;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.security.visibility.VisibilityController;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.zookeeper.KeeperException;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.slf4j.Logger;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.slf4j.LoggerFactory;<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hbase.thirdparty.com.google.protobuf.RpcController;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hbase.thirdparty.com.google.protobuf.ServiceException;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionStoreSequenceIds;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockHeartbeatRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockHeartbeatResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockService;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ClearDeadServersRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ClearDeadServersResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DecommissionRegionServersRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DecommissionRegionServersResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableCatalogJanitorRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableCatalogJanitorResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetLocksRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetLocksResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProceduresRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProceduresResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateRequest;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateResponse;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.HbckService;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCatalogJanitorEnabledRequest;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCatalogJanitorEnabledResponse;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCleanerChoreEnabledRequest;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCleanerChoreEnabledResponse;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningRequest;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningResponse;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsNormalizerEnabledRequest;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsNormalizerEnabledResponse;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSplitOrMergeEnabledRequest;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSplitOrMergeEnabledResponse;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDecommissionedRegionServersRequest;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDecommissionedRegionServersResponse;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableDescriptorsByNamespaceRequest;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableDescriptorsByNamespaceResponse;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableNamesByNamespaceRequest;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableNamesByNamespaceResponse;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.210"></a>
-<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.215"></a>
-<span class="sourceLineNo">216</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyTableRequest;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyTableResponse;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.NormalizeRequest;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.NormalizeResponse;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RecommissionRegionServerRequest;<a name="line.225"></a>
-<span class="sourceLineNo">226</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RecommissionRegionServerResponse;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.228"></a>
-<span class="sourceLineNo">229</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCatalogScanRequest;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCatalogScanResponse;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCleanerChoreRequest;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCleanerChoreResponse;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SecurityCapabilitiesRequest;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SecurityCapabilitiesResponse;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetCleanerChoreRunningRequest;<a name="line.237"></a>
-<span class="sourceLineNo">238</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetCleanerChoreRunningResponse;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetNormalizerRunningRequest;<a name="line.239"></a>
-<span class="sourceLineNo">240</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetNormalizerRunningResponse;<a name="line.240"></a>
-<span class="sourceLineNo">241</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.242"></a>
-<span class="sourceLineNo">243</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetSplitOrMergeEnabledRequest;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetSplitOrMergeEnabledResponse;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetTableStateInMetaRequest;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ShutdownRequest;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ShutdownResponse;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SplitTableRegionRequest;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SplitTableRegionResponse;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.StopMasterRequest;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.StopMasterResponse;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesRequest;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse;<a name="line.259"></a>
-<span class="sourceLineNo">260</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse.NamespaceQuotaSnapshot;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse.TableQuotaSnapshot;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesRequest;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse.RegionSizes;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.FileArchiveNotificationRequest;<a name="line.265"></a>
-<span class="sourceLineNo">266</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.FileArchiveNotificationResponse;<a name="line.266"></a>
-<span class="sourceLineNo">267</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.GetLastFlushedSequenceIdRequest;<a name="line.267"></a>
-<span class="sourceLineNo">268</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.GetLastFlushedSequenceIdResponse;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerReportRequest;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerReportResponse;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupRequest;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStatusService;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionSpaceUse;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionSpaceUseReportRequest;<a name="line.275"></a>
-<span class="sourceLineNo">276</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionSpaceUseReportResponse;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RemoteProcedureResult;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportProcedureDoneRequest;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportProcedureDoneResponse;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRSFatalErrorRequest;<a name="line.280"></a>
-<span class="sourceLineNo">281</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRSFatalErrorResponse;<a name="line.281"></a>
-<span class="sourceLineNo">282</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRegionStateTransitionRequest;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRegionStateTransitionResponse;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.292"></a>
-<span class="sourceLineNo">293</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ReplicationState;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.TransitReplicationPeerSyncReplicationStateRequest;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.TransitReplicationPeerSyncReplicationStateResponse;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>/**<a name="line.303"></a>
-<span class="sourceLineNo">304</span> * Implements the master RPC services.<a name="line.304"></a>
-<span class="sourceLineNo">305</span> */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>@InterfaceAudience.Private<a name="line.306"></a>
-<span class="sourceLineNo">307</span>@SuppressWarnings("deprecation")<a name="line.307"></a>
-<span class="sourceLineNo">308</span>public class MasterRpcServices extends RSRpcServices<a name="line.308"></a>
-<span class="sourceLineNo">309</span> implements MasterService.BlockingInterface, RegionServerStatusService.BlockingInterface,<a name="line.309"></a>
-<span class="sourceLineNo">310</span> LockService.BlockingInterface, HbckService.BlockingInterface {<a name="line.310"></a>
-<span class="sourceLineNo">311</span> private static final Logger LOG = LoggerFactory.getLogger(MasterRpcServices.class.getName());<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private final HMaster master;<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span> /**<a name="line.315"></a>
-<span class="sourceLineNo">316</span> * @return Subset of configuration to pass initializing regionservers: e.g.<a name="line.316"></a>
-<span class="sourceLineNo">317</span> * the filesystem to use and root directory to use.<a name="line.317"></a>
-<span class="sourceLineNo">318</span> */<a name="line.318"></a>
-<span class="sourceLineNo">319</span> private RegionServerStartupResponse.Builder createConfigurationSubset() {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> RegionServerStartupResponse.Builder resp = addConfig(<a name="line.320"></a>
-<span class="sourceLineNo">321</span> RegionServerStartupResponse.newBuilder(), HConstants.HBASE_DIR);<a name="line.321"></a>
-<span class="sourceLineNo">322</span> resp = addConfig(resp, "fs.defaultFS");<a name="line.322"></a>
-<span class="sourceLineNo">323</span> return addConfig(resp, "hbase.master.info.port");<a name="line.323"></a>
-<span class="sourceLineNo">324</span> }<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span> private RegionServerStartupResponse.Builder addConfig(<a name="line.326"></a>
-<span class="sourceLineNo">327</span> final RegionServerStartupResponse.Builder resp, final String key) {<a name="line.327"></a>
-<span class="sourceLineNo">328</span> NameStringPair.Builder entry = NameStringPair.newBuilder()<a name="line.328"></a>
-<span class="sourceLineNo">329</span> .setName(key)<a name="line.329"></a>
-<span class="sourceLineNo">330</span> .setValue(master.getConfiguration().get(key));<a name="line.330"></a>
-<span class="sourceLineNo">331</span> resp.addMapEntries(entry.build());<a name="line.331"></a>
-<span class="sourceLineNo">332</span> return resp;<a name="line.332"></a>
-<span class="sourceLineNo">333</span> }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span> public MasterRpcServices(HMaster m) throws IOException {<a name="line.335"></a>
-<span class="sourceLineNo">336</span> super(m);<a name="line.336"></a>
-<span class="sourceLineNo">337</span> master = m;<a name="line.337"></a>
-<span class="sourceLineNo">338</span> }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span> @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span> protected Class<?> getRpcSchedulerFactoryClass() {<a name="line.341"></a>
-<span class="sourceLineNo">342</span> Configuration conf = getConfiguration();<a name="line.342"></a>
-<span class="sourceLineNo">343</span> if (conf != null) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return conf.getClass(MASTER_RPC_SCHEDULER_FACTORY_CLASS, super.getRpcSchedulerFactoryClass());<a name="line.344"></a>
-<span class="sourceLineNo">345</span> } else {<a name="line.345"></a>
-<span class="sourceLineNo">346</span> return super.getRpcSchedulerFactoryClass();<a name="line.346"></a>
-<span class="sourceLineNo">347</span> }<a name="line.347"></a>
-<span class="sourceLineNo">348</span> }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span> @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span> protected RpcServerInterface createRpcServer(Server server, Configuration conf,<a name="line.351"></a>
-<span class="sourceLineNo">352</span> RpcSchedulerFactory rpcSchedulerFactory, InetSocketAddress bindAddress, String name)<a name="line.352"></a>
-<span class="sourceLineNo">353</span> throws IOException {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> // RpcServer at HM by default enable ByteBufferPool iff HM having user table region in it<a name="line.354"></a>
-<span class="sourceLineNo">355</span> boolean reservoirEnabled = conf.getBoolean(RESERVOIR_ENABLED_KEY,<a name="line.355"></a>
-<span class="sourceLineNo">356</span> LoadBalancer.isMasterCanHostUserRegions(conf));<a name="line.356"></a>
-<span class="sourceLineNo">357</span> try {<a name="line.357"></a>
-<span class="sourceLineNo">358</span> return RpcServerFactory.createRpcServer(server, name, getServices(),<a name="line.358"></a>
-<span class="sourceLineNo">359</span> bindAddress, // use final bindAddress for this server.<a name="line.359"></a>
-<span class="sourceLineNo">360</span> conf, rpcSchedulerFactory.create(conf, this, server), reservoirEnabled);<a name="line.360"></a>
-<span class="sourceLineNo">361</span> } catch (BindException be) {<a name="line.361"></a>
-<span class="sourceLineNo">362</span> throw new IOException(be.getMessage() + ". To switch ports use the '"<a name="line.362"></a>
-<span class="sourceLineNo">363</span> + HConstants.MASTER_PORT + "' configuration property.",<a name="line.363"></a>
-<span class="sourceLineNo">364</span> be.getCause() != null ? be.getCause() : be);<a name="line.364"></a>
-<span class="sourceLineNo">365</span> }<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> @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span> protected PriorityFunction createPriority() {<a name="line.369"></a>
-<span class="sourceLineNo">370</span> return new MasterAnnotationReadingPriorityFunction(this);<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> /**<a name="line.373"></a>
-<span class="sourceLineNo">374</span> * Checks for the following pre-checks in order:<a name="line.374"></a>
-<span class="sourceLineNo">375</span> * <ol><a name="line.375"></a>
-<span class="sourceLineNo">376</span> * <li>Master is initialized</li><a name="line.376"></a>
-<span class="sourceLineNo">377</span> * <li>Rpc caller has admin permissions</li><a name="line.377"></a>
-<span class="sourceLineNo">378</span> * </ol><a name="line.378"></a>
-<span class="sourceLineNo">379</span> * @param requestName name of rpc request. Used in reporting failures to provide context.<a name="line.379"></a>
-<span class="sourceLineNo">380</span> * @throws ServiceException If any of the above listed pre-check fails.<a name="line.380"></a>
-<span class="sourceLineNo">381</span> */<a name="line.381"></a>
-<span class="sourceLineNo">382</span> private void rpcPreCheck(String requestName) throws ServiceException {<a name="line.382"></a>
-<span class="sourceLineNo">383</span> try {<a name="line.383"></a>
-<span class="sourceLineNo">384</span> master.checkInitialized();<a name="line.384"></a>
-<span class="sourceLineNo">385</span> requirePermission(requestName, Permission.Action.ADMIN);<a name="line.385"></a>
-<span class="sourceLineNo">386</span> } catch (IOException ioe) {<a name="line.386"></a>
-<span class="sourceLineNo">387</span> throw new ServiceException(ioe);<a name="line.387"></a>
-<span class="sourceLineNo">388</span> }<a name="line.388"></a>
-<span class="sourceLineNo">389</span> }<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span> enum BalanceSwitchMode {<a name="line.391"></a>
-<span class="sourceLineNo">392</span> SYNC,<a name="line.392"></a>
-<span class="sourceLineNo">393</span> ASYNC<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> * Assigns balancer switch according to BalanceSwitchMode<a name="line.397"></a>
-<span class="sourceLineNo">398</span> * @param b new balancer switch<a name="line.398"></a>
-<span class="sourceLineNo">399</span> * @param mode BalanceSwitchMode<a name="line.399"></a>
-<span class="sourceLineNo">400</span> * @return old balancer switch<a name="line.400"></a>
-<span class="sourceLineNo">401</span> */<a name="line.401"></a>
-<span class="sourceLineNo">402</span> boolean switchBalancer(final boolean b, BalanceSwitchMode mode) throws IOException {<a name="line.402"></a>
-<span class="sourceLineNo">403</span> boolean oldValue = master.loadBalancerTracker.isBalancerOn();<a name="line.403"></a>
-<span class="sourceLineNo">404</span> boolean newValue = b;<a name="line.404"></a>
-<span class="sourceLineNo">405</span> try {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> if (master.cpHost != null) {<a name="line.406"></a>
-<span class="sourceLineNo">407</span> master.cpHost.preBalanceSwitch(newValue);<a name="line.407"></a>
-<span class="sourceLineNo">408</span> }<a name="line.408"></a>
-<span class="sourceLineNo">409</span> try {<a name="line.409"></a>
-<span class="sourceLineNo">410</span> if (mode == BalanceSwitchMode.SYNC) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span> synchronized (master.getLoadBalancer()) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span> master.loadBalancerTracker.setBalancerOn(newValue);<a name="line.412"></a>
-<span class="sourceLineNo">413</span> }<a name="line.413"></a>
-<span class="sourceLineNo">414</span> } else {<a name="line.414"></a>
-<span class="sourceLineNo">415</span> master.loadBalancerTracker.setBalancerOn(newValue);<a name="line.415"></a>
-<span class="sourceLineNo">416</span> }<a name="line.416"></a>
-<span class="sourceLineNo">417</span> } catch (KeeperException ke) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span> throw new IOException(ke);<a name="line.418"></a>
-<span class="sourceLineNo">419</span> }<a name="line.419"></a>
-<span class="sourceLineNo">420</span> LOG.info(master.getClientIdAuditPrefix() + " set balanceSwitch=" + newValue);<a name="line.420"></a>
-<span class="sourceLineNo">421</span> if (master.cpHost != null) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> master.cpHost.postBalanceSwitch(oldValue, newValue);<a name="line.422"></a>
-<span class="sourceLineNo">423</span> }<a name="line.423"></a>
-<span class="sourceLineNo">424</span> master.getLoadBalancer().updateBalancerStatus(newValue);<a name="line.424"></a>
-<span class="sourceLineNo">425</span> } catch (IOException ioe) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span> LOG.warn("Error flipping balance switch", ioe);<a name="line.426"></a>
-<span class="sourceLineNo">427</span> }<a name="line.427"></a>
-<span class="sourceLineNo">428</span> return oldValue;<a name="line.428"></a>
-<span class="sourceLineNo">429</span> }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span> boolean synchronousBalanceSwitch(final boolean b) throws IOException {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return switchBalancer(b, BalanceSwitchMode.SYNC);<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span><a name="line.434"></a>
-<span class="sourceLineNo">435</span> /**<a name="line.435"></a>
-<span class="sourceLineNo">436</span> * @return list of blocking services and their security info classes that this server supports<a name="line.436"></a>
-<span class="sourceLineNo">437</span> */<a name="line.437"></a>
-<span class="sourceLineNo">438</span> @Override<a name="line.438"></a>
-<span class="sourceLineNo">439</span> protected List<BlockingServiceAndInterface> getServices() {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> List<BlockingServiceAndInterface> bssi = new ArrayList<>(5);<a name="line.440"></a>
-<span class="sourceLineNo">441</span> bssi.add(new BlockingServiceAndInterface(<a name="line.441"></a>
-<span class="sourceLineNo">442</span> MasterService.newReflectiveBlockingService(this),<a name="line.442"></a>
-<span class="sourceLineNo">443</span> MasterService.BlockingInterface.class));<a name="line.443"></a>
-<span class="sourceLineNo">444</span> bssi.add(new BlockingServiceAndInterface(<a name="line.444"></a>
-<span class="sourceLineNo">445</span> RegionServerStatusService.newReflectiveBlockingService(this),<a name="line.445"></a>
-<span class="sourceLineNo">446</span> RegionServerStatusService.BlockingInterface.class));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> bssi.add(new BlockingServiceAndInterface(LockService.newReflectiveBlockingService(this),<a name="line.447"></a>
-<span class="sourceLineNo">448</span> LockService.BlockingInterface.class));<a name="line.448"></a>
-<span class="sourceLineNo">449</span> bssi.add(new BlockingServiceAndInterface(HbckService.newReflectiveBlockingService(this),<a name="line.449"></a>
-<span class="sourceLineNo">450</span> HbckService.BlockingInterface.class));<a name="line.450"></a>
-<span class="sourceLineNo">451</span> bssi.addAll(super.getServices());<a name="line.451"></a>
-<span class="sourceLineNo">452</span> return bssi;<a name="line.452"></a>
-<span class="sourceLineNo">453</span> }<a name="line.453"></a>
-<span class="sourceLineNo">454</span><a name="line.454"></a>
-<span class="sourceLineNo">455</span> @Override<a name="line.455"></a>
-<span class="sourceLineNo">456</span> @QosPriority(priority = HConstants.ADMIN_QOS)<a name="line.456"></a>
-<span class="sourceLineNo">457</span> public GetLastFlushedSequenceIdResponse getLastFlushedSequenceId(RpcController controller,<a name="line.457"></a>
-<span class="sourceLineNo">458</span> GetLastFlushedSequenceIdRequest request) throws ServiceException {<a name="line.458"></a>
-<span class="sourceLineNo">459</span> try {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> master.checkServiceStarted();<a name="line.460"></a>
-<span class="sourceLineNo">461</span> } catch (IOException ioe) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span> throw new ServiceException(ioe);<a name="line.462"></a>
-<span class="sourceLineNo">463</span> }<a name="line.463"></a>
-<span class="sourceLineNo">464</span> byte[] encodedRegionName = request.getRegionName().toByteArray();<a name="line.464"></a>
-<span class="sourceLineNo">465</span> RegionStoreSequenceIds ids = master.getServerManager()<a name="line.465"></a>
-<span class="sourceLineNo">466</span> .getLastFlushedSequenceId(encodedRegionName);<a name="line.466"></a>
-<span class="sourceLineNo">467</span> return ResponseConverter.buildGetLastFlushedSequenceIdResponse(ids);<a name="line.467"></a>
-<span class="sourceLineNo">468</span> }<a name="line.468"></a>
-<span class="sourceLineNo">469</span><a name="line.469"></a>
-<span class="sourceLineNo">470</span> @Override<a name="line.470"></a>
-<span class="sourceLineNo">471</span> public RegionServerReportResponse regionServerReport(RpcController controller,<a name="line.471"></a>
-<span class="sourceLineNo">472</span> RegionServerReportRequest request) throws ServiceException {<a name="line.472"></a>
-<span class="sourceLineNo">473</span> try {<a name="line.473"></a>
-<span class="sourceLineNo">474</span> master.checkServiceStarted();<a name="line.474"></a>
-<span class="sourceLineNo">475</span> int versionNumber = 0;<a name="line.475"></a>
-<span class="sourceLineNo">476</span> String version = "0.0.0";<a name="line.476"></a>
-<span class="sourceLineNo">477</span> VersionInfo versionInfo = VersionInfoUtil.getCurrentClientVersionInfo();<a name="line.477"></a>
-<span class="sourceLineNo">478</span> if (versionInfo != null) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span> version = versionInfo.getVersion();<a name="line.479"></a>
-<span class="sourceLineNo">480</span> versionNumber = VersionInfoUtil.getVersionNumber(versionInfo);<a name="line.480"></a>
-<span class="sourceLineNo">481</span> }<a name="line.481"></a>
-<span class="sourceLineNo">482</span> ClusterStatusProtos.ServerLoad sl = request.getLoad();<a name="line.482"></a>
-<span class="sourceLineNo">483</span> ServerName serverName = ProtobufUtil.toServerName(request.getServer());<a name="line.483"></a>
-<span class="sourceLineNo">484</span> ServerMetrics oldLoad = master.getServerManager().getLoad(serverName);<a name="line.484"></a>
-<span class="sourceLineNo">485</span> ServerMetrics newLoad =<a name="line.485"></a>
-<span class="sourceLineNo">486</span> ServerMetricsBuilder.toServerMetrics(serverName, versionNumber, version, sl);<a name="line.486"></a>
-<span class="sourceLineNo">487</span> master.getServerManager().regionServerReport(serverName, newLoad);<a name="line.487"></a>
-<span class="sourceLineNo">488</span> master.getAssignmentManager().reportOnlineRegions(serverName,<a name="line.488"></a>
-<span class="sourceLineNo">489</span> newLoad.getRegionMetrics().keySet());<a name="line.489"></a>
-<span class="sourceLineNo">490</span> if (sl != null && master.metricsMaster != null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span> // Up our metrics.<a name="line.491"></a>
-<span class="sourceLineNo">492</span> master.metricsMaster.incrementRequests(<a name="line.492"></a>
-<span class="sourceLineNo">493</span> sl.getTotalNumberOfRequests() - (oldLoad != null ? oldLoad.getRequestCount() : 0));<a name="line.493"></a>
-<span class="sourceLineNo">494</span> }<a name="line.494"></a>
-<span class="sourceLineNo">495</span> } catch (IOException ioe) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span> throw new ServiceException(ioe);<a name="line.496"></a>
-<span class="sourceLineNo">497</span> }<a name="line.497"></a>
-<span class="sourceLineNo">498</span> return RegionServerReportResponse.newBuilder().build();<a name="line.498"></a>
-<span class="sourceLineNo">499</span> }<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span> @Override<a name="line.501"></a>
-<span class="sourceLineNo">502</span> public RegionServerStartupResponse regionServerStartup(RpcController controller,<a name="line.502"></a>
-<span class="sourceLineNo">503</span> RegionServerStartupRequest request) throws ServiceException {<a name="line.503"></a>
-<span class="sourceLineNo">504</span> // Register with server manager<a name="line.504"></a>
-<span class="sourceLineNo">505</span> try {<a name="line.505"></a>
-<span class="sourceLineNo">506</span> master.checkServiceStarted();<a name="line.506"></a>
-<span class="sourceLineNo">507</span> int versionNumber = 0;<a name="line.507"></a>
-<span class="sourceLineNo">508</span> String version = "0.0.0";<a name="line.508"></a>
-<span class="sourceLineNo">509</span> VersionInfo versionInfo = VersionInfoUtil.getCurrentClientVersionInfo();<a name="line.509"></a>
-<span class="sourceLineNo">510</span> if (versionInfo != null) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span> version = versionInfo.getVersion();<a name="line.511"></a>
-<span class="sourceLineNo">512</span> versionNumber = VersionInfoUtil.getVersionNumber(versionInfo);<a name="line.512"></a>
-<span class="sourceLineNo">513</span> }<a name="line.513"></a>
-<span class="sourceLineNo">514</span> InetAddress ia = master.getRemoteInetAddress(request.getPort(), request.getServerStartCode());<a name="line.514"></a>
-<span class="sourceLineNo">515</span> // if regionserver passed hostname to use,<a name="line.515"></a>
-<span class="sourceLineNo">516</span> // then use it instead of doing a reverse DNS lookup<a name="line.516"></a>
-<span class="sourceLineNo">517</span> ServerName rs =<a name="line.517"></a>
-<span class="sourceLineNo">518</span> master.getServerManager().regionServerStartup(request, versionNumber, version, ia);<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span> // Send back some config info<a name="line.520"></a>
-<span class="sourceLineNo">521</span> RegionServerStartupResponse.Builder resp = createConfigurationSubset();<a name="line.521"></a>
-<span class="sourceLineNo">522</span> NameStringPair.Builder entry = NameStringPair.newBuilder()<a name="line.522"></a>
-<span class="sourceLineNo">523</span> .setName(HConstants.KEY_FOR_HOSTNAME_SEEN_BY_MASTER).setValue(rs.getHostname());<a name="line.523"></a>
-<span class="sourceLineNo">524</span> resp.addMapEntries(entry.build());<a name="line.524"></a>
+<span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.master.MasterWalManager.META_FILTER;<a name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.net.BindException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.net.InetAddress;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.net.InetSocketAddress;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.HashMap;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.HashSet;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.List;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Map;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.Map.Entry;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.Set;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.stream.Collectors;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.conf.Configuration;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.fs.Path;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.ClusterMetricsBuilder;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.HConstants;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.Server;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ServerMetrics;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.ServerMetricsBuilder;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.ServerName;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.TableName;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.MasterSwitchType;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.replication.ReplicationPeerConfigUtil;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.coprocessor.MasterCoprocessor;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.errorhandling.ForeignException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.master.assignment.RegionStates;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.master.locking.LockProcedure;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.NonceProcedureRunnable;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.mob.MobUtils;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManager;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.procedure2.LockType;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.procedure2.ProcedureUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureException;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.AccessControlService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.VisibilityLabelsService;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.quotas.QuotaObserverChore;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.regionserver.RpcSchedulerFactory;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.security.User;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.security.access.AccessChecker;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.security.access.AccessController;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.security.access.Permission;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.security.visibility.VisibilityController;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.wal.AbstractFSWALProvider;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.zookeeper.KeeperException;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.slf4j.Logger;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.slf4j.LoggerFactory;<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hbase.thirdparty.com.google.protobuf.RpcController;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hbase.thirdparty.com.google.protobuf.ServiceException;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionStoreSequenceIds;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockHeartbeatRequest;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockHeartbeatResponse;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockRequest;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockResponse;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockService;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ClearDeadServersRequest;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ClearDeadServersResponse;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DecommissionRegionServersRequest;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DecommissionRegionServersResponse;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableCatalogJanitorRequest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableCatalogJanitorResponse;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetLocksRequest;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetLocksResponse;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProceduresRequest;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProceduresResponse;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateRequest;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateResponse;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.HbckService;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCatalogJanitorEnabledRequest;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCatalogJanitorEnabledResponse;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCleanerChoreEnabledRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCleanerChoreEnabledResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningRequest;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningResponse;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsNormalizerEnabledRequest;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsNormalizerEnabledResponse;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSplitOrMergeEnabledRequest;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSplitOrMergeEnabledResponse;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDecommissionedRegionServersRequest;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDecommissionedRegionServersResponse;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableDescriptorsByNamespaceRequest;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableDescriptorsByNamespaceResponse;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableNamesByNamespaceRequest;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableNamesByName
<TRUNCATED>
[06/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionChore.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionChore.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionChore.html
index 801dc55..5d3c5eb 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionChore.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionChore.html
@@ -1369,556 +1369,557 @@
<span class="sourceLineNo">1361</span> return 0;<a name="line.1361"></a>
<span class="sourceLineNo">1362</span> }<a name="line.1362"></a>
<span class="sourceLineNo">1363</span><a name="line.1363"></a>
-<span class="sourceLineNo">1364</span> public void submitServerCrash(final ServerName serverName, final boolean shouldSplitWal) {<a name="line.1364"></a>
+<span class="sourceLineNo">1364</span> public long submitServerCrash(final ServerName serverName, final boolean shouldSplitWal) {<a name="line.1364"></a>
<span class="sourceLineNo">1365</span> boolean carryingMeta = isCarryingMeta(serverName);<a name="line.1365"></a>
<span class="sourceLineNo">1366</span> ProcedureExecutor<MasterProcedureEnv> procExec = this.master.getMasterProcedureExecutor();<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span> procExec.submitProcedure(new ServerCrashProcedure(procExec.getEnvironment(), serverName,<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span> shouldSplitWal, carryingMeta));<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span> LOG.debug("Added=" + serverName +<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span> " to dead servers, submitted shutdown handler to be executed meta=" + carryingMeta);<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span> }<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span><a name="line.1372"></a>
-<span class="sourceLineNo">1373</span> public void offlineRegion(final RegionInfo regionInfo) {<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span> // TODO used by MasterRpcServices<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span> RegionStateNode node = regionStates.getRegionStateNode(regionInfo);<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span> if (node != null) {<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span> node.offline();<a name="line.1377"></a>
-<span class="sourceLineNo">1378</span> }<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span> }<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span><a name="line.1380"></a>
-<span class="sourceLineNo">1381</span> public void onlineRegion(final RegionInfo regionInfo, final ServerName serverName) {<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span> // TODO used by TestSplitTransactionOnCluster.java<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span> }<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span><a name="line.1384"></a>
-<span class="sourceLineNo">1385</span> public Map<ServerName, List<RegionInfo>> getSnapShotOfAssignment(<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span> final Collection<RegionInfo> regions) {<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span> return regionStates.getSnapShotOfAssignment(regions);<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span> }<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span><a name="line.1389"></a>
-<span class="sourceLineNo">1390</span> // ============================================================================================<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span> // TODO: UTILS/HELPERS?<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span> // ============================================================================================<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span> /**<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span> * Used by the client (via master) to identify if all regions have the schema updates<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span> *<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span> * @param tableName<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span> * @return Pair indicating the status of the alter command (pending/total)<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span> * @throws IOException<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span> */<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span> public Pair<Integer, Integer> getReopenStatus(TableName tableName) {<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span> if (isTableDisabled(tableName)) return new Pair<Integer, Integer>(0, 0);<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span><a name="line.1402"></a>
-<span class="sourceLineNo">1403</span> final List<RegionState> states = regionStates.getTableRegionStates(tableName);<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span> int ritCount = 0;<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span> for (RegionState regionState: states) {<a name="line.1405"></a>
-<span class="sourceLineNo">1406</span> if (!regionState.isOpened()) ritCount++;<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span> }<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span> return new Pair<Integer, Integer>(ritCount, states.size());<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span> }<a name="line.1409"></a>
-<span class="sourceLineNo">1410</span><a name="line.1410"></a>
-<span class="sourceLineNo">1411</span> // ============================================================================================<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span> // TODO: Region State In Transition<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span> // ============================================================================================<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span> public boolean hasRegionsInTransition() {<a name="line.1414"></a>
-<span class="sourceLineNo">1415</span> return regionStates.hasRegionsInTransition();<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span> }<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span><a name="line.1417"></a>
-<span class="sourceLineNo">1418</span> public List<RegionStateNode> getRegionsInTransition() {<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span> return regionStates.getRegionsInTransition();<a name="line.1419"></a>
-<span class="sourceLineNo">1420</span> }<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span><a name="line.1421"></a>
-<span class="sourceLineNo">1422</span> public List<RegionInfo> getAssignedRegions() {<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span> return regionStates.getAssignedRegions();<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span> }<a name="line.1424"></a>
-<span class="sourceLineNo">1425</span><a name="line.1425"></a>
-<span class="sourceLineNo">1426</span> public RegionInfo getRegionInfo(final byte[] regionName) {<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span> final RegionStateNode regionState = regionStates.getRegionStateNodeFromName(regionName);<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span> return regionState != null ? regionState.getRegionInfo() : null;<a name="line.1428"></a>
-<span class="sourceLineNo">1429</span> }<a name="line.1429"></a>
-<span class="sourceLineNo">1430</span><a name="line.1430"></a>
-<span class="sourceLineNo">1431</span> // ============================================================================================<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span> // Expected states on region state transition.<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span> // Notice that there is expected states for transiting to OPENING state, this is because SCP.<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span> // See the comments in regionOpening method for more details.<a name="line.1434"></a>
-<span class="sourceLineNo">1435</span> // ============================================================================================<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span> private static final State[] STATES_EXPECTED_ON_OPEN = {<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span> State.OPENING, // Normal case<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span> State.OPEN // Retrying<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span> };<a name="line.1439"></a>
-<span class="sourceLineNo">1440</span><a name="line.1440"></a>
-<span class="sourceLineNo">1441</span> private static final State[] STATES_EXPECTED_ON_CLOSING = {<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span> State.OPEN, // Normal case<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span> State.CLOSING, // Retrying<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span> State.SPLITTING, // Offline the split parent<a name="line.1444"></a>
-<span class="sourceLineNo">1445</span> State.MERGING // Offline the merge parents<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span> };<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span><a name="line.1447"></a>
-<span class="sourceLineNo">1448</span> private static final State[] STATES_EXPECTED_ON_CLOSED = {<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span> State.CLOSING, // Normal case<a name="line.1449"></a>
-<span class="sourceLineNo">1450</span> State.CLOSED // Retrying<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span> };<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span><a name="line.1452"></a>
-<span class="sourceLineNo">1453</span> // This is for manually scheduled region assign, can add other states later if we find out other<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span> // usages<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span> private static final State[] STATES_EXPECTED_ON_ASSIGN = { State.CLOSED, State.OFFLINE };<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span><a name="line.1456"></a>
-<span class="sourceLineNo">1457</span> // We only allow unassign or move a region which is in OPEN state.<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span> private static final State[] STATES_EXPECTED_ON_UNASSIGN_OR_MOVE = { State.OPEN };<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span><a name="line.1459"></a>
-<span class="sourceLineNo">1460</span> // ============================================================================================<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span> // Region Status update<a name="line.1461"></a>
-<span class="sourceLineNo">1462</span> // Should only be called in TransitRegionStateProcedure<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span> // ============================================================================================<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span> private void transitStateAndUpdate(RegionStateNode regionNode, RegionState.State newState,<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span> RegionState.State... expectedStates) throws IOException {<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span> RegionState.State state = regionNode.getState();<a name="line.1466"></a>
-<span class="sourceLineNo">1467</span> regionNode.transitionState(newState, expectedStates);<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span> boolean succ = false;<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span> try {<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span> succ = true;<a name="line.1471"></a>
-<span class="sourceLineNo">1472</span> } finally {<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span> if (!succ) {<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span> // revert<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span> regionNode.setState(state);<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span> }<a name="line.1476"></a>
-<span class="sourceLineNo">1477</span> }<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span> }<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span><a name="line.1479"></a>
-<span class="sourceLineNo">1480</span> // should be called within the synchronized block of RegionStateNode<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span> void regionOpening(RegionStateNode regionNode) throws IOException {<a name="line.1481"></a>
-<span class="sourceLineNo">1482</span> // As in SCP, for performance reason, there is no TRSP attached with this region, we will not<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span> // update the region state, which means that the region could be in any state when we want to<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span> // assign it after a RS crash. So here we do not pass the expectedStates parameter.<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span> transitStateAndUpdate(regionNode, State.OPENING);<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span> regionStates.addRegionToServer(regionNode);<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span> // update the operation count metrics<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span> metrics.incrementOperationCounter();<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span> }<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span><a name="line.1490"></a>
-<span class="sourceLineNo">1491</span> // should be called within the synchronized block of RegionStateNode.<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span> // The parameter 'giveUp' means whether we will try to open the region again, if it is true, then<a name="line.1492"></a>
-<span class="sourceLineNo">1493</span> // we will persist the FAILED_OPEN state into hbase:meta.<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span> void regionFailedOpen(RegionStateNode regionNode, boolean giveUp) throws IOException {<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span> RegionState.State state = regionNode.getState();<a name="line.1495"></a>
-<span class="sourceLineNo">1496</span> ServerName regionLocation = regionNode.getRegionLocation();<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span> if (giveUp) {<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span> regionNode.setState(State.FAILED_OPEN);<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span> regionNode.setRegionLocation(null);<a name="line.1499"></a>
-<span class="sourceLineNo">1500</span> boolean succ = false;<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span> try {<a name="line.1501"></a>
-<span class="sourceLineNo">1502</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span> succ = true;<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span> } finally {<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span> if (!succ) {<a name="line.1505"></a>
-<span class="sourceLineNo">1506</span> // revert<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span> regionNode.setState(state);<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span> regionNode.setRegionLocation(regionLocation);<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span> }<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span> }<a name="line.1510"></a>
-<span class="sourceLineNo">1511</span> }<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span> if (regionLocation != null) {<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span> regionStates.removeRegionFromServer(regionLocation, regionNode);<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span> }<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span> }<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span><a name="line.1516"></a>
-<span class="sourceLineNo">1517</span> // should be called within the synchronized block of RegionStateNode<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span> void regionOpened(RegionStateNode regionNode) throws IOException {<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span> // TODO: OPENING Updates hbase:meta too... we need to do both here and there?<a name="line.1519"></a>
-<span class="sourceLineNo">1520</span> // That is a lot of hbase:meta writing.<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span> transitStateAndUpdate(regionNode, State.OPEN, STATES_EXPECTED_ON_OPEN);<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span> RegionInfo hri = regionNode.getRegionInfo();<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span> if (isMetaRegion(hri)) {<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span> // Usually we'd set a table ENABLED at this stage but hbase:meta is ALWAYs enabled, it<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span> // can't be disabled -- so skip the RPC (besides... enabled is managed by TableStateManager<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span> // which is backed by hbase:meta... Avoid setting ENABLED to avoid having to update state<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span> // on table that contains state.<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span> setMetaAssigned(hri, true);<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span> }<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span> regionStates.addRegionToServer(regionNode);<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span> regionStates.removeFromFailedOpen(hri);<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span> }<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span><a name="line.1533"></a>
-<span class="sourceLineNo">1534</span> // should be called within the synchronized block of RegionStateNode<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span> void regionClosing(RegionStateNode regionNode) throws IOException {<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span> transitStateAndUpdate(regionNode, State.CLOSING, STATES_EXPECTED_ON_CLOSING);<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span><a name="line.1537"></a>
-<span class="sourceLineNo">1538</span> RegionInfo hri = regionNode.getRegionInfo();<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span> // Set meta has not initialized early. so people trying to create/edit tables will wait<a name="line.1539"></a>
-<span class="sourceLineNo">1540</span> if (isMetaRegion(hri)) {<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span> setMetaAssigned(hri, false);<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span> }<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span> regionStates.addRegionToServer(regionNode);<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span> // update the operation count metrics<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span> metrics.incrementOperationCounter();<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span> }<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span><a name="line.1547"></a>
-<span class="sourceLineNo">1548</span> // should be called within the synchronized block of RegionStateNode<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span> // The parameter 'normally' means whether we are closed cleanly, if it is true, then it means that<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span> // we are closed due to a RS crash.<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span> void regionClosed(RegionStateNode regionNode, boolean normally) throws IOException {<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span> RegionState.State state = regionNode.getState();<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span> ServerName regionLocation = regionNode.getRegionLocation();<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span> if (normally) {<a name="line.1554"></a>
-<span class="sourceLineNo">1555</span> regionNode.transitionState(State.CLOSED, STATES_EXPECTED_ON_CLOSED);<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span> } else {<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span> // For SCP<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span> regionNode.transitionState(State.ABNORMALLY_CLOSED);<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span> }<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span> regionNode.setRegionLocation(null);<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span> boolean succ = false;<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span> try {<a name="line.1562"></a>
-<span class="sourceLineNo">1563</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span> succ = true;<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span> } finally {<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span> if (!succ) {<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span> // revert<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span> regionNode.setState(state);<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span> regionNode.setRegionLocation(regionLocation);<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span> }<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span> }<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span> if (regionLocation != null) {<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span> regionNode.setLastHost(regionLocation);<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span> regionStates.removeRegionFromServer(regionLocation, regionNode);<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span> }<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span> }<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span><a name="line.1577"></a>
-<span class="sourceLineNo">1578</span> public void markRegionAsSplit(final RegionInfo parent, final ServerName serverName,<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span> final RegionInfo daughterA, final RegionInfo daughterB) throws IOException {<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span> // Update hbase:meta. Parent will be marked offline and split up in hbase:meta.<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span> // The parent stays in regionStates until cleared when removed by CatalogJanitor.<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span> // Update its state in regionStates to it shows as offline and split when read<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span> // later figuring what regions are in a table and what are not: see<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span> // regionStates#getRegionsOfTable<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span> final RegionStateNode node = regionStates.getOrCreateRegionStateNode(parent);<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span> node.setState(State.SPLIT);<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span> final RegionStateNode nodeA = regionStates.getOrCreateRegionStateNode(daughterA);<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span> nodeA.setState(State.SPLITTING_NEW);<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span> final RegionStateNode nodeB = regionStates.getOrCreateRegionStateNode(daughterB);<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span> nodeB.setState(State.SPLITTING_NEW);<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span><a name="line.1591"></a>
-<span class="sourceLineNo">1592</span> regionStateStore.splitRegion(parent, daughterA, daughterB, serverName);<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span> if (shouldAssignFavoredNodes(parent)) {<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span> List<ServerName> onlineServers = this.master.getServerManager().getOnlineServersList();<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span> ((FavoredNodesPromoter)getBalancer()).<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span> generateFavoredNodesForDaughter(onlineServers, parent, daughterA, daughterB);<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span> }<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span> }<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span><a name="line.1599"></a>
-<span class="sourceLineNo">1600</span> /**<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span> * When called here, the merge has happened. The two merged regions have been<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span> * unassigned and the above markRegionClosed has been called on each so they have been<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span> * disassociated from a hosting Server. The merged region will be open after this call. The<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span> * merged regions are removed from hbase:meta below> Later they are deleted from the filesystem<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span> * by the catalog janitor running against hbase:meta. It notices when the merged region no<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span> * longer holds references to the old regions.<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span> */<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span> public void markRegionAsMerged(final RegionInfo child, final ServerName serverName,<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span> final RegionInfo mother, final RegionInfo father) throws IOException {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span> final RegionStateNode node = regionStates.getOrCreateRegionStateNode(child);<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span> node.setState(State.MERGED);<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span> regionStates.deleteRegion(mother);<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span> regionStates.deleteRegion(father);<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span> regionStateStore.mergeRegions(child, mother, father, serverName);<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span> if (shouldAssignFavoredNodes(child)) {<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span> ((FavoredNodesPromoter)getBalancer()).<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span> generateFavoredNodesForMergedRegion(child, mother, father);<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span> }<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span> }<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span><a name="line.1620"></a>
-<span class="sourceLineNo">1621</span> /*<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span> * Favored nodes should be applied only when FavoredNodes balancer is configured and the region<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span> * belongs to a non-system table.<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span> */<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span> private boolean shouldAssignFavoredNodes(RegionInfo region) {<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span> return this.shouldAssignRegionsWithFavoredNodes &&<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span> FavoredNodesManager.isFavoredNodeApplicable(region);<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span> }<a name="line.1628"></a>
-<span class="sourceLineNo">1629</span><a name="line.1629"></a>
-<span class="sourceLineNo">1630</span> // ============================================================================================<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span> // Assign Queue (Assign/Balance)<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span> // ============================================================================================<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span> private final ArrayList<RegionStateNode> pendingAssignQueue = new ArrayList<RegionStateNode>();<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span> private final ReentrantLock assignQueueLock = new ReentrantLock();<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span> private final Condition assignQueueFullCond = assignQueueLock.newCondition();<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span><a name="line.1636"></a>
-<span class="sourceLineNo">1637</span> /**<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span> * Add the assign operation to the assignment queue.<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span> * The pending assignment operation will be processed,<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span> * and each region will be assigned by a server using the balancer.<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span> */<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span> protected void queueAssign(final RegionStateNode regionNode) {<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span> regionNode.getProcedureEvent().suspend();<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span><a name="line.1644"></a>
-<span class="sourceLineNo">1645</span> // TODO: quick-start for meta and the other sys-tables?<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span> assignQueueLock.lock();<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span> try {<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span> pendingAssignQueue.add(regionNode);<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span> if (regionNode.isSystemTable() ||<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span> pendingAssignQueue.size() == 1 ||<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span> pendingAssignQueue.size() >= assignDispatchWaitQueueMaxSize) {<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span> assignQueueFullCond.signal();<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span> }<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span> } finally {<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span> assignQueueLock.unlock();<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span> }<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span> }<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span><a name="line.1658"></a>
-<span class="sourceLineNo">1659</span> private void startAssignmentThread() {<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span> // Get Server Thread name. Sometimes the Server is mocked so may not implement HasThread.<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span> // For example, in tests.<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span> String name = master instanceof HasThread? ((HasThread)master).getName():<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span> master.getServerName().toShortString();<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span> assignThread = new Thread(name) {<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span> @Override<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span> public void run() {<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span> while (isRunning()) {<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span> processAssignQueue();<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span> }<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span> pendingAssignQueue.clear();<a name="line.1670"></a>
-<span class="sourceLineNo">1671</span> }<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span> };<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span> assignThread.setDaemon(true);<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span> assignThread.start();<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span> }<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span><a name="line.1676"></a>
-<span class="sourceLineNo">1677</span> private void stopAssignmentThread() {<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span> assignQueueSignal();<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span> try {<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span> while (assignThread.isAlive()) {<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span> assignQueueSignal();<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span> assignThread.join(250);<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span> }<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span> } catch (InterruptedException e) {<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span> LOG.warn("join interrupted", e);<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span> Thread.currentThread().interrupt();<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span> }<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span> }<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span><a name="line.1689"></a>
-<span class="sourceLineNo">1690</span> private void assignQueueSignal() {<a name="line.1690"></a>
-<span class="sourceLineNo">1691</span> assignQueueLock.lock();<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span> try {<a name="line.1692"></a>
-<span class="sourceLineNo">1693</span> assignQueueFullCond.signal();<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span> } finally {<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span> assignQueueLock.unlock();<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span> }<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span> }<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span><a name="line.1698"></a>
-<span class="sourceLineNo">1699</span> @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span> private HashMap<RegionInfo, RegionStateNode> waitOnAssignQueue() {<a name="line.1700"></a>
-<span class="sourceLineNo">1701</span> HashMap<RegionInfo, RegionStateNode> regions = null;<a name="line.1701"></a>
-<span class="sourceLineNo">1702</span><a name="line.1702"></a>
-<span class="sourceLineNo">1703</span> assignQueueLock.lock();<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span> try {<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span> if (pendingAssignQueue.isEmpty() && isRunning()) {<a name="line.1705"></a>
-<span class="sourceLineNo">1706</span> assignQueueFullCond.await();<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span> }<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span><a name="line.1708"></a>
-<span class="sourceLineNo">1709</span> if (!isRunning()) return null;<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span> assignQueueFullCond.await(assignDispatchWaitMillis, TimeUnit.MILLISECONDS);<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span> regions = new HashMap<RegionInfo, RegionStateNode>(pendingAssignQueue.size());<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span> for (RegionStateNode regionNode: pendingAssignQueue) {<a name="line.1712"></a>
-<span class="sourceLineNo">1713</span> regions.put(regionNode.getRegionInfo(), regionNode);<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span> }<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span> pendingAssignQueue.clear();<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span> } catch (InterruptedException e) {<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span> LOG.warn("got interrupted ", e);<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span> Thread.currentThread().interrupt();<a name="line.1718"></a>
-<span class="sourceLineNo">1719</span> } finally {<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span> assignQueueLock.unlock();<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span> }<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span> return regions;<a name="line.1722"></a>
-<span class="sourceLineNo">1723</span> }<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span><a name="line.1724"></a>
-<span class="sourceLineNo">1725</span> private void processAssignQueue() {<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span> final HashMap<RegionInfo, RegionStateNode> regions = waitOnAssignQueue();<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span> if (regions == null || regions.size() == 0 || !isRunning()) {<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span> return;<a name="line.1728"></a>
-<span class="sourceLineNo">1729</span> }<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span><a name="line.1730"></a>
-<span class="sourceLineNo">1731</span> if (LOG.isTraceEnabled()) {<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span> LOG.trace("PROCESS ASSIGN QUEUE regionCount=" + regions.size());<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span> }<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span><a name="line.1734"></a>
-<span class="sourceLineNo">1735</span> // TODO: Optimize balancer. pass a RegionPlan?<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span> final HashMap<RegionInfo, ServerName> retainMap = new HashMap<>();<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span> final List<RegionInfo> userHRIs = new ArrayList<>(regions.size());<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span> // Regions for system tables requiring reassignment<a name="line.1738"></a>
-<span class="sourceLineNo">1739</span> final List<RegionInfo> systemHRIs = new ArrayList<>();<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span> for (RegionStateNode regionStateNode: regions.values()) {<a name="line.1740"></a>
-<span class="sourceLineNo">1741</span> boolean sysTable = regionStateNode.isSystemTable();<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span> final List<RegionInfo> hris = sysTable? systemHRIs: userHRIs;<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span> if (regionStateNode.getRegionLocation() != null) {<a name="line.1743"></a>
-<span class="sourceLineNo">1744</span> retainMap.put(regionStateNode.getRegionInfo(), regionStateNode.getRegionLocation());<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span> } else {<a name="line.1745"></a>
-<span class="sourceLineNo">1746</span> hris.add(regionStateNode.getRegionInfo());<a name="line.1746"></a>
-<span class="sourceLineNo">1747</span> }<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span> }<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span><a name="line.1749"></a>
-<span class="sourceLineNo">1750</span> // TODO: connect with the listener to invalidate the cache<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span><a name="line.1751"></a>
-<span class="sourceLineNo">1752</span> // TODO use events<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span> List<ServerName> servers = master.getServerManager().createDestinationServersList();<a name="line.1753"></a>
-<span class="sourceLineNo">1754</span> for (int i = 0; servers.size() < 1; ++i) {<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span> // Report every fourth time around this loop; try not to flood log.<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span> if (i % 4 == 0) {<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span> LOG.warn("No servers available; cannot place " + regions.size() + " unassigned regions.");<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span> }<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span><a name="line.1759"></a>
-<span class="sourceLineNo">1760</span> if (!isRunning()) {<a name="line.1760"></a>
-<span class="sourceLineNo">1761</span> LOG.debug("Stopped! Dropping assign of " + regions.size() + " queued regions.");<a name="line.1761"></a>
-<span class="sourceLineNo">1762</span> return;<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span> }<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span> Threads.sleep(250);<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span> servers = master.getServerManager().createDestinationServersList();<a name="line.1765"></a>
-<span class="sourceLineNo">1766</span> }<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span><a name="line.1767"></a>
-<span class="sourceLineNo">1768</span> if (!systemHRIs.isEmpty()) {<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span> // System table regions requiring reassignment are present, get region servers<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span> // not available for system table regions<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span> final List<ServerName> excludeServers = getExcludedServersForSystemTable();<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span> List<ServerName> serversForSysTables = servers.stream()<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span> .filter(s -> !excludeServers.contains(s)).collect(Collectors.toList());<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span> if (serversForSysTables.isEmpty()) {<a name="line.1774"></a>
-<span class="sourceLineNo">1775</span> LOG.warn("Filtering old server versions and the excluded produced an empty set; " +<a name="line.1775"></a>
-<span class="sourceLineNo">1776</span> "instead considering all candidate servers!");<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span> }<a name="line.1777"></a>
-<span class="sourceLineNo">1778</span> LOG.debug("Processing assignQueue; systemServersCount=" + serversForSysTables.size() +<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span> ", allServersCount=" + servers.size());<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span> processAssignmentPlans(regions, null, systemHRIs,<a name="line.1780"></a>
-<span class="sourceLineNo">1781</span> serversForSysTables.isEmpty()? servers: serversForSysTables);<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span> }<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span><a name="line.1783"></a>
-<span class="sourceLineNo">1784</span> processAssignmentPlans(regions, retainMap, userHRIs, servers);<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span> }<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span><a name="line.1786"></a>
-<span class="sourceLineNo">1787</span> private void processAssignmentPlans(final HashMap<RegionInfo, RegionStateNode> regions,<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span> final HashMap<RegionInfo, ServerName> retainMap, final List<RegionInfo> hris,<a name="line.1788"></a>
-<span class="sourceLineNo">1789</span> final List<ServerName> servers) {<a name="line.1789"></a>
-<span class="sourceLineNo">1790</span> boolean isTraceEnabled = LOG.isTraceEnabled();<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span> if (isTraceEnabled) {<a name="line.1791"></a>
-<span class="sourceLineNo">1792</span> LOG.trace("Available servers count=" + servers.size() + ": " + servers);<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span> }<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span><a name="line.1794"></a>
-<span class="sourceLineNo">1795</span> final LoadBalancer balancer = getBalancer();<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span> // ask the balancer where to place regions<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span> if (retainMap != null && !retainMap.isEmpty()) {<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span> if (isTraceEnabled) {<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span> LOG.trace("retain assign regions=" + retainMap);<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span> }<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span> try {<a name="line.1801"></a>
-<span class="sourceLineNo">1802</span> acceptPlan(regions, balancer.retainAssignment(retainMap, servers));<a name="line.1802"></a>
-<span class="sourceLineNo">1803</span> } catch (HBaseIOException e) {<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span> LOG.warn("unable to retain assignment", e);<a name="line.1804"></a>
-<span class="sourceLineNo">1805</span> addToPendingAssignment(regions, retainMap.keySet());<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span> }<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span> }<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span><a name="line.1808"></a>
-<span class="sourceLineNo">1809</span> // TODO: Do we need to split retain and round-robin?<a name="line.1809"></a>
-<span class="sourceLineNo">1810</span> // the retain seems to fallback to round-robin/random if the region is not in the map.<a name="line.1810"></a>
-<span class="sourceLineNo">1811</span> if (!hris.isEmpty()) {<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span> Collections.sort(hris, RegionInfo.COMPARATOR);<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span> if (isTraceEnabled) {<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span> LOG.trace("round robin regions=" + hris);<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span> }<a name="line.1815"></a>
-<span class="sourceLineNo">1816</span> try {<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span> acceptPlan(regions, balancer.roundRobinAssignment(hris, servers));<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span> } catch (HBaseIOException e) {<a name="line.1818"></a>
-<span class="sourceLineNo">1819</span> LOG.warn("unable to round-robin assignment", e);<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span> addToPendingAssignment(regions, hris);<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span> }<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span> }<a name="line.1822"></a>
-<span class="sourceLineNo">1823</span> }<a name="line.1823"></a>
-<span class="sourceLineNo">1824</span><a name="line.1824"></a>
-<span class="sourceLineNo">1825</span> private void acceptPlan(final HashMap<RegionInfo, RegionStateNode> regions,<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span> final Map<ServerName, List<RegionInfo>> plan) throws HBaseIOException {<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span> final ProcedureEvent<?>[] events = new ProcedureEvent[regions.size()];<a name="line.1827"></a>
-<span class="sourceLineNo">1828</span> final long st = System.currentTimeMillis();<a name="line.1828"></a>
-<span class="sourceLineNo">1829</span><a name="line.1829"></a>
-<span class="sourceLineNo">1830</span> if (plan == null) {<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span> throw new HBaseIOException("unable to compute plans for regions=" + regions.size());<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span> }<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span><a name="line.1833"></a>
-<span class="sourceLineNo">1834</span> if (plan.isEmpty()) return;<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span><a name="line.1835"></a>
-<span class="sourceLineNo">1836</span> int evcount = 0;<a name="line.1836"></a>
-<span class="sourceLineNo">1837</span> for (Map.Entry<ServerName, List<RegionInfo>> entry: plan.entrySet()) {<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span> final ServerName server = entry.getKey();<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span> for (RegionInfo hri: entry.getValue()) {<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span> final RegionStateNode regionNode = regions.get(hri);<a name="line.1840"></a>
-<span class="sourceLineNo">1841</span> regionNode.setRegionLocation(server);<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span> events[evcount++] = regionNode.getProcedureEvent();<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span> }<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span> }<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span> ProcedureEvent.wakeEvents(getProcedureScheduler(), events);<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span><a name="line.1846"></a>
-<span class="sourceLineNo">1847</span> final long et = System.currentTimeMillis();<a name="line.1847"></a>
-<span class="sourceLineNo">1848</span> if (LOG.isTraceEnabled()) {<a name="line.1848"></a>
-<span class="sourceLineNo">1849</span> LOG.trace("ASSIGN ACCEPT " + events.length + " -> " +<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span> StringUtils.humanTimeDiff(et - st));<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span> }<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span> }<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span><a name="line.1853"></a>
-<span class="sourceLineNo">1854</span> private void addToPendingAssignment(final HashMap<RegionInfo, RegionStateNode> regions,<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span> final Collection<RegionInfo> pendingRegions) {<a name="line.1855"></a>
-<span class="sourceLineNo">1856</span> assignQueueLock.lock();<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span> try {<a name="line.1857"></a>
-<span class="sourceLineNo">1858</span> for (RegionInfo hri: pendingRegions) {<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span> pendingAssignQueue.add(regions.get(hri));<a name="line.1859"></a>
-<span class="sourceLineNo">1860</span> }<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span> } finally {<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span> assignQueueLock.unlock();<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span> }<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span> }<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span><a name="line.1865"></a>
-<span class="sourceLineNo">1866</span> /**<a name="line.1866"></a>
-<span class="sourceLineNo">1867</span> * Get a list of servers that this region cannot be assigned to.<a name="line.1867"></a>
-<span class="sourceLineNo">1868</span> * For system tables, we must assign them to a server with highest version.<a name="line.1868"></a>
-<span class="sourceLineNo">1869</span> */<a name="line.1869"></a>
-<span class="sourceLineNo">1870</span> public List<ServerName> getExcludedServersForSystemTable() {<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span> // TODO: This should be a cached list kept by the ServerManager rather than calculated on each<a name="line.1871"></a>
-<span class="sourceLineNo">1872</span> // move or system region assign. The RegionServerTracker keeps list of online Servers with<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span> // RegionServerInfo that includes Version.<a name="line.1873"></a>
-<span class="sourceLineNo">1874</span> List<Pair<ServerName, String>> serverList = master.getServerManager().getOnlineServersList()<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span> .stream()<a name="line.1875"></a>
-<span class="sourceLineNo">1876</span> .map((s)->new Pair<>(s, master.getRegionServerVersion(s)))<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span> .collect(Collectors.toList());<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span> if (serverList.isEmpty()) {<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span> return Collections.emptyList();<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span> }<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span> String highestVersion = Collections.max(serverList,<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span> (o1, o2) -> VersionInfo.compareVersion(o1.getSecond(), o2.getSecond())).getSecond();<a name="line.1882"></a>
-<span class="sourceLineNo">1883</span> return serverList.stream()<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span> .filter((p)->!p.getSecond().equals(highestVersion))<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span> .map(Pair::getFirst)<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span> .collect(Collectors.toList());<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span> }<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span><a name="line.1888"></a>
-<span class="sourceLineNo">1889</span> // ============================================================================================<a name="line.1889"></a>
-<span class="sourceLineNo">1890</span> // Server Helpers<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span> // ============================================================================================<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span> @Override<a name="line.1892"></a>
-<span class="sourceLineNo">1893</span> public void serverAdded(final ServerName serverName) {<a name="line.1893"></a>
-<span class="sourceLineNo">1894</span> }<a name="line.1894"></a>
-<span class="sourceLineNo">1895</span><a name="line.1895"></a>
-<span class="sourceLineNo">1896</span> @Override<a name="line.1896"></a>
-<span class="sourceLineNo">1897</span> public void serverRemoved(final ServerName serverName) {<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span> final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span> if (serverNode == null) return;<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span><a name="line.1900"></a>
-<span class="sourceLineNo">1901</span> // just in case, wake procedures waiting for this server report<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span> wakeServerReportEvent(serverNode);<a name="line.1902"></a>
-<span class="sourceLineNo">1903</span> }<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span><a name="line.1904"></a>
-<span class="sourceLineNo">1905</span> private void killRegionServer(final ServerStateNode serverNode) {<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span> master.getServerManager().expireServer(serverNode.getServerName());<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span> }<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span><a name="line.1908"></a>
-<span class="sourceLineNo">1909</span> @VisibleForTesting<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span> MasterServices getMaster() {<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span> return master;<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span> }<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>}<a name="line.1913"></a>
+<span class="sourceLineNo">1367</span> long pid = procExec.submitProcedure(new ServerCrashProcedure(procExec.getEnvironment(),<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span> serverName, shouldSplitWal, carryingMeta));<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span> LOG.debug("Added=" + serverName<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span> + " to dead servers, submitted shutdown handler to be executed meta=" + carryingMeta);<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span> return pid;<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span> }<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span><a name="line.1373"></a>
+<span class="sourceLineNo">1374</span> public void offlineRegion(final RegionInfo regionInfo) {<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span> // TODO used by MasterRpcServices<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span> RegionStateNode node = regionStates.getRegionStateNode(regionInfo);<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span> if (node != null) {<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span> node.offline();<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span> }<a name="line.1379"></a>
+<span class="sourceLineNo">1380</span> }<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span><a name="line.1381"></a>
+<span class="sourceLineNo">1382</span> public void onlineRegion(final RegionInfo regionInfo, final ServerName serverName) {<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span> // TODO used by TestSplitTransactionOnCluster.java<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span> }<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span><a name="line.1385"></a>
+<span class="sourceLineNo">1386</span> public Map<ServerName, List<RegionInfo>> getSnapShotOfAssignment(<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span> final Collection<RegionInfo> regions) {<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span> return regionStates.getSnapShotOfAssignment(regions);<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span> }<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span><a name="line.1390"></a>
+<span class="sourceLineNo">1391</span> // ============================================================================================<a name="line.1391"></a>
+<span class="sourceLineNo">1392</span> // TODO: UTILS/HELPERS?<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span> // ============================================================================================<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span> /**<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span> * Used by the client (via master) to identify if all regions have the schema updates<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span> *<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span> * @param tableName<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span> * @return Pair indicating the status of the alter command (pending/total)<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span> * @throws IOException<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span> */<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span> public Pair<Integer, Integer> getReopenStatus(TableName tableName) {<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span> if (isTableDisabled(tableName)) return new Pair<Integer, Integer>(0, 0);<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span><a name="line.1403"></a>
+<span class="sourceLineNo">1404</span> final List<RegionState> states = regionStates.getTableRegionStates(tableName);<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span> int ritCount = 0;<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span> for (RegionState regionState: states) {<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span> if (!regionState.isOpened()) ritCount++;<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span> }<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span> return new Pair<Integer, Integer>(ritCount, states.size());<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span> }<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span><a name="line.1411"></a>
+<span class="sourceLineNo">1412</span> // ============================================================================================<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span> // TODO: Region State In Transition<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span> // ============================================================================================<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span> public boolean hasRegionsInTransition() {<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span> return regionStates.hasRegionsInTransition();<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span> }<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span><a name="line.1418"></a>
+<span class="sourceLineNo">1419</span> public List<RegionStateNode> getRegionsInTransition() {<a name="line.1419"></a>
+<span class="sourceLineNo">1420</span> return regionStates.getRegionsInTransition();<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span> }<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span><a name="line.1422"></a>
+<span class="sourceLineNo">1423</span> public List<RegionInfo> getAssignedRegions() {<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span> return regionStates.getAssignedRegions();<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span> }<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span><a name="line.1426"></a>
+<span class="sourceLineNo">1427</span> public RegionInfo getRegionInfo(final byte[] regionName) {<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span> final RegionStateNode regionState = regionStates.getRegionStateNodeFromName(regionName);<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span> return regionState != null ? regionState.getRegionInfo() : null;<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span> }<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span><a name="line.1431"></a>
+<span class="sourceLineNo">1432</span> // ============================================================================================<a name="line.1432"></a>
+<span class="sourceLineNo">1433</span> // Expected states on region state transition.<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span> // Notice that there is expected states for transiting to OPENING state, this is because SCP.<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span> // See the comments in regionOpening method for more details.<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span> // ============================================================================================<a name="line.1436"></a>
+<span class="sourceLineNo">1437</span> private static final State[] STATES_EXPECTED_ON_OPEN = {<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span> State.OPENING, // Normal case<a name="line.1438"></a>
+<span class="sourceLineNo">1439</span> State.OPEN // Retrying<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span> };<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span><a name="line.1441"></a>
+<span class="sourceLineNo">1442</span> private static final State[] STATES_EXPECTED_ON_CLOSING = {<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span> State.OPEN, // Normal case<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span> State.CLOSING, // Retrying<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span> State.SPLITTING, // Offline the split parent<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span> State.MERGING // Offline the merge parents<a name="line.1446"></a>
+<span class="sourceLineNo">1447</span> };<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span><a name="line.1448"></a>
+<span class="sourceLineNo">1449</span> private static final State[] STATES_EXPECTED_ON_CLOSED = {<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span> State.CLOSING, // Normal case<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span> State.CLOSED // Retrying<a name="line.1451"></a>
+<span class="sourceLineNo">1452</span> };<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span><a name="line.1453"></a>
+<span class="sourceLineNo">1454</span> // This is for manually scheduled region assign, can add other states later if we find out other<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span> // usages<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span> private static final State[] STATES_EXPECTED_ON_ASSIGN = { State.CLOSED, State.OFFLINE };<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span><a name="line.1457"></a>
+<span class="sourceLineNo">1458</span> // We only allow unassign or move a region which is in OPEN state.<a name="line.1458"></a>
+<span class="sourceLineNo">1459</span> private static final State[] STATES_EXPECTED_ON_UNASSIGN_OR_MOVE = { State.OPEN };<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span><a name="line.1460"></a>
+<span class="sourceLineNo">1461</span> // ============================================================================================<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span> // Region Status update<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span> // Should only be called in TransitRegionStateProcedure<a name="line.1463"></a>
+<span class="sourceLineNo">1464</span> // ============================================================================================<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span> private void transitStateAndUpdate(RegionStateNode regionNode, RegionState.State newState,<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span> RegionState.State... expectedStates) throws IOException {<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span> RegionState.State state = regionNode.getState();<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span> regionNode.transitionState(newState, expectedStates);<a name="line.1468"></a>
+<span class="sourceLineNo">1469</span> boolean succ = false;<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span> try {<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span> succ = true;<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span> } finally {<a name="line.1473"></a>
+<span class="sourceLineNo">1474</span> if (!succ) {<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span> // revert<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span> regionNode.setState(state);<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span> }<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span> }<a name="line.1478"></a>
+<span class="sourceLineNo">1479</span> }<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span><a name="line.1480"></a>
+<span class="sourceLineNo">1481</span> // should be called within the synchronized block of RegionStateNode<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span> void regionOpening(RegionStateNode regionNode) throws IOException {<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span> // As in SCP, for performance reason, there is no TRSP attached with this region, we will not<a name="line.1483"></a>
+<span class="sourceLineNo">1484</span> // update the region state, which means that the region could be in any state when we want to<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span> // assign it after a RS crash. So here we do not pass the expectedStates parameter.<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span> transitStateAndUpdate(regionNode, State.OPENING);<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span> regionStates.addRegionToServer(regionNode);<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span> // update the operation count metrics<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span> metrics.incrementOperationCounter();<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span> }<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span><a name="line.1491"></a>
+<span class="sourceLineNo">1492</span> // should be called within the synchronized block of RegionStateNode.<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span> // The parameter 'giveUp' means whether we will try to open the region again, if it is true, then<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span> // we will persist the FAILED_OPEN state into hbase:meta.<a name="line.1494"></a>
+<span class="sourceLineNo">1495</span> void regionFailedOpen(RegionStateNode regionNode, boolean giveUp) throws IOException {<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span> RegionState.State state = regionNode.getState();<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span> ServerName regionLocation = regionNode.getRegionLocation();<a name="line.1497"></a>
+<span class="sourceLineNo">1498</span> if (giveUp) {<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span> regionNode.setState(State.FAILED_OPEN);<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span> regionNode.setRegionLocation(null);<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span> boolean succ = false;<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span> try {<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1503"></a>
+<span class="sourceLineNo">1504</span> succ = true;<a name="line.1504"></a>
+<span class="sourceLineNo">1505</span> } finally {<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span> if (!succ) {<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span> // revert<a name="line.1507"></a>
+<span class="sourceLineNo">1508</span> regionNode.setState(state);<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span> regionNode.setRegionLocation(regionLocation);<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span> }<a name="line.1510"></a>
+<span class="sourceLineNo">1511</span> }<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span> }<a name="line.1512"></a>
+<span class="sourceLineNo">1513</span> if (regionLocation != null) {<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span> regionStates.removeRegionFromServer(regionLocation, regionNode);<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span> }<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span> }<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span><a name="line.1517"></a>
+<span class="sourceLineNo">1518</span> // should be called within the synchronized block of RegionStateNode<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span> void regionOpened(RegionStateNode regionNode) throws IOException {<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span> // TODO: OPENING Updates hbase:meta too... we need to do both here and there?<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span> // That is a lot of hbase:meta writing.<a name="line.1521"></a>
+<span class="sourceLineNo">1522</span> transitStateAndUpdate(regionNode, State.OPEN, STATES_EXPECTED_ON_OPEN);<a name="line.1522"></a>
+<span class="sourceLineNo">1523</span> RegionInfo hri = regionNode.getRegionInfo();<a name="line.1523"></a>
+<span class="sourceLineNo">1524</span> if (isMetaRegion(hri)) {<a name="line.1524"></a>
+<span class="sourceLineNo">1525</span> // Usually we'd set a table ENABLED at this stage but hbase:meta is ALWAYs enabled, it<a name="line.1525"></a>
+<span class="sourceLineNo">1526</span> // can't be disabled -- so skip the RPC (besides... enabled is managed by TableStateManager<a name="line.1526"></a>
+<span class="sourceLineNo">1527</span> // which is backed by hbase:meta... Avoid setting ENABLED to avoid having to update state<a name="line.1527"></a>
+<span class="sourceLineNo">1528</span> // on table that contains state.<a name="line.1528"></a>
+<span class="sourceLineNo">1529</span> setMetaAssigned(hri, true);<a name="line.1529"></a>
+<span class="sourceLineNo">1530</span> }<a name="line.1530"></a>
+<span class="sourceLineNo">1531</span> regionStates.addRegionToServer(regionNode);<a name="line.1531"></a>
+<span class="sourceLineNo">1532</span> regionStates.removeFromFailedOpen(hri);<a name="line.1532"></a>
+<span class="sourceLineNo">1533</span> }<a name="line.1533"></a>
+<span class="sourceLineNo">1534</span><a name="line.1534"></a>
+<span class="sourceLineNo">1535</span> // should be called within the synchronized block of RegionStateNode<a name="line.1535"></a>
+<span class="sourceLineNo">1536</span> void regionClosing(RegionStateNode regionNode) throws IOException {<a name="line.1536"></a>
+<span class="sourceLineNo">1537</span> transitStateAndUpdate(regionNode, State.CLOSING, STATES_EXPECTED_ON_CLOSING);<a name="line.1537"></a>
+<span class="sourceLineNo">1538</span><a name="line.1538"></a>
+<span class="sourceLineNo">1539</span> RegionInfo hri = regionNode.getRegionInfo();<a name="line.1539"></a>
+<span class="sourceLineNo">1540</span> // Set meta has not initialized early. so people trying to create/edit tables will wait<a name="line.1540"></a>
+<span class="sourceLineNo">1541</span> if (isMetaRegion(hri)) {<a name="line.1541"></a>
+<span class="sourceLineNo">1542</span> setMetaAssigned(hri, false);<a name="line.1542"></a>
+<span class="sourceLineNo">1543</span> }<a name="line.1543"></a>
+<span class="sourceLineNo">1544</span> regionStates.addRegionToServer(regionNode);<a name="line.1544"></a>
+<span class="sourceLineNo">1545</span> // update the operation count metrics<a name="line.1545"></a>
+<span class="sourceLineNo">1546</span> metrics.incrementOperationCounter();<a name="line.1546"></a>
+<span class="sourceLineNo">1547</span> }<a name="line.1547"></a>
+<span class="sourceLineNo">1548</span><a name="line.1548"></a>
+<span class="sourceLineNo">1549</span> // should be called within the synchronized block of RegionStateNode<a name="line.1549"></a>
+<span class="sourceLineNo">1550</span> // The parameter 'normally' means whether we are closed cleanly, if it is true, then it means that<a name="line.1550"></a>
+<span class="sourceLineNo">1551</span> // we are closed due to a RS crash.<a name="line.1551"></a>
+<span class="sourceLineNo">1552</span> void regionClosed(RegionStateNode regionNode, boolean normally) throws IOException {<a name="line.1552"></a>
+<span class="sourceLineNo">1553</span> RegionState.State state = regionNode.getState();<a name="line.1553"></a>
+<span class="sourceLineNo">1554</span> ServerName regionLocation = regionNode.getRegionLocation();<a name="line.1554"></a>
+<span class="sourceLineNo">1555</span> if (normally) {<a name="line.1555"></a>
+<span class="sourceLineNo">1556</span> regionNode.transitionState(State.CLOSED, STATES_EXPECTED_ON_CLOSED);<a name="line.1556"></a>
+<span class="sourceLineNo">1557</span> } else {<a name="line.1557"></a>
+<span class="sourceLineNo">1558</span> // For SCP<a name="line.1558"></a>
+<span class="sourceLineNo">1559</span> regionNode.transitionState(State.ABNORMALLY_CLOSED);<a name="line.1559"></a>
+<span class="sourceLineNo">1560</span> }<a name="line.1560"></a>
+<span class="sourceLineNo">1561</span> regionNode.setRegionLocation(null);<a name="line.1561"></a>
+<span class="sourceLineNo">1562</span> boolean succ = false;<a name="line.1562"></a>
+<span class="sourceLineNo">1563</span> try {<a name="line.1563"></a>
+<span class="sourceLineNo">1564</span> regionStateStore.updateRegionLocation(regionNode);<a name="line.1564"></a>
+<span class="sourceLineNo">1565</span> succ = true;<a name="line.1565"></a>
+<span class="sourceLineNo">1566</span> } finally {<a name="line.1566"></a>
+<span class="sourceLineNo">1567</span> if (!succ) {<a name="line.1567"></a>
+<span class="sourceLineNo">1568</span> // revert<a name="line.1568"></a>
+<span class="sourceLineNo">1569</span> regionNode.setState(state);<a name="line.1569"></a>
+<span class="sourceLineNo">1570</span> regionNode.setRegionLocation(regionLocation);<a name="line.1570"></a>
+<span class="sourceLineNo">1571</span> }<a name="line.1571"></a>
+<span class="sourceLineNo">1572</span> }<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span> if (regionLocation != null) {<a name="line.1573"></a>
+<span class="sourceLineNo">1574</span> regionNode.setLastHost(regionLocation);<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span> regionStates.removeRegionFromServer(regionLocation, regionNode);<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span> }<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span> }<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span><a name="line.1578"></a>
+<span class="sourceLineNo">1579</span> public void markRegionAsSplit(final RegionInfo parent, final ServerName serverName,<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span> final RegionInfo daughterA, final RegionInfo daughterB) throws IOException {<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span> // Update hbase:meta. Parent will be marked offline and split up in hbase:meta.<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span> // The parent stays in regionStates until cleared when removed by CatalogJanitor.<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span> // Update its state in regionStates to it shows as offline and split when read<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span> // later figuring what regions are in a table and what are not: see<a name="line.1584"></a>
+<span class="sourceLineNo">1585</span> // regionStates#getRegionsOfTable<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span> final RegionStateNode node = regionStates.getOrCreateRegionStateNode(parent);<a name="line.1586"></a>
+<span class="sourceLineNo">1587</span> node.setState(State.SPLIT);<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span> final RegionStateNode nodeA = regionStates.getOrCreateRegionStateNode(daughterA);<a name="line.1588"></a>
+<span class="sourceLineNo">1589</span> nodeA.setState(State.SPLITTING_NEW);<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span> final RegionStateNode nodeB = regionStates.getOrCreateRegionStateNode(daughterB);<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span> nodeB.setState(State.SPLITTING_NEW);<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span><a name="line.1592"></a>
+<span class="sourceLineNo">1593</span> regionStateStore.splitRegion(parent, daughterA, daughterB, serverName);<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span> if (shouldAssignFavoredNodes(parent)) {<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span> List<ServerName> onlineServers = this.master.getServerManager().getOnlineServersList();<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span> ((FavoredNodesPromoter)getBalancer()).<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span> generateFavoredNodesForDaughter(onlineServers, parent, daughterA, daughterB);<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span> }<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span> }<a name="line.1599"></a>
+<span class="sourceLineNo">1600</span><a name="line.1600"></a>
+<span class="sourceLineNo">1601</span> /**<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span> * When called here, the merge has happened. The two merged regions have been<a name="line.1602"></a>
+<span class="sourceLineNo">1603</span> * unassigned and the above markRegionClosed has been called on each so they have been<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span> * disassociated from a hosting Server. The merged region will be open after this call. The<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span> * merged regions are removed from hbase:meta below> Later they are deleted from the filesystem<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span> * by the catalog janitor running against hbase:meta. It notices when the merged region no<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span> * longer holds references to the old regions.<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span> */<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span> public void markRegionAsMerged(final RegionInfo child, final ServerName serverName,<a name="line.1609"></a>
+<span class="sourceLineNo">1610</span> final RegionInfo mother, final RegionInfo father) throws IOException {<a name="line.1610"></a>
+<span class="sourceLineNo">1611</span> final RegionStateNode node = regionStates.getOrCreateRegionStateNode(child);<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span> node.setState(State.MERGED);<a name="line.1612"></a>
+<span class="sourceLineNo">1613</span> regionStates.deleteRegion(mother);<a name="line.1613"></a>
+<span class="sourceLineNo">1614</span> regionStates.deleteRegion(father);<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span> regionStateStore.mergeRegions(child, mother, father, serverName);<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span> if (shouldAssignFavoredNodes(child)) {<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span> ((FavoredNodesPromoter)getBalancer()).<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span> generateFavoredNodesForMergedRegion(child, mother, father);<a name="line.1618"></a>
+<span class="sourceLineNo">1619</span> }<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span> }<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span><a name="line.1621"></a>
+<span class="sourceLineNo">1622</span> /*<a name="line.1622"></a>
+<span class="sourceLineNo">1623</span> * Favored nodes should be applied only when FavoredNodes balancer is configured and the region<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span> * belongs to a non-system table.<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span> */<a name="line.1625"></a>
+<span class="sourceLineNo">1626</span> private boolean shouldAssignFavoredNodes(RegionInfo region) {<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span> return this.shouldAssignRegionsWithFavoredNodes &&<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span> FavoredNodesManager.isFavoredNodeApplicable(region);<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span> }<a name="line.1629"></a>
+<span class="sourceLineNo">1630</span><a name="line.1630"></a>
+<span class="sourceLineNo">1631</span> // ============================================================================================<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span> // Assign Queue (Assign/Balance)<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span> // ============================================================================================<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span> private final ArrayList<RegionStateNode> pendingAssignQueue = new ArrayList<RegionStateNode>();<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span> private final ReentrantLock assignQueueLock = new ReentrantLock();<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span> private final Condition assignQueueFullCond = assignQueueLock.newCondition();<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span><a name="line.1637"></a>
+<span class="sourceLineNo">1638</span> /**<a name="line.1638"></a>
+<span class="sourceLineNo">1639</span> * Add the assign operation to the assignment queue.<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span> * The pending assignment operation will be processed,<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span> * and each region will be assigned by a server using the balancer.<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span> */<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span> protected void queueAssign(final RegionStateNode regionNode) {<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span> regionNode.getProcedureEvent().suspend();<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span><a name="line.1645"></a>
+<span class="sourceLineNo">1646</span> // TODO: quick-start for meta and the other sys-tables?<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span> assignQueueLock.lock();<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span> try {<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span> pendingAssignQueue.add(regionNode);<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span> if (regionNode.isSystemTable() ||<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span> pendingAssignQueue.size() == 1 ||<a name="line.1651"></a>
+<span class="sourceLineNo">1652</span> pendingAssignQueue.size() >= assignDispatchWaitQueueMaxSize) {<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span> assignQueueFullCond.signal();<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span> }<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span> } finally {<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span> assignQueueLock.unlock();<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span> }<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span> }<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span><a name="line.1659"></a>
+<span class="sourceLineNo">1660</span> private void startAssignmentThread() {<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span> // Get Server Thread name. Sometimes the Server is mocked so may not implement HasThread.<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span> // For e
<TRUNCATED>
[18/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
Published site at 02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Project: http://git-wip-us.apache.org/repos/asf/hbase-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase-site/commit/2752c924
Tree: http://git-wip-us.apache.org/repos/asf/hbase-site/tree/2752c924
Diff: http://git-wip-us.apache.org/repos/asf/hbase-site/diff/2752c924
Branch: refs/heads/asf-site
Commit: 2752c92441d0242a51157b1861ae30a1486333e8
Parents: 51db083
Author: jenkins <bu...@apache.org>
Authored: Tue Oct 30 14:54:09 2018 +0000
Committer: jenkins <bu...@apache.org>
Committed: Tue Oct 30 14:54:09 2018 +0000
----------------------------------------------------------------------
acid-semantics.html | 4 +-
apache_hbase_reference_guide.pdf | 4 +-
book.html | 2 +-
bulk-loads.html | 4 +-
checkstyle-aggregate.html | 48 +-
checkstyle.rss | 16 +-
coc.html | 4 +-
dependencies.html | 4 +-
dependency-convergence.html | 4 +-
dependency-info.html | 4 +-
dependency-management.html | 4 +-
devapidocs/allclasses-frame.html | 1 +
devapidocs/allclasses-noframe.html | 1 +
devapidocs/constant-values.html | 4 +-
devapidocs/index-all.html | 37 +-
.../hadoop/hbase/backup/package-tree.html | 2 +-
.../hadoop/hbase/class-use/ServerName.html | 108 +-
.../apache/hadoop/hbase/client/HBaseHbck.html | 56 +-
.../org/apache/hadoop/hbase/client/Hbck.html | 40 +-
.../hadoop/hbase/client/package-tree.html | 24 +-
.../hadoop/hbase/coprocessor/package-tree.html | 2 +-
.../hadoop/hbase/filter/package-tree.html | 10 +-
.../hadoop/hbase/io/hfile/package-tree.html | 4 +-
.../apache/hadoop/hbase/ipc/package-tree.html | 2 +-
.../hadoop/hbase/mapreduce/package-tree.html | 4 +-
.../MasterRpcServices.BalanceSwitchMode.html | 6 +-
.../hadoop/hbase/master/MasterRpcServices.html | 469 +-
.../master/assignment/AssignmentManager.html | 82 +-
.../hbase/master/balancer/package-tree.html | 2 +-
.../hadoop/hbase/master/package-tree.html | 4 +-
.../procedure/PeerProcedureInterface.html | 2 +-
.../procedure/class-use/MasterProcedureEnv.html | 8 +-
.../class-use/PeerProcedureInterface.html | 29 +-
.../hbase/master/procedure/package-tree.html | 2 +-
.../AbstractPeerNoLockProcedure.html | 596 +++
.../replication/AbstractPeerProcedure.html | 274 +-
.../master/replication/AddPeerProcedure.html | 34 +-
.../replication/DisablePeerProcedure.html | 34 +-
.../master/replication/EnablePeerProcedure.html | 34 +-
.../master/replication/ModifyPeerProcedure.html | 25 +-
.../replication/RecoverStandbyProcedure.html | 22 +-
.../master/replication/RemovePeerProcedure.html | 34 +-
.../SyncReplicationReplayWALProcedure.html | 24 +-
...ransitPeerSyncReplicationStateProcedure.html | 34 +-
.../replication/UpdatePeerConfigProcedure.html | 34 +-
.../class-use/AbstractPeerNoLockProcedure.html | 218 +
.../class-use/AbstractPeerProcedure.html | 8 -
.../hbase/master/replication/package-frame.html | 1 +
.../master/replication/package-summary.html | 35 +-
.../hbase/master/replication/package-tree.html | 6 +-
.../hbase/master/replication/package-use.html | 14 +-
.../hadoop/hbase/monitoring/package-tree.html | 2 +-
.../org/apache/hadoop/hbase/package-tree.html | 16 +-
.../hbase/procedure2/StateMachineProcedure.html | 2 +-
.../hbase/procedure2/class-use/Procedure.html | 29 +-
.../class-use/ProcedureStateSerializer.html | 4 +-
.../class-use/ProcedureSuspendedException.html | 4 +-
.../class-use/StateMachineProcedure.html | 25 +-
.../hadoop/hbase/procedure2/package-tree.html | 4 +-
.../hadoop/hbase/quotas/package-tree.html | 8 +-
.../hadoop/hbase/regionserver/package-tree.html | 16 +-
.../hbase/regionserver/wal/package-tree.html | 2 +-
.../hadoop/hbase/rest/model/package-tree.html | 2 +-
.../hbase/security/access/package-tree.html | 2 +-
.../hadoop/hbase/security/package-tree.html | 4 +-
.../hadoop/hbase/thrift/package-tree.html | 2 +-
.../apache/hadoop/hbase/util/package-tree.html | 12 +-
devapidocs/overview-tree.html | 6 +-
.../org/apache/hadoop/hbase/Version.html | 4 +-
.../apache/hadoop/hbase/client/HBaseHbck.html | 274 +-
.../org/apache/hadoop/hbase/client/Hbck.html | 159 +-
.../MasterRpcServices.BalanceSwitchMode.html | 4866 +++++++++---------
.../hadoop/hbase/master/MasterRpcServices.html | 4866 +++++++++---------
...signmentManager.RegionInTransitionChore.html | 1097 ++--
...ssignmentManager.RegionInTransitionStat.html | 1097 ++--
.../master/assignment/AssignmentManager.html | 1097 ++--
.../hbase/master/procedure/PeerQueue.html | 13 +-
.../AbstractPeerNoLockProcedure.html | 170 +
.../replication/AbstractPeerProcedure.html | 173 +-
.../replication/RecoverStandbyProcedure.html | 2 +-
.../SyncReplicationReplayWALProcedure.html | 2 +-
downloads.html | 4 +-
export_control.html | 4 +-
index.html | 4 +-
integration.html | 4 +-
issue-tracking.html | 4 +-
license.html | 4 +-
mail-lists.html | 4 +-
metrics.html | 4 +-
old_news.html | 4 +-
plugin-management.html | 4 +-
plugins.html | 4 +-
poweredbyhbase.html | 4 +-
project-info.html | 4 +-
project-reports.html | 4 +-
project-summary.html | 4 +-
pseudo-distributed.html | 4 +-
replication.html | 4 +-
resources.html | 4 +-
source-repository.html | 4 +-
sponsors.html | 4 +-
supportingprojects.html | 4 +-
team-list.html | 4 +-
testdevapidocs/index-all.html | 2 +
.../hbase/client/TestHbck.SuspendProcedure.html | 10 +-
.../apache/hadoop/hbase/client/TestHbck.html | 50 +-
...ureRetryBackoff.TestModifyPeerProcedure.html | 30 +-
...ransitPeerSyncReplicationStateProcedure.html | 30 +-
.../hbase/master/replication/package-tree.html | 4 +
.../org/apache/hadoop/hbase/package-tree.html | 10 +-
.../hadoop/hbase/procedure2/package-tree.html | 2 +-
...ransactionOnCluster.MyMasterRpcServices.html | 2 +-
...ransactionOnCluster.MyMasterRpcServices.html | 2 +-
.../hadoop/hbase/regionserver/package-tree.html | 4 +-
.../apache/hadoop/hbase/test/package-tree.html | 2 +-
.../apache/hadoop/hbase/wal/package-tree.html | 4 +-
testdevapidocs/overview-tree.html | 4 +
.../hbase/client/TestHbck.SuspendProcedure.html | 327 +-
.../apache/hadoop/hbase/client/TestHbck.html | 327 +-
119 files changed, 9307 insertions(+), 7975 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index 043f3f3..3ddcb0f 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Apache HBase (TM) ACID Properties
@@ -611,7 +611,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index e9318bd..bf12236 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
/Author (Apache HBase Team)
/Creator (Asciidoctor PDF 1.5.0.alpha.15, based on Prawn 2.2.2)
/Producer (Apache HBase Team)
-/ModDate (D:20181029143326+00'00')
-/CreationDate (D:20181029145057+00'00')
+/ModDate (D:20181030143402+00'00')
+/CreationDate (D:20181030145049+00'00')
>>
endobj
2 0 obj
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index f15ec2f..2629187 100644
--- a/book.html
+++ b/book.html
@@ -41078,7 +41078,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
<div id="footer">
<div id="footer-text">
Version 3.0.0-SNAPSHOT<br>
-Last updated 2018-10-29 14:33:26 UTC
+Last updated 2018-10-30 14:34:02 UTC
</div>
</div>
</body>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index 8a04ae0..4e7ab92 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Bulk Loads in Apache HBase (TM)
@@ -316,7 +316,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index f32e87a..b4c3b8c 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Checkstyle Results</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -291,7 +291,7 @@
<th><img src="images/icon_warning_sml.gif" alt="" /> Warnings</th>
<th><img src="images/icon_error_sml.gif" alt="" /> Errors</th></tr>
<tr class="b">
-<td>3807</td>
+<td>3808</td>
<td>0</td>
<td>0</td>
<td>15080</td></tr></table></div>
@@ -24122,13 +24122,13 @@
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'org.apache.hbase.thirdparty.com.google.protobuf.ServiceException' import.</td>
-<td>33</td></tr>
+<td>34</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'org.apache.yetus.audience.InterfaceAudience' import.</td>
-<td>35</td></tr></table></div>
+<td>36</td></tr></table></div>
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.HConnectionTestingUtility.java">org/apache/hadoop/hbase/client/HConnectionTestingUtility.java</h3>
<table border="0" class="table table-striped">
@@ -61403,67 +61403,67 @@
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>317</td></tr>
+<td>323</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>577</td></tr>
+<td>583</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>622</td></tr>
+<td>628</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>977</td></tr>
+<td>983</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>1004</td></tr>
+<td>1010</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>1006</td></tr>
+<td>1012</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>1045</td></tr>
+<td>1051</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>1150</td></tr>
+<td>1156</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>1392</td></tr>
+<td>1398</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>1630</td></tr>
+<td>1636</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>1691</td></tr></table></div>
+<td>1697</td></tr></table></div>
<div class="section">
<h3 id="org.apache.hadoop.hbase.master.MasterServices.java">org/apache/hadoop/hbase/master/MasterServices.java</h3>
<table border="0" class="table table-striped">
@@ -63581,49 +63581,49 @@
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>1396</td></tr>
+<td>1397</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>1398</td></tr>
+<td>1399</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>1401</td></tr>
+<td>1402</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>1406</td></tr>
+<td>1407</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>1709</td></tr>
+<td>1710</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>1834</td></tr>
+<td>1835</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'lambda arguments' has incorrect indentation level 8, expected level should be 6.</td>
-<td>1882</td></tr>
+<td>1883</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>1899</td></tr></table></div>
+<td>1900</td></tr></table></div>
<div class="section">
<h3 id="org.apache.hadoop.hbase.master.assignment.GCMergedRegionsProcedure.java">org/apache/hadoop/hbase/master/assignment/GCMergedRegionsProcedure.java</h3>
<table border="0" class="table table-striped">
@@ -117285,7 +117285,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index bb4e4d1..7beef87 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -25,7 +25,7 @@ under the License.
<language>en-us</language>
<copyright>©2007 - 2018 The Apache Software Foundation</copyright>
<item>
- <title>File: 3807,
+ <title>File: 3808,
Errors: 15080,
Warnings: 0,
Infos: 0
@@ -24476,6 +24476,20 @@ under the License.
</tr>
<tr>
<td>
+ <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure.java">org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.java</a>
+ </td>
+ <td>
+ 0
+ </td>
+ <td>
+ 0
+ </td>
+ <td>
+ 0
+ </td>
+ </tr>
+ <tr>
+ <td>
<a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.io.hfile.bucket.TestByteBufferIOEngine.java">org/apache/hadoop/hbase/io/hfile/bucket/TestByteBufferIOEngine.java</a>
</td>
<td>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index 24d36c9..57e3442 100644
--- a/coc.html
+++ b/coc.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Code of Conduct Policy
@@ -385,7 +385,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 42bef17..4a55bc6 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Dependencies</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -450,7 +450,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index e3879d9..96d0b40 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Reactor Dependency Convergence</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -889,7 +889,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index fa2dabe..b7bfbe5 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Dependency Information</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -323,7 +323,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index c2fb92f..2cdc4b6 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20181029" />
+ <meta name="Date-Revision-yyyymmdd" content="20181030" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Dependency Management</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -1015,7 +1015,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2018-10-29</li>
+ <li id="publishDate" class="pull-right">Last Published: 2018-10-30</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-frame.html b/devapidocs/allclasses-frame.html
index 8a6788c..29f71f5 100644
--- a/devapidocs/allclasses-frame.html
+++ b/devapidocs/allclasses-frame.html
@@ -29,6 +29,7 @@
<li><a href="org/apache/hadoop/hbase/regionserver/AbstractMultiFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">AbstractMultiFileWriter</a></li>
<li><a href="org/apache/hadoop/hbase/regionserver/AbstractMultiFileWriter.WriterFactory.html" title="interface in org.apache.hadoop.hbase.regionserver" target="classFrame"><span class="interfaceName">AbstractMultiFileWriter.WriterFactory</span></a></li>
<li><a href="org/apache/hadoop/hbase/regionserver/compactions/AbstractMultiOutputCompactor.html" title="class in org.apache.hadoop.hbase.regionserver.compactions" target="classFrame">AbstractMultiOutputCompactor</a></li>
+<li><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">AbstractPeerNoLockProcedure</a></li>
<li><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">AbstractPeerProcedure</a></li>
<li><a href="org/apache/hadoop/hbase/util/AbstractPositionedByteRange.html" title="class in org.apache.hadoop.hbase.util" target="classFrame">AbstractPositionedByteRange</a></li>
<li><a href="org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">AbstractProcedureScheduler</a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-noframe.html b/devapidocs/allclasses-noframe.html
index 8741e58..ca2b7e0 100644
--- a/devapidocs/allclasses-noframe.html
+++ b/devapidocs/allclasses-noframe.html
@@ -29,6 +29,7 @@
<li><a href="org/apache/hadoop/hbase/regionserver/AbstractMultiFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">AbstractMultiFileWriter</a></li>
<li><a href="org/apache/hadoop/hbase/regionserver/AbstractMultiFileWriter.WriterFactory.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="interfaceName">AbstractMultiFileWriter.WriterFactory</span></a></li>
<li><a href="org/apache/hadoop/hbase/regionserver/compactions/AbstractMultiOutputCompactor.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">AbstractMultiOutputCompactor</a></li>
+<li><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></li>
<li><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></li>
<li><a href="org/apache/hadoop/hbase/util/AbstractPositionedByteRange.html" title="class in org.apache.hadoop.hbase.util">AbstractPositionedByteRange</a></li>
<li><a href="org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html" title="class in org.apache.hadoop.hbase.procedure2">AbstractProcedureScheduler</a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index b016b5b..e161f56 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3824,7 +3824,7 @@
<!-- -->
</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Mon Oct 29 14:45:45 UTC 2018"</code></td>
+<td class="colLast"><code>"Tue Oct 30 14:45:37 UTC 2018"</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
@@ -3838,7 +3838,7 @@
<!-- -->
</a><code>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"882a162a713e1dbec1cf454c214efe7d"</code></td>
+<td class="colLast"><code>"342536f8882440a77775ed3eaa89894b"</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index c7cf4b5..7650e2c 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -429,6 +429,15 @@
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/compactions/AbstractMultiOutputCompactor.html#AbstractMultiOutputCompactor-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HStore-">AbstractMultiOutputCompactor(Configuration, HStore)</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.compactions.<a href="org/apache/hadoop/hbase/regionserver/compactions/AbstractMultiOutputCompactor.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">AbstractMultiOutputCompactor</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">AbstractPeerNoLockProcedure</span></a><<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="type parameter in AbstractPeerNoLockProcedure">TState</a>> - Class in <a href="org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></dt>
+<dd>
+<div class="block">Base class for replication peer related procedures which do not need to hold locks(for most of
+ the sub procedures).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#AbstractPeerNoLockProcedure--">AbstractPeerNoLockProcedure()</a></span> - Constructor for class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#AbstractPeerNoLockProcedure-java.lang.String-">AbstractPeerNoLockProcedure(String)</a></span> - Constructor for class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">AbstractPeerProcedure</span></a><<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="type parameter in AbstractPeerProcedure">TState</a>> - Class in <a href="org/apache/hadoop/hbase/master/replication/package-summary.html">org.apache.hadoop.hbase.master.replication</a></dt>
<dd>
<div class="block">The base class for all replication peer related procedure.</div>
@@ -4386,7 +4395,7 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#attemptingUser">attemptingUser</a></span> - Variable in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#attempts">attempts</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#attempts">attempts</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/RetryCounter.html#attempts">attempts</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/RetryCounter.html" title="class in org.apache.hadoop.hbase.util">RetryCounter</a></dt>
<dd> </dd>
@@ -17471,6 +17480,8 @@
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterRpcServices.html#containMetaWals-org.apache.hadoop.hbase.ServerName-">containMetaWals(ServerName)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#contains-byte:A-">contains(byte[])</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#contains-byte:A-int-int-">contains(byte[], int, int)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a></dt>
@@ -25762,7 +25773,7 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData(ProcedureStateSerializer)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">TruncateTableProcedure</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData(ProcedureStateSerializer)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData(ProcedureStateSerializer)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData(ProcedureStateSerializer)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AddPeerProcedure</a></dt>
<dd> </dd>
@@ -45704,7 +45715,7 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerId--">getPeerId()</a></span> - Method in interface org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getPeerId--">getPeerId()</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#getPeerId--">getPeerId()</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html#getPeerId--">getPeerId()</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RefreshPeerProcedure</a></dt>
<dd> </dd>
@@ -82438,7 +82449,7 @@ service.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.html#peerId">peerId</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.replication.<a href="org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.html" title="class in org.apache.hadoop.hbase.mapreduce.replication">VerifyReplication</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#peerId">peerId</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#peerId">peerId</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html#peerId">peerId</a></span> - Variable in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RefreshPeerProcedure</a></dt>
<dd> </dd>
@@ -96701,7 +96712,7 @@ service.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.TruncateTableState-">rollbackState(MasterProcedureEnv, MasterProcedureProtos.TruncateTableState)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">TruncateTableProcedure</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState(MasterProcedureEnv, TState)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState(MasterProcedureEnv, TState)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SyncReplicationReplayWALState-">rollbackState(MasterProcedureEnv, MasterProcedureProtos.SyncReplicationReplayWALState)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a></dt>
<dd> </dd>
@@ -99554,6 +99565,12 @@ service.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html#schedulerLock">schedulerLock</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.html" title="class in org.apache.hadoop.hbase.procedure2">AbstractProcedureScheduler</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseHbck.html#scheduleServerCrashProcedure-java.util.List-">scheduleServerCrashProcedure(List<HBaseProtos.ServerName>)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/HBaseHbck.html" title="class in org.apache.hadoop.hbase.client">HBaseHbck</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Hbck.html#scheduleServerCrashProcedure-java.util.List-">scheduleServerCrashProcedure(List<HBaseProtos.ServerName>)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Hbck.html" title="interface in org.apache.hadoop.hbase.client">Hbck</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterRpcServices.html#scheduleServerCrashProcedure-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ScheduleServerCrashProcedureRequest-">scheduleServerCrashProcedure(RpcController, MasterProtos.ScheduleServerCrashProcedureRequest)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#scheduleThreadPool">scheduleThreadPool</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a></dt>
<dd>
<div class="block">Statistics thread schedule pool (for heavy debugging, could remove)</div>
@@ -100478,7 +100495,7 @@ service.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData(ProcedureStateSerializer)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">TruncateTableProcedure</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData(ProcedureStateSerializer)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData(ProcedureStateSerializer)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData(ProcedureStateSerializer)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AddPeerProcedure</a></dt>
<dd> </dd>
@@ -105554,7 +105571,7 @@ service.</div>
<dd>
<div class="block">At end of timeout, wake ourselves up so we run again.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure(TEnvironment)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></dt>
<dd>
@@ -106611,6 +106628,8 @@ service.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALSplitter.WriterThread.html#shouldStop">shouldStop</a></span> - Variable in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALSplitter.WriterThread.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.WriterThread</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterRpcServices.html#shouldSubmitSCP-org.apache.hadoop.hbase.ServerName-">shouldSubmitSCP(ServerName)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#shouldSyncWAL--">shouldSyncWAL()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
<dd>
<div class="block">Check whether we should sync the wal from the table's durability settings</div>
@@ -112269,7 +112288,7 @@ service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html#suspend--">suspend()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerImpl</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#suspend-long-">suspend(long)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend(long)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#suspend--">suspend()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a></dt>
<dd>
@@ -122938,7 +122957,7 @@ the order they are declared.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html#waitInitialized-org.apache.hadoop.hbase.procedure2.Procedure-">waitInitialized(Procedure<?>)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RefreshPeerProcedure</a></dt>
<dd> </dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index 1e43e89..f55f5e6 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -167,8 +167,8 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><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.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupState.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupType.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupType</span></a></li>
<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupRestoreConstants.BackupCommand.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupRestoreConstants.BackupCommand</span></a></li>
</ul>
[15/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.html b/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.html
index 3ff4ce2..6c0477a 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/MasterRpcServices.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i
109":10,"i110":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -119,7 +119,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.308">MasterRpcServices</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.314">MasterRpcServices</a>
extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a>
implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.BlockingInterface, org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStatusService.BlockingInterface, org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockService.BlockingInterface, org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.HbckService.BlockingInterface</pre>
<div class="block">Implements the master RPC services.</div>
@@ -286,23 +286,27 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
</td>
</tr>
<tr id="i13" class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#containMetaWals-org.apache.hadoop.hbase.ServerName-">containMetaWals</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code> </td>
+</tr>
+<tr id="i14" class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client">MasterSwitchType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#convert-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterSwitchType-">convert</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterSwitchType switchType)</code> </td>
</tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
<td class="colFirst"><code>private org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse.Builder</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#createConfigurationSubset--">createConfigurationSubset</a></span>()</code> </td>
</tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#createNamespace-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest-">createNamespace</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest request)</code> </td>
</tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#createPriority--">createPriority</a></span>()</code> </td>
</tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#createRpcServer-org.apache.hadoop.hbase.Server-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.RpcSchedulerFactory-java.net.InetSocketAddress-java.lang.String-">createRpcServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
org.apache.hadoop.conf.Configuration conf,
@@ -310,76 +314,76 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> bindAddress,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</code> </td>
</tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#createTable-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest-">createTable</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest req)</code> </td>
</tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DecommissionRegionServersResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#decommissionRegionServers-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DecommissionRegionServersRequest-">decommissionRegionServers</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DecommissionRegionServersRequest request)</code> </td>
</tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#deleteColumn-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest-">deleteColumn</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest req)</code> </td>
</tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#deleteNamespace-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest-">deleteNamespace</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest request)</code> </td>
</tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#deleteSnapshot-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest-">deleteSnapshot</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest request)</code>
<div class="block">Execute Delete Snapshot operation.</div>
</td>
</tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#deleteTable-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest-">deleteTable</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest request)</code> </td>
</tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#disableReplicationPeer-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest-">disableReplicationPeer</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest request)</code> </td>
</tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#disableTable-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest-">disableTable</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest request)</code> </td>
</tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableCatalogJanitorResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#enableCatalogJanitor-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableCatalogJanitorRequest-">enableCatalogJanitor</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableCatalogJanitorRequest req)</code> </td>
</tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#enableReplicationPeer-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest-">enableReplicationPeer</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest request)</code> </td>
</tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#enableTable-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest-">enableTable</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest request)</code> </td>
</tr>
-<tr id="i29" class="rowColor">
+<tr id="i30" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#execMasterService-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest-">execMasterService</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest request)</code> </td>
</tr>
-<tr id="i30" class="altColor">
+<tr id="i31" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#execProcedure-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest-">execProcedure</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest request)</code>
<div class="block">Triggers an asynchronous attempt to run a distributed procedure.</div>
</td>
</tr>
-<tr id="i31" class="rowColor">
+<tr id="i32" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#execProcedureWithRet-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest-">execProcedureWithRet</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest request)</code>
@@ -387,310 +391,310 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
return data in response.</div>
</td>
</tr>
-<tr id="i32" class="altColor">
+<tr id="i33" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getClusterStatus-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest-">getClusterStatus</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest req)</code> </td>
</tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getCompletedSnapshots-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest-">getCompletedSnapshots</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest request)</code>
<div class="block">List the currently available/stored snapshots.</div>
</td>
</tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.GetLastFlushedSequenceIdResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getLastFlushedSequenceId-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.GetLastFlushedSequenceIdRequest-">getLastFlushedSequenceId</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.GetLastFlushedSequenceIdRequest request)</code> </td>
</tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getLastMajorCompactionTimestamp-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest-">getLastMajorCompactionTimestamp</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest request)</code> </td>
</tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getLastMajorCompactionTimestampForRegion-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest-">getLastMajorCompactionTimestampForRegion</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest request)</code> </td>
</tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetLocksResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getLocks-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetLocksRequest-">getLocks</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetLocksRequest request)</code> </td>
</tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getNamespaceDescriptor-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest-">getNamespaceDescriptor</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest request)</code> </td>
</tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getProcedureResult-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest-">getProcedureResult</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest request)</code> </td>
</tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProceduresResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getProcedures-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProceduresRequest-">getProcedures</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController rpcController,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProceduresRequest request)</code> </td>
</tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getQuotaStates-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesRequest-">getQuotaStates</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesRequest request)</code> </td>
</tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getRegionInfo-org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier-">getRegionInfo</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier rs)</code>
<div class="block">Get RegionInfo from Master using content of RegionSpecifier as key.</div>
</td>
</tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getRegionInfo-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest-">getRegionInfo</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest request)</code> </td>
</tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getReplicationPeerConfig-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest-">getReplicationPeerConfig</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest request)</code> </td>
</tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getRpcSchedulerFactoryClass--">getRpcSchedulerFactoryClass</a></span>()</code> </td>
</tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getSchemaAlterStatus-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest-">getSchemaAlterStatus</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest req)</code>
<div class="block">Get the number of regions of the table that have been updated by the alter.</div>
</td>
</tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SecurityCapabilitiesResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getSecurityCapabilities-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SecurityCapabilitiesRequest-">getSecurityCapabilities</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SecurityCapabilitiesRequest request)</code>
<div class="block">Returns the security capabilities in effect on the cluster</div>
</td>
</tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getServices--">getServices</a></span>()</code>
<div class="block">By default, put up an Admin and a Client Service.</div>
</td>
</tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getSpaceQuotaRegionSizes-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesRequest-">getSpaceQuotaRegionSizes</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesRequest request)</code> </td>
</tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getTableDescriptors-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest-">getTableDescriptors</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest req)</code>
<div class="block">Get list of TableDescriptors for requested tables.</div>
</td>
</tr>
-<tr id="i51" class="rowColor">
+<tr id="i52" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getTableNames-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest-">getTableNames</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest req)</code>
<div class="block">Get list of userspace table names</div>
</td>
</tr>
-<tr id="i52" class="altColor">
+<tr id="i53" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#getTableState-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateRequest-">getTableState</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateRequest request)</code> </td>
</tr>
-<tr id="i53" class="rowColor">
+<tr id="i54" class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#hasAccessControlServiceCoprocessor-org.apache.hadoop.hbase.master.MasterCoprocessorHost-">hasAccessControlServiceCoprocessor</a></span>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a> cpHost)</code>
<div class="block">Determines if there is a MasterCoprocessor deployed which implements
<code>AccessControlProtos.AccessControlService.Interface</code>.</div>
</td>
</tr>
-<tr id="i54" class="altColor">
+<tr id="i55" class="rowColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#hasVisibilityLabelsServiceCoprocessor-org.apache.hadoop.hbase.master.MasterCoprocessorHost-">hasVisibilityLabelsServiceCoprocessor</a></span>(<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a> cpHost)</code>
<div class="block">Determines if there is a MasterCoprocessor deployed which implements
<code>VisibilityLabelsProtos.VisibilityLabelsService.Interface</code>.</div>
</td>
</tr>
-<tr id="i55" class="rowColor">
+<tr id="i56" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#isBalancerEnabled-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest-">isBalancerEnabled</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest request)</code> </td>
</tr>
-<tr id="i56" class="altColor">
+<tr id="i57" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCatalogJanitorEnabledResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#isCatalogJanitorEnabled-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCatalogJanitorEnabledRequest-">isCatalogJanitorEnabled</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCatalogJanitorEnabledRequest req)</code> </td>
</tr>
-<tr id="i57" class="rowColor">
+<tr id="i58" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCleanerChoreEnabledResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#isCleanerChoreEnabled-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCleanerChoreEnabledRequest-">isCleanerChoreEnabled</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCleanerChoreEnabledRequest req)</code> </td>
</tr>
-<tr id="i58" class="altColor">
+<tr id="i59" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#isMasterInMaintenanceMode-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest-">isMasterInMaintenanceMode</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest request)</code> </td>
</tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#isMasterRunning-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningRequest-">isMasterRunning</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningRequest req)</code> </td>
</tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsNormalizerEnabledResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#isNormalizerEnabled-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsNormalizerEnabledRequest-">isNormalizerEnabled</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsNormalizerEnabledRequest request)</code> </td>
</tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#isProcedureDone-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest-">isProcedureDone</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest request)</code>
<div class="block">Checks if the specified procedure is done.</div>
</td>
</tr>
-<tr id="i62" class="altColor">
+<tr id="i63" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#isSnapshotDone-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest-">isSnapshotDone</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest request)</code>
<div class="block">Checks if the specified snapshot is done.</div>
</td>
</tr>
-<tr id="i63" class="rowColor">
+<tr id="i64" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSplitOrMergeEnabledResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#isSplitOrMergeEnabled-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSplitOrMergeEnabledRequest-">isSplitOrMergeEnabled</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSplitOrMergeEnabledRequest request)</code> </td>
</tr>
-<tr id="i64" class="altColor">
+<tr id="i65" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDecommissionedRegionServersResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#listDecommissionedRegionServers-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDecommissionedRegionServersRequest-">listDecommissionedRegionServers</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDecommissionedRegionServersRequest request)</code> </td>
</tr>
-<tr id="i65" class="rowColor">
+<tr id="i66" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#listNamespaceDescriptors-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest-">listNamespaceDescriptors</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest request)</code> </td>
</tr>
-<tr id="i66" class="altColor">
+<tr id="i67" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#listReplicationPeers-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest-">listReplicationPeers</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest request)</code> </td>
</tr>
-<tr id="i67" class="rowColor">
+<tr id="i68" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableDescriptorsByNamespaceResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#listTableDescriptorsByNamespace-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableDescriptorsByNamespaceRequest-">listTableDescriptorsByNamespace</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableDescriptorsByNamespaceRequest request)</code> </td>
</tr>
-<tr id="i68" class="altColor">
+<tr id="i69" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableNamesByNamespaceResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#listTableNamesByNamespace-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableNamesByNamespaceRequest-">listTableNamesByNamespace</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableNamesByNamespaceRequest request)</code> </td>
</tr>
-<tr id="i69" class="rowColor">
+<tr id="i70" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockHeartbeatResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#lockHeartbeat-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockHeartbeatRequest-">lockHeartbeat</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockHeartbeatRequest request)</code> </td>
</tr>
-<tr id="i70" class="altColor">
+<tr id="i71" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#mergeTableRegions-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest-">mergeTableRegions</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest request)</code> </td>
</tr>
-<tr id="i71" class="rowColor">
+<tr id="i72" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#modifyColumn-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest-">modifyColumn</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest req)</code> </td>
</tr>
-<tr id="i72" class="altColor">
+<tr id="i73" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#modifyNamespace-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest-">modifyNamespace</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest request)</code> </td>
</tr>
-<tr id="i73" class="rowColor">
+<tr id="i74" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyTableResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#modifyTable-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyTableRequest-">modifyTable</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyTableRequest req)</code> </td>
</tr>
-<tr id="i74" class="altColor">
+<tr id="i75" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#moveRegion-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest-">moveRegion</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest req)</code> </td>
</tr>
-<tr id="i75" class="rowColor">
+<tr id="i76" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.NormalizeResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#normalize-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.NormalizeRequest-">normalize</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.NormalizeRequest request)</code> </td>
</tr>
-<tr id="i76" class="altColor">
+<tr id="i77" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#offlineRegion-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest-">offlineRegion</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest request)</code>
<div class="block">Offline specified region from master's in-memory state.</div>
</td>
</tr>
-<tr id="i77" class="rowColor">
+<tr id="i78" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RecommissionRegionServerResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#recommissionRegionServer-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RecommissionRegionServerRequest-">recommissionRegionServer</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RecommissionRegionServerRequest request)</code> </td>
</tr>
-<tr id="i78" class="altColor">
+<tr id="i79" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerReportResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#regionServerReport-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerReportRequest-">regionServerReport</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerReportRequest request)</code> </td>
</tr>
-<tr id="i79" class="rowColor">
+<tr id="i80" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#regionServerStartup-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupRequest-">regionServerStartup</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupRequest request)</code> </td>
</tr>
-<tr id="i80" class="altColor">
+<tr id="i81" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#removeReplicationPeer-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest-">removeReplicationPeer</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest request)</code> </td>
</tr>
-<tr id="i81" class="rowColor">
+<tr id="i82" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.FileArchiveNotificationResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#reportFileArchival-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.FileArchiveNotificationRequest-">reportFileArchival</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.FileArchiveNotificationRequest request)</code> </td>
</tr>
-<tr id="i82" class="altColor">
+<tr id="i83" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportProcedureDoneResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#reportProcedureDone-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportProcedureDoneRequest-">reportProcedureDone</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportProcedureDoneRequest request)</code> </td>
</tr>
-<tr id="i83" class="rowColor">
+<tr id="i84" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionSpaceUseReportResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#reportRegionSpaceUse-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionSpaceUseReportRequest-">reportRegionSpaceUse</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionSpaceUseReportRequest request)</code> </td>
</tr>
-<tr id="i84" class="altColor">
+<tr id="i85" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRegionStateTransitionResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#reportRegionStateTransition-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRegionStateTransitionRequest-">reportRegionStateTransition</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRegionStateTransitionRequest req)</code> </td>
</tr>
-<tr id="i85" class="rowColor">
+<tr id="i86" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRSFatalErrorResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#reportRSFatalError-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRSFatalErrorRequest-">reportRSFatalError</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRSFatalErrorRequest request)</code> </td>
</tr>
-<tr id="i86" class="altColor">
+<tr id="i87" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#requestLock-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockRequest-">requestLock</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockRequest request)</code> </td>
</tr>
-<tr id="i87" class="rowColor">
+<tr id="i88" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#restoreSnapshot-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest-">restoreSnapshot</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest request)</code>
<div class="block">Execute Restore/Clone snapshot operation.</div>
</td>
</tr>
-<tr id="i88" class="altColor">
+<tr id="i89" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#rpcPreCheck-java.lang.String-">rpcPreCheck</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> requestName)</code>
<div class="block">Checks for the following pre-checks in order:
@@ -700,97 +704,106 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
</div>
</td>
</tr>
-<tr id="i89" class="rowColor">
+<tr id="i90" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCatalogScanResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#runCatalogScan-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCatalogScanRequest-">runCatalogScan</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCatalogScanRequest req)</code> </td>
</tr>
-<tr id="i90" class="altColor">
+<tr id="i91" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCleanerChoreResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#runCleanerChore-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCleanerChoreRequest-">runCleanerChore</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCleanerChoreRequest req)</code> </td>
</tr>
-<tr id="i91" class="rowColor">
+<tr id="i92" class="altColor">
+<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ScheduleServerCrashProcedureResponse</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#scheduleServerCrashProcedure-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ScheduleServerCrashProcedureRequest-">scheduleServerCrashProcedure</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
+ org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ScheduleServerCrashProcedureRequest request)</code> </td>
+</tr>
+<tr id="i93" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#setBalancerRunning-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest-">setBalancerRunning</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest req)</code> </td>
</tr>
-<tr id="i92" class="altColor">
+<tr id="i94" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetCleanerChoreRunningResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#setCleanerChoreRunning-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetCleanerChoreRunningRequest-">setCleanerChoreRunning</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetCleanerChoreRunningRequest req)</code> </td>
</tr>
-<tr id="i93" class="rowColor">
+<tr id="i95" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetNormalizerRunningResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#setNormalizerRunning-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetNormalizerRunningRequest-">setNormalizerRunning</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetNormalizerRunningRequest request)</code> </td>
</tr>
-<tr id="i94" class="altColor">
+<tr id="i96" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#setQuota-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest-">setQuota</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController c,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest req)</code> </td>
</tr>
-<tr id="i95" class="rowColor">
+<tr id="i97" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetSplitOrMergeEnabledResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#setSplitOrMergeEnabled-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetSplitOrMergeEnabledRequest-">setSplitOrMergeEnabled</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetSplitOrMergeEnabledRequest request)</code> </td>
</tr>
-<tr id="i96" class="altColor">
+<tr id="i98" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#setTableStateInMeta-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetTableStateInMetaRequest-">setTableStateInMeta</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetTableStateInMetaRequest request)</code>
<div class="block">Update state of the table in meta only.</div>
</td>
</tr>
-<tr id="i97" class="rowColor">
+<tr id="i99" class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#shouldSubmitSCP-org.apache.hadoop.hbase.ServerName-">shouldSubmitSCP</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> serverName)</code> </td>
+</tr>
+<tr id="i100" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ShutdownResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#shutdown-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ShutdownRequest-">shutdown</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ShutdownRequest request)</code> </td>
</tr>
-<tr id="i98" class="altColor">
+<tr id="i101" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#snapshot-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest-">snapshot</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest request)</code>
<div class="block">Triggers an asynchronous attempt to take a snapshot.</div>
</td>
</tr>
-<tr id="i99" class="rowColor">
+<tr id="i102" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SplitTableRegionResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#splitRegion-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SplitTableRegionRequest-">splitRegion</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SplitTableRegionRequest request)</code> </td>
</tr>
-<tr id="i100" class="altColor">
+<tr id="i103" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.StopMasterResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#stopMaster-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.StopMasterRequest-">stopMaster</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.StopMasterRequest request)</code> </td>
</tr>
-<tr id="i101" class="rowColor">
+<tr id="i104" class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#switchBalancer-boolean-org.apache.hadoop.hbase.master.MasterRpcServices.BalanceSwitchMode-">switchBalancer</a></span>(boolean b,
<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master">MasterRpcServices.BalanceSwitchMode</a> mode)</code>
<div class="block">Assigns balancer switch according to BalanceSwitchMode</div>
</td>
</tr>
-<tr id="i102" class="altColor">
+<tr id="i105" class="rowColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#synchronousBalanceSwitch-boolean-">synchronousBalanceSwitch</a></span>(boolean b)</code> </td>
</tr>
-<tr id="i103" class="rowColor">
+<tr id="i106" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.TransitReplicationPeerSyncReplicationStateResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#transitReplicationPeerSyncReplicationState-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.TransitReplicationPeerSyncReplicationStateRequest-">transitReplicationPeerSyncReplicationState</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.TransitReplicationPeerSyncReplicationStateRequest request)</code> </td>
</tr>
-<tr id="i104" class="altColor">
+<tr id="i107" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#truncateTable-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest-">truncateTable</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest request)</code> </td>
</tr>
-<tr id="i105" class="rowColor">
+<tr id="i108" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#unassignRegion-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest-">unassignRegion</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest req)</code> </td>
</tr>
-<tr id="i106" class="altColor">
+<tr id="i109" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignsResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#unassigns-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignsRequest-">unassigns</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignsRequest request)</code>
@@ -798,7 +811,7 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
made during Master startup).</div>
</td>
</tr>
-<tr id="i107" class="rowColor">
+<tr id="i110" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html#updateReplicationPeerConfig-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest-">updateReplicationPeerConfig</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController controller,
org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest request)</code> </td>
@@ -838,7 +851,7 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
-<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.311">LOG</a></pre>
+<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.317">LOG</a></pre>
</li>
</ul>
<a name="master">
@@ -847,7 +860,7 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
<ul class="blockListLast">
<li class="blockList">
<h4>master</h4>
-<pre>private final <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.313">master</a></pre>
+<pre>private final <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.319">master</a></pre>
</li>
</ul>
</li>
@@ -864,7 +877,7 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
<ul class="blockListLast">
<li class="blockList">
<h4>MasterRpcServices</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.335">MasterRpcServices</a>(<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> m)
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.341">MasterRpcServices</a>(<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> m)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -886,7 +899,7 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
<ul class="blockList">
<li class="blockList">
<h4>createConfigurationSubset</h4>
-<pre>private org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse.Builder <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.319">createConfigurationSubset</a>()</pre>
+<pre>private org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse.Builder <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.325">createConfigurationSubset</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Subset of configuration to pass initializing regionservers: e.g.
@@ -900,7 +913,7 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
<ul class="blockList">
<li class="blockList">
<h4>addConfig</h4>
-<pre>private org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse.Builder <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.326">addConfig</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse.Builder resp,
+<pre>private org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse.Builder <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.332">addConfig</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse.Builder resp,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> key)</pre>
</li>
</ul>
@@ -910,7 +923,7 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
<ul class="blockList">
<li class="blockList">
<h4>getRpcSchedulerFactoryClass</h4>
-<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.341">getRpcSchedulerFactoryClass</a>()</pre>
+<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.347">getRpcSchedulerFactoryClass</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#getRpcSchedulerFactoryClass--">getRpcSchedulerFactoryClass</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></code></dd>
@@ -923,7 +936,7 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
<ul class="blockList">
<li class="blockList">
<h4>createRpcServer</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.351">createRpcServer</a>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.357">createRpcServer</a>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> server,
org.apache.hadoop.conf.Configuration conf,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/RpcSchedulerFactory.html" title="interface in org.apache.hadoop.hbase.regionserver">RpcSchedulerFactory</a> rpcSchedulerFactory,
<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> bindAddress,
@@ -943,7 +956,7 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
<ul class="blockList">
<li class="blockList">
<h4>createPriority</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.369">createPriority</a>()</pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.375">createPriority</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#createPriority--">createPriority</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></code></dd>
@@ -956,7 +969,7 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
<ul class="blockList">
<li class="blockList">
<h4>rpcPreCheck</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.382">rpcPreCheck</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> requestName)
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.388">rpcPreCheck</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> requestName)
throws org.apache.hbase.thirdparty.com.google.protobuf.ServiceException</pre>
<div class="block">Checks for the following pre-checks in order:
<ol>
@@ -977,7 +990,7 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
<ul class="blockList">
<li class="blockList">
<h4>switchBalancer</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.402">switchBalancer</a>(boolean b,
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.408">switchBalancer</a>(boolean b,
<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master">MasterRpcServices.BalanceSwitchMode</a> mode)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Assigns balancer switch according to BalanceSwitchMode</div>
@@ -998,7 +1011,7 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
<ul class="blockList">
<li class="blockList">
<h4>synchronousBalanceSwitch</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.431">synchronousBalanceSwitch</a>(boolean b)
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.437">synchronousBalanceSwitch</a>(boolean b)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -1012,7 +1025,7 @@ implements org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.Master
<ul class="blockList">
<li class="blockList">
<h4>getServices</h4>
-<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html#line.439">getServices</a>()</pre>
+<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>> <a href="../../.
<TRUNCATED>
[12/18] hbase-site git commit: Published site at
02f5f171f51b7ed801355c8acdcfc4ad47c23a3e.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html
index 99dfeb1..34da502 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
</div>
<div class="subNav">
<ul class="navList">
-<li>Prev Class</li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
@@ -106,6 +106,9 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">org.apache.hadoop.hbase.procedure2.StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,TState></li>
<li>
<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</a><TState></li>
+<li>
+<ul class="inheritance">
<li>org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure<TState></li>
</ul>
</li>
@@ -114,6 +117,8 @@ var activeTableTab = "activeTableTab";
</ul>
</li>
</ul>
+</li>
+</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
@@ -123,13 +128,13 @@ var activeTableTab = "activeTableTab";
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">ModifyPeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RecoverStandbyProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/SyncReplicationReplayWALProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">SyncReplicationReplayWALProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">TransitPeerSyncReplicationStateProcedure</a></dd>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">ModifyPeerProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">TransitPeerSyncReplicationStateProcedure</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Private
-public abstract class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.40">AbstractPeerProcedure</a><TState>
-extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,TState>
+public abstract class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.32">AbstractPeerProcedure</a><TState>
+extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><TState>
implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></pre>
<div class="block">The base class for all replication peer related procedure.</div>
</li>
@@ -180,19 +185,18 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/P
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
-<td class="colFirst"><code>protected int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#attempts">attempts</a></span></code> </td>
-</tr>
-<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a></span></code> </td>
</tr>
-<tr class="altColor">
-<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#peerId">peerId</a></span></code> </td>
-</tr>
</table>
<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#peerId">peerId</a></code></li>
+</ul>
+<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
<!-- -->
</a>
@@ -251,74 +255,38 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/P
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a> serializer)</code>
-<div class="block">Called on store load to allow the user to decode the previously serialized
- state.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</code> </td>
</tr>
-<tr id="i3" class="rowColor">
+<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a></span>()</code> </td>
</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getPeerId--">getPeerId</a></span>()</code> </td>
-</tr>
-<tr id="i5" class="rowColor">
+<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</code>
<div class="block">Used to keep the procedure lock even when the procedure is yielding or suspended.</div>
</td>
</tr>
-<tr id="i6" class="altColor">
+<tr id="i4" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env,
<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface.PeerOperationType</a> type)</code> </td>
</tr>
-<tr id="i7" class="rowColor">
+<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</code>
<div class="block">The user should override this method, and release lock if necessary.</div>
</td>
</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env,
- <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="type parameter in AbstractPeerProcedure">TState</a> state)</code>
-<div class="block">called to perform the rollback of the specified state</div>
-</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a> serializer)</code>
-<div class="block">The user-level code of the procedure may have some state to
- persist (e.g.</div>
-</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>protected boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</code>
-<div class="block">Called by the ProcedureExecutor when the timeout set by setTimeout() is expired.</div>
-</td>
-</tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#suspend-long-">suspend</a></span>(long backoff)</code> </td>
-</tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>protected boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</code>
-<div class="block">The <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doAcquireLock-TEnvironment-org.apache.hadoop.hbase.procedure2.store.ProcedureStore-"><code>Procedure.doAcquireLock(Object, ProcedureStore)</code></a> will be split into two steps, first, it will
- call us to determine whether we need to wait for initialization, second, it will call
- <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock-TEnvironment-"><code>Procedure.acquireLock(Object)</code></a> to actually handle the lock for this procedure.</div>
-</td>
-</tr>
</table>
<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../or
g/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code></li>
+</ul>
+<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
<!-- -->
</a>
@@ -344,7 +312,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/P
<!-- -->
</a>
<h3>Methods inherited from interface org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerOperationType--">getPeerOperationType</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerOperationType--">getPeerOperationType</a></code></li>
</ul>
</li>
</ul>
@@ -360,31 +328,13 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/P
<!-- -->
</a>
<h3>Field Detail</h3>
-<a name="peerId">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>peerId</h4>
-<pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.43">peerId</a></pre>
-</li>
-</ul>
<a name="latch">
<!-- -->
</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>latch</h4>
-<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.46">latch</a></pre>
-</li>
-</ul>
-<a name="attempts">
-<!-- -->
-</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>attempts</h4>
-<pre>protected int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.48">attempts</a></pre>
+<h4>latch</h4>
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.36">latch</a></pre>
</li>
</ul>
</li>
@@ -401,7 +351,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/P
<ul class="blockList">
<li class="blockList">
<h4>AbstractPeerProcedure</h4>
-<pre>protected <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.50">AbstractPeerProcedure</a>()</pre>
+<pre>protected <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.38">AbstractPeerProcedure</a>()</pre>
</li>
</ul>
<a name="AbstractPeerProcedure-java.lang.String-">
@@ -410,7 +360,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/P
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractPeerProcedure</h4>
-<pre>protected <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.53">AbstractPeerProcedure</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> peerId)</pre>
+<pre>protected <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.41">AbstractPeerProcedure</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> peerId)</pre>
</li>
</ul>
</li>
@@ -427,45 +377,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/P
<ul class="blockList">
<li class="blockList">
<h4>getLatch</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.58">getLatch</a>()</pre>
-</li>
-</ul>
-<a name="getPeerId--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getPeerId</h4>
-<pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.63">getPeerId</a>()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerId--">getPeerId</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>waitInitialized</h4>
-<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.68">waitInitialized</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#waitInitialized-TEnvironment-">Procedure</a></code></span></div>
-<div class="block">The <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doAcquireLock-TEnvironment-org.apache.hadoop.hbase.procedure2.store.ProcedureStore-"><code>Procedure.doAcquireLock(Object, ProcedureStore)</code></a> will be split into two steps, first, it will
- call us to determine whether we need to wait for initialization, second, it will call
- <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock-TEnvironment-"><code>Procedure.acquireLock(Object)</code></a> to actually handle the lock for this procedure.
- <p/>
- This is because that when master restarts, we need to restore the lock state for all the
- procedures to not break the semantic if <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#holdLock-TEnvironment-"><code>Procedure.holdLock(Object)</code></a> is true. But the
- <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2"><code>ProcedureExecutor</code></a> will be started before the master finish initialization(as it is part
- of the initialization!), so we need to split the code into two steps, and when restore, we just
- restore the lock part and ignore the waitInitialized part. Otherwise there will be dead lock.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#waitInitialized-TEnvironment-">waitInitialized</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true means we need to wait until the environment has been initialized, otherwise true.</dd>
-</dl>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.46">getLatch</a>()</pre>
</li>
</ul>
<a name="acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
@@ -474,7 +386,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/P
<ul class="blockList">
<li class="blockList">
<h4>acquireLock</h4>
-<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2">Procedure.LockState</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.73">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2">Procedure.LockState</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.51">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock-TEnvironment-">Procedure</a></code></span></div>
<div class="block">The user should override this method if they need a lock on an Entity. A lock can be anything,
and it is up to the implementor. The Procedure Framework will call this method just before it
@@ -511,7 +423,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/P
<ul class="blockList">
<li class="blockList">
<h4>releaseLock</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.81">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.59">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock-TEnvironment-">Procedure</a></code></span></div>
<div class="block">The user should override this method, and release lock if necessary.</div>
<dl>
@@ -526,7 +438,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/P
<ul class="blockList">
<li class="blockList">
<h4>holdLock</h4>
-<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.86">holdLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
+<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.64">holdLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#holdLock-TEnvironment-">Procedure</a></code></span></div>
<div class="block">Used to keep the procedure lock even when the procedure is yielding or suspended.</div>
<dl>
@@ -537,129 +449,23 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/P
</dl>
</li>
</ul>
-<a name="serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>serializeStateData</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.91">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a> serializer)
- throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
-<div class="block">The user-level code of the procedure may have some state to
- persist (e.g. input arguments or current position in the processing state) to
- be able to resume on failure.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="type parameter in AbstractPeerProcedure">TState</a>></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>serializer</code> - stores the serializable state</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>deserializeStateData</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.97">deserializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a> serializer)
- throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
-<div class="block">Called on store load to allow the user to decode the previously serialized
- state.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="type parameter in AbstractPeerProcedure">TState</a>></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>serializer</code> - contains the serialized state</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-java.lang.Object-">
-<!-- -->
-</a><a name="rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rollbackState</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.103">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env,
- <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="type parameter in AbstractPeerProcedure">TState</a> state)
- throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
- <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState-TEnvironment-TState-">StateMachineProcedure</a></code></span></div>
-<div class="block">called to perform the rollback of the specified state</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState-TEnvironment-TState-">rollbackState</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="type parameter in AbstractPeerProcedure">TState</a>></code></dd>
-<dd><code>state</code> - state to rollback</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - temporary failure, the rollback will retry later</dd>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
-</dl>
-</li>
-</ul>
<a name="refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>refreshPeer</h4>
-<pre>protected final void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.113">refreshPeer</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env,
+<pre>protected final void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.68">refreshPeer</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env,
<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface.PeerOperationType</a> type)</pre>
</li>
</ul>
-<a name="setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setTimeoutFailure</h4>
-<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.119">setTimeoutFailure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">Procedure</a></code></span></div>
-<div class="block">Called by the ProcedureExecutor when the timeout set by setTimeout() is expired.
- <p/>
- Another usage for this method is to implement retrying. A procedure can set the state to
- <code>WAITING_TIMEOUT</code> by calling <code>setState</code> method, and throw a
- <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2"><code>ProcedureSuspendedException</code></a> to halt the execution of the procedure, and do not forget a
- call <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeout-int-"><code>Procedure.setTimeout(int)</code></a> method to set the timeout. And you should also override this
- method to wake up the procedure, and also return false to tell the ProcedureExecutor that the
- timeout event has been handled.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true to let the framework handle the timeout as abort, false in case the procedure
- handled the timeout itself.</dd>
-</dl>
-</li>
-</ul>
-<a name="suspend-long-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>suspend</h4>
-<pre>protected final <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.125">suspend</a>(long backoff)
- throws <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a></pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a></code></dd>
-</dl>
-</li>
-</ul>
<a name="enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>enablePeer</h4>
-<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.136">enablePeer</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
+<pre>protected void <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#line.75">enablePeer</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a> env)
throws <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -695,7 +501,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/P
</div>
<div class="subNav">
<ul class="navList">
-<li>Prev Class</li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html
index 364f35e..444a3ef 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/AddPeerProcedure.html
@@ -106,6 +106,9 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">org.apache.hadoop.hbase.procedure2.StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,TState></li>
<li>
<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</a><TState></li>
+<li>
+<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></li>
<li>
<ul class="inheritance">
@@ -124,6 +127,8 @@ var activeTableTab = "activeTableTab";
</ul>
</li>
</ul>
+</li>
+</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
@@ -209,7 +214,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<!-- -->
</a>
<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#peerId">peerId</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#peerId">peerId</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -333,7 +345,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.
hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code><
/li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hado
op/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -356,6 +375,13 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface">
+<!-- -->
+</a>
+<h3>Methods inherited from interface org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerId--">getPeerId</a></code></li>
+</ul>
</li>
</ul>
</li>
@@ -600,7 +626,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
be able to resume on failure.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - stores the serializable state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -621,7 +647,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
state.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - contains the serialized state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/DisablePeerProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/DisablePeerProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/DisablePeerProcedure.html
index e20a84f..1813300 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/DisablePeerProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/DisablePeerProcedure.html
@@ -106,6 +106,9 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">org.apache.hadoop.hbase.procedure2.StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,TState></li>
<li>
<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</a><TState></li>
+<li>
+<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></li>
<li>
<ul class="inheritance">
@@ -124,6 +127,8 @@ var activeTableTab = "activeTableTab";
</ul>
</li>
</ul>
+</li>
+</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
@@ -201,7 +206,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<!-- -->
</a>
<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#peerId">peerId</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#peerId">peerId</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -298,7 +310,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.
hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code><
/li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hado
op/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -321,6 +340,13 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface">
+<!-- -->
+</a>
+<h3>Methods inherited from interface org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerId--">getPeerId</a></code></li>
+</ul>
</li>
</ul>
</li>
@@ -463,7 +489,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
be able to resume on failure.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - stores the serializable state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -484,7 +510,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
state.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - contains the serialized state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2752c924/devapidocs/org/apache/hadoop/hbase/master/replication/EnablePeerProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/replication/EnablePeerProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/replication/EnablePeerProcedure.html
index 4e78ee2..3b35ffa 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/replication/EnablePeerProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/replication/EnablePeerProcedure.html
@@ -106,6 +106,9 @@ var activeTableTab = "activeTableTab";
<li><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">org.apache.hadoop.hbase.procedure2.StateMachineProcedure</a><<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,TState></li>
<li>
<ul class="inheritance">
+<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure</a><TState></li>
+<li>
+<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">org.apache.hadoop.hbase.master.replication.AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></li>
<li>
<ul class="inheritance">
@@ -124,6 +127,8 @@ var activeTableTab = "activeTableTab";
</ul>
</li>
</ul>
+</li>
+</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
@@ -201,7 +206,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<!-- -->
</a>
<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#peerId">peerId</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#latch">latch</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Fields inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#attempts">attempts</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#peerId">peerId</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -298,7 +310,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.
hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code><
/li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#acquireLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">acquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#enablePeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">enablePeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#holdLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">holdLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#refreshPeer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface.PeerOperationType-">refreshPeer</a>, <a href="../../../../../../org/apache/hado
op/hbase/master/replication/AbstractPeerProcedure.html#releaseLock-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">releaseLock</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.replication.AbstractPeerNoLockProcedure">
+<!-- -->
+</a>
+<h3>Methods inherited from class org.apache.hadoop.hbase.master.replication.<a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#getPeerId--">getPeerId</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-TState-">rollbackState</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#setTimeoutFailure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#suspend-long-">suspend</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#waitInitialized-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">waitInitialized</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.StateMachineProcedure">
@@ -321,6 +340,13 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.procedure.PeerProcedureInterface">
+<!-- -->
+</a>
+<h3>Methods inherited from interface org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">PeerProcedureInterface</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.html#getPeerId--">getPeerId</a></code></li>
+</ul>
</li>
</ul>
</li>
@@ -463,7 +489,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
be able to resume on failure.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">serializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - stores the serializable state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
@@ -484,7 +510,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/replication/Mo
state.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">deserializeStateData</a></code> in class <code><a href="../../../../../../org/apache/hadoop/hbase/master/replication/AbstractPeerNoLockProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerNoLockProcedure</a><org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - contains the serialized state</dd>
<dt><span class="throwsLabel">Throws:</span></dt>