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 2017/04/15 14:58:27 UTC
[01/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Repository: hbase-site
Updated Branches:
refs/heads/asf-site dd1a1986a -> a949969bf
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html
index a3ba133..9e2d08d 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html
@@ -27,180 +27,179 @@
<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.procedure2;<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.util.ArrayList;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.commons.logging.Log;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.commons.logging.LogFactory;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.fs.FileSystem;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.fs.Path;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HBaseCommonTestingUtility;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.junit.After;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.junit.Before;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.junit.Test;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.junit.experimental.categories.Category;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>import static org.junit.Assert.assertEquals;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import static org.junit.Assert.assertTrue;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>@Category({MasterTests.class, SmallTests.class})<a name="line.43"></a>
-<span class="sourceLineNo">044</span>public class TestStateMachineProcedure {<a name="line.44"></a>
-<span class="sourceLineNo">045</span> private static final Log LOG = LogFactory.getLog(TestStateMachineProcedure.class);<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span> private static final Exception TEST_FAILURE_EXCEPTION = new Exception("test failure") {<a name="line.47"></a>
-<span class="sourceLineNo">048</span> @Override<a name="line.48"></a>
-<span class="sourceLineNo">049</span> public boolean equals(final Object other) {<a name="line.49"></a>
-<span class="sourceLineNo">050</span> if (this == other) return true;<a name="line.50"></a>
-<span class="sourceLineNo">051</span> if (!(other instanceof Exception)) return false;<a name="line.51"></a>
-<span class="sourceLineNo">052</span> // we are going to serialize the exception in the test,<a name="line.52"></a>
-<span class="sourceLineNo">053</span> // so the instance comparison will not match<a name="line.53"></a>
-<span class="sourceLineNo">054</span> return getMessage().equals(((Exception)other).getMessage());<a name="line.54"></a>
-<span class="sourceLineNo">055</span> }<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span> @Override<a name="line.57"></a>
-<span class="sourceLineNo">058</span> public int hashCode() {<a name="line.58"></a>
-<span class="sourceLineNo">059</span> return getMessage().hashCode();<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><a name="line.62"></a>
-<span class="sourceLineNo">063</span> private static final int PROCEDURE_EXECUTOR_SLOTS = 1;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span> private ProcedureExecutor<TestProcEnv> procExecutor;<a name="line.65"></a>
-<span class="sourceLineNo">066</span> private ProcedureStore procStore;<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span> private HBaseCommonTestingUtility htu;<a name="line.68"></a>
-<span class="sourceLineNo">069</span> private FileSystem fs;<a name="line.69"></a>
-<span class="sourceLineNo">070</span> private Path testDir;<a name="line.70"></a>
-<span class="sourceLineNo">071</span> private Path logDir;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span> @Before<a name="line.73"></a>
-<span class="sourceLineNo">074</span> public void setUp() throws IOException {<a name="line.74"></a>
-<span class="sourceLineNo">075</span> htu = new HBaseCommonTestingUtility();<a name="line.75"></a>
-<span class="sourceLineNo">076</span> testDir = htu.getDataTestDir();<a name="line.76"></a>
-<span class="sourceLineNo">077</span> fs = testDir.getFileSystem(htu.getConfiguration());<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span> logDir = new Path(testDir, "proc-logs");<a name="line.79"></a>
-<span class="sourceLineNo">080</span> procStore = ProcedureTestingUtility.createWalStore(htu.getConfiguration(), fs, logDir);<a name="line.80"></a>
-<span class="sourceLineNo">081</span> procExecutor = new ProcedureExecutor(htu.getConfiguration(), new TestProcEnv(), procStore);<a name="line.81"></a>
-<span class="sourceLineNo">082</span> procStore.start(PROCEDURE_EXECUTOR_SLOTS);<a name="line.82"></a>
-<span class="sourceLineNo">083</span> procExecutor.start(PROCEDURE_EXECUTOR_SLOTS, true);<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> @After<a name="line.86"></a>
-<span class="sourceLineNo">087</span> public void tearDown() throws IOException {<a name="line.87"></a>
-<span class="sourceLineNo">088</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, false);<a name="line.88"></a>
-<span class="sourceLineNo">089</span> assertTrue("expected executor to be running", procExecutor.isRunning());<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span> procExecutor.stop();<a name="line.91"></a>
-<span class="sourceLineNo">092</span> procStore.stop(false);<a name="line.92"></a>
-<span class="sourceLineNo">093</span> fs.delete(logDir, true);<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> @Test<a name="line.96"></a>
-<span class="sourceLineNo">097</span> public void testChildOnLastStep() {<a name="line.97"></a>
-<span class="sourceLineNo">098</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.98"></a>
-<span class="sourceLineNo">099</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.99"></a>
-<span class="sourceLineNo">100</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.100"></a>
-<span class="sourceLineNo">101</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.101"></a>
-<span class="sourceLineNo">102</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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> @Test<a name="line.105"></a>
-<span class="sourceLineNo">106</span> public void testChildOnLastStepDoubleExecution() throws Exception {<a name="line.106"></a>
-<span class="sourceLineNo">107</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.107"></a>
-<span class="sourceLineNo">108</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.108"></a>
-<span class="sourceLineNo">109</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId);<a name="line.109"></a>
-<span class="sourceLineNo">110</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.110"></a>
-<span class="sourceLineNo">111</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.111"></a>
-<span class="sourceLineNo">112</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<a name="line.112"></a>
-<span class="sourceLineNo">113</span> }<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span> @Test<a name="line.115"></a>
-<span class="sourceLineNo">116</span> public void testChildOnLastStepWithRollback() {<a name="line.116"></a>
-<span class="sourceLineNo">117</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.118"></a>
-<span class="sourceLineNo">119</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.119"></a>
-<span class="sourceLineNo">120</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.120"></a>
-<span class="sourceLineNo">121</span> assertEquals(3, procExecutor.getEnvironment().rollbackCount.get());<a name="line.121"></a>
-<span class="sourceLineNo">122</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.122"></a>
-<span class="sourceLineNo">123</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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 testChildOnLastStepWithRollbackDoubleExecution() throws Exception {<a name="line.127"></a>
-<span class="sourceLineNo">128</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.128"></a>
-<span class="sourceLineNo">129</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.129"></a>
-<span class="sourceLineNo">130</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.130"></a>
-<span class="sourceLineNo">131</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId, true);<a name="line.131"></a>
-<span class="sourceLineNo">132</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.132"></a>
-<span class="sourceLineNo">133</span> assertEquals(6, procExecutor.getEnvironment().rollbackCount.get());<a name="line.133"></a>
-<span class="sourceLineNo">134</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.134"></a>
-<span class="sourceLineNo">135</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<a name="line.135"></a>
-<span class="sourceLineNo">136</span> }<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span> public enum TestSMProcedureState { STEP_1, STEP_2 };<a name="line.138"></a>
-<span class="sourceLineNo">139</span> public static class TestSMProcedure<a name="line.139"></a>
-<span class="sourceLineNo">140</span> extends StateMachineProcedure<TestProcEnv, TestSMProcedureState> {<a name="line.140"></a>
-<span class="sourceLineNo">141</span> protected Flow executeFromState(TestProcEnv env, TestSMProcedureState state) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span> LOG.info("EXEC " + state + " " + this);<a name="line.142"></a>
-<span class="sourceLineNo">143</span> env.execCount.incrementAndGet();<a name="line.143"></a>
-<span class="sourceLineNo">144</span> switch (state) {<a name="line.144"></a>
-<span class="sourceLineNo">145</span> case STEP_1:<a name="line.145"></a>
-<span class="sourceLineNo">146</span> setNextState(TestSMProcedureState.STEP_2);<a name="line.146"></a>
-<span class="sourceLineNo">147</span> break;<a name="line.147"></a>
-<span class="sourceLineNo">148</span> case STEP_2:<a name="line.148"></a>
-<span class="sourceLineNo">149</span> addChildProcedure(new SimpleChildProcedure());<a name="line.149"></a>
-<span class="sourceLineNo">150</span> return Flow.NO_MORE_STATE;<a name="line.150"></a>
-<span class="sourceLineNo">151</span> }<a name="line.151"></a>
-<span class="sourceLineNo">152</span> return Flow.HAS_MORE_STATE;<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> protected void rollbackState(TestProcEnv env, TestSMProcedureState state) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> LOG.info("ROLLBACK " + state + " " + this);<a name="line.156"></a>
-<span class="sourceLineNo">157</span> env.rollbackCount.incrementAndGet();<a name="line.157"></a>
-<span class="sourceLineNo">158</span> }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span> protected TestSMProcedureState getState(int stateId) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> return TestSMProcedureState.values()[stateId];<a name="line.161"></a>
-<span class="sourceLineNo">162</span> }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span> protected int getStateId(TestSMProcedureState state) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span> return state.ordinal();<a name="line.165"></a>
-<span class="sourceLineNo">166</span> }<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span> protected TestSMProcedureState getInitialState() {<a name="line.168"></a>
-<span class="sourceLineNo">169</span> return TestSMProcedureState.STEP_1;<a name="line.169"></a>
-<span class="sourceLineNo">170</span> }<a name="line.170"></a>
-<span class="sourceLineNo">171</span> }<a name="line.171"></a>
-<span class="sourceLineNo">172</span><a name="line.172"></a>
-<span class="sourceLineNo">173</span> public static class SimpleChildProcedure extends NoopProcedure<TestProcEnv> {<a name="line.173"></a>
-<span class="sourceLineNo">174</span> protected Procedure[] execute(TestProcEnv env) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span> LOG.info("EXEC " + this);<a name="line.175"></a>
-<span class="sourceLineNo">176</span> env.execCount.incrementAndGet();<a name="line.176"></a>
-<span class="sourceLineNo">177</span> if (env.triggerChildRollback) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> setFailure("test-failure", TEST_FAILURE_EXCEPTION);<a name="line.178"></a>
-<span class="sourceLineNo">179</span> }<a name="line.179"></a>
-<span class="sourceLineNo">180</span> return null;<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> @Override<a name="line.183"></a>
-<span class="sourceLineNo">184</span> protected void rollback(TestProcEnv env) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span> LOG.info("ROLLBACK " + this);<a name="line.185"></a>
-<span class="sourceLineNo">186</span> env.rollbackCount.incrementAndGet();<a name="line.186"></a>
-<span class="sourceLineNo">187</span> }<a name="line.187"></a>
-<span class="sourceLineNo">188</span> }<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span> public class TestProcEnv {<a name="line.190"></a>
-<span class="sourceLineNo">191</span> AtomicInteger execCount = new AtomicInteger(0);<a name="line.191"></a>
-<span class="sourceLineNo">192</span> AtomicInteger rollbackCount = new AtomicInteger(0);<a name="line.192"></a>
-<span class="sourceLineNo">193</span> boolean triggerChildRollback = false;<a name="line.193"></a>
-<span class="sourceLineNo">194</span> }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>}<a name="line.195"></a>
+<span class="sourceLineNo">022</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.commons.logging.Log;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.commons.logging.LogFactory;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.fs.FileSystem;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.fs.Path;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.HBaseCommonTestingUtility;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.junit.After;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.junit.Before;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.junit.Test;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.junit.experimental.categories.Category;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>import static org.junit.Assert.assertEquals;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import static org.junit.Assert.assertTrue;<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>@Category({MasterTests.class, SmallTests.class})<a name="line.42"></a>
+<span class="sourceLineNo">043</span>public class TestStateMachineProcedure {<a name="line.43"></a>
+<span class="sourceLineNo">044</span> private static final Log LOG = LogFactory.getLog(TestStateMachineProcedure.class);<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span> private static final Exception TEST_FAILURE_EXCEPTION = new Exception("test failure") {<a name="line.46"></a>
+<span class="sourceLineNo">047</span> @Override<a name="line.47"></a>
+<span class="sourceLineNo">048</span> public boolean equals(final Object other) {<a name="line.48"></a>
+<span class="sourceLineNo">049</span> if (this == other) return true;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> if (!(other instanceof Exception)) return false;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> // we are going to serialize the exception in the test,<a name="line.51"></a>
+<span class="sourceLineNo">052</span> // so the instance comparison will not match<a name="line.52"></a>
+<span class="sourceLineNo">053</span> return getMessage().equals(((Exception)other).getMessage());<a name="line.53"></a>
+<span class="sourceLineNo">054</span> }<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span> @Override<a name="line.56"></a>
+<span class="sourceLineNo">057</span> public int hashCode() {<a name="line.57"></a>
+<span class="sourceLineNo">058</span> return getMessage().hashCode();<a name="line.58"></a>
+<span class="sourceLineNo">059</span> }<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> private static final int PROCEDURE_EXECUTOR_SLOTS = 1;<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span> private ProcedureExecutor<TestProcEnv> procExecutor;<a name="line.64"></a>
+<span class="sourceLineNo">065</span> private ProcedureStore procStore;<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span> private HBaseCommonTestingUtility htu;<a name="line.67"></a>
+<span class="sourceLineNo">068</span> private FileSystem fs;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> private Path testDir;<a name="line.69"></a>
+<span class="sourceLineNo">070</span> private Path logDir;<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span> @Before<a name="line.72"></a>
+<span class="sourceLineNo">073</span> public void setUp() throws IOException {<a name="line.73"></a>
+<span class="sourceLineNo">074</span> htu = new HBaseCommonTestingUtility();<a name="line.74"></a>
+<span class="sourceLineNo">075</span> testDir = htu.getDataTestDir();<a name="line.75"></a>
+<span class="sourceLineNo">076</span> fs = testDir.getFileSystem(htu.getConfiguration());<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span> logDir = new Path(testDir, "proc-logs");<a name="line.78"></a>
+<span class="sourceLineNo">079</span> procStore = ProcedureTestingUtility.createWalStore(htu.getConfiguration(), fs, logDir);<a name="line.79"></a>
+<span class="sourceLineNo">080</span> procExecutor = new ProcedureExecutor(htu.getConfiguration(), new TestProcEnv(), procStore);<a name="line.80"></a>
+<span class="sourceLineNo">081</span> procStore.start(PROCEDURE_EXECUTOR_SLOTS);<a name="line.81"></a>
+<span class="sourceLineNo">082</span> procExecutor.start(PROCEDURE_EXECUTOR_SLOTS, true);<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> @After<a name="line.85"></a>
+<span class="sourceLineNo">086</span> public void tearDown() throws IOException {<a name="line.86"></a>
+<span class="sourceLineNo">087</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, false);<a name="line.87"></a>
+<span class="sourceLineNo">088</span> assertTrue("expected executor to be running", procExecutor.isRunning());<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span> procExecutor.stop();<a name="line.90"></a>
+<span class="sourceLineNo">091</span> procStore.stop(false);<a name="line.91"></a>
+<span class="sourceLineNo">092</span> fs.delete(logDir, true);<a name="line.92"></a>
+<span class="sourceLineNo">093</span> }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span> @Test<a name="line.95"></a>
+<span class="sourceLineNo">096</span> public void testChildOnLastStep() {<a name="line.96"></a>
+<span class="sourceLineNo">097</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.97"></a>
+<span class="sourceLineNo">098</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.98"></a>
+<span class="sourceLineNo">099</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.99"></a>
+<span class="sourceLineNo">100</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.100"></a>
+<span class="sourceLineNo">101</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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> @Test<a name="line.104"></a>
+<span class="sourceLineNo">105</span> public void testChildOnLastStepDoubleExecution() throws Exception {<a name="line.105"></a>
+<span class="sourceLineNo">106</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.106"></a>
+<span class="sourceLineNo">107</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.107"></a>
+<span class="sourceLineNo">108</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId);<a name="line.108"></a>
+<span class="sourceLineNo">109</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.109"></a>
+<span class="sourceLineNo">110</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.110"></a>
+<span class="sourceLineNo">111</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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 testChildOnLastStepWithRollback() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.116"></a>
+<span class="sourceLineNo">117</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.117"></a>
+<span class="sourceLineNo">118</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.118"></a>
+<span class="sourceLineNo">119</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.119"></a>
+<span class="sourceLineNo">120</span> assertEquals(3, procExecutor.getEnvironment().rollbackCount.get());<a name="line.120"></a>
+<span class="sourceLineNo">121</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.121"></a>
+<span class="sourceLineNo">122</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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> @Test<a name="line.125"></a>
+<span class="sourceLineNo">126</span> public void testChildOnLastStepWithRollbackDoubleExecution() throws Exception {<a name="line.126"></a>
+<span class="sourceLineNo">127</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.127"></a>
+<span class="sourceLineNo">128</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.128"></a>
+<span class="sourceLineNo">129</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.129"></a>
+<span class="sourceLineNo">130</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId, true);<a name="line.130"></a>
+<span class="sourceLineNo">131</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.131"></a>
+<span class="sourceLineNo">132</span> assertEquals(6, procExecutor.getEnvironment().rollbackCount.get());<a name="line.132"></a>
+<span class="sourceLineNo">133</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.133"></a>
+<span class="sourceLineNo">134</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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> public enum TestSMProcedureState { STEP_1, STEP_2 };<a name="line.137"></a>
+<span class="sourceLineNo">138</span> public static class TestSMProcedure<a name="line.138"></a>
+<span class="sourceLineNo">139</span> extends StateMachineProcedure<TestProcEnv, TestSMProcedureState> {<a name="line.139"></a>
+<span class="sourceLineNo">140</span> protected Flow executeFromState(TestProcEnv env, TestSMProcedureState state) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span> LOG.info("EXEC " + state + " " + this);<a name="line.141"></a>
+<span class="sourceLineNo">142</span> env.execCount.incrementAndGet();<a name="line.142"></a>
+<span class="sourceLineNo">143</span> switch (state) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span> case STEP_1:<a name="line.144"></a>
+<span class="sourceLineNo">145</span> setNextState(TestSMProcedureState.STEP_2);<a name="line.145"></a>
+<span class="sourceLineNo">146</span> break;<a name="line.146"></a>
+<span class="sourceLineNo">147</span> case STEP_2:<a name="line.147"></a>
+<span class="sourceLineNo">148</span> addChildProcedure(new SimpleChildProcedure());<a name="line.148"></a>
+<span class="sourceLineNo">149</span> return Flow.NO_MORE_STATE;<a name="line.149"></a>
+<span class="sourceLineNo">150</span> }<a name="line.150"></a>
+<span class="sourceLineNo">151</span> return Flow.HAS_MORE_STATE;<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> protected void rollbackState(TestProcEnv env, TestSMProcedureState state) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span> LOG.info("ROLLBACK " + state + " " + this);<a name="line.155"></a>
+<span class="sourceLineNo">156</span> env.rollbackCount.incrementAndGet();<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> protected TestSMProcedureState getState(int stateId) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span> return TestSMProcedureState.values()[stateId];<a name="line.160"></a>
+<span class="sourceLineNo">161</span> }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span> protected int getStateId(TestSMProcedureState state) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span> return state.ordinal();<a name="line.164"></a>
+<span class="sourceLineNo">165</span> }<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span> protected TestSMProcedureState getInitialState() {<a name="line.167"></a>
+<span class="sourceLineNo">168</span> return TestSMProcedureState.STEP_1;<a name="line.168"></a>
+<span class="sourceLineNo">169</span> }<a name="line.169"></a>
+<span class="sourceLineNo">170</span> }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span> public static class SimpleChildProcedure extends NoopProcedure<TestProcEnv> {<a name="line.172"></a>
+<span class="sourceLineNo">173</span> protected Procedure[] execute(TestProcEnv env) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span> LOG.info("EXEC " + this);<a name="line.174"></a>
+<span class="sourceLineNo">175</span> env.execCount.incrementAndGet();<a name="line.175"></a>
+<span class="sourceLineNo">176</span> if (env.triggerChildRollback) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span> setFailure("test-failure", TEST_FAILURE_EXCEPTION);<a name="line.177"></a>
+<span class="sourceLineNo">178</span> }<a name="line.178"></a>
+<span class="sourceLineNo">179</span> return null;<a name="line.179"></a>
+<span class="sourceLineNo">180</span> }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span> @Override<a name="line.182"></a>
+<span class="sourceLineNo">183</span> protected void rollback(TestProcEnv env) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span> LOG.info("ROLLBACK " + this);<a name="line.184"></a>
+<span class="sourceLineNo">185</span> env.rollbackCount.incrementAndGet();<a name="line.185"></a>
+<span class="sourceLineNo">186</span> }<a name="line.186"></a>
+<span class="sourceLineNo">187</span> }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span> public class TestProcEnv {<a name="line.189"></a>
+<span class="sourceLineNo">190</span> AtomicInteger execCount = new AtomicInteger(0);<a name="line.190"></a>
+<span class="sourceLineNo">191</span> AtomicInteger rollbackCount = new AtomicInteger(0);<a name="line.191"></a>
+<span class="sourceLineNo">192</span> boolean triggerChildRollback = false;<a name="line.192"></a>
+<span class="sourceLineNo">193</span> }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>}<a name="line.194"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html
index a3ba133..9e2d08d 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html
@@ -27,180 +27,179 @@
<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.procedure2;<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.util.ArrayList;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.commons.logging.Log;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.commons.logging.LogFactory;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.fs.FileSystem;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.fs.Path;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HBaseCommonTestingUtility;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.junit.After;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.junit.Before;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.junit.Test;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.junit.experimental.categories.Category;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>import static org.junit.Assert.assertEquals;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import static org.junit.Assert.assertTrue;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>@Category({MasterTests.class, SmallTests.class})<a name="line.43"></a>
-<span class="sourceLineNo">044</span>public class TestStateMachineProcedure {<a name="line.44"></a>
-<span class="sourceLineNo">045</span> private static final Log LOG = LogFactory.getLog(TestStateMachineProcedure.class);<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span> private static final Exception TEST_FAILURE_EXCEPTION = new Exception("test failure") {<a name="line.47"></a>
-<span class="sourceLineNo">048</span> @Override<a name="line.48"></a>
-<span class="sourceLineNo">049</span> public boolean equals(final Object other) {<a name="line.49"></a>
-<span class="sourceLineNo">050</span> if (this == other) return true;<a name="line.50"></a>
-<span class="sourceLineNo">051</span> if (!(other instanceof Exception)) return false;<a name="line.51"></a>
-<span class="sourceLineNo">052</span> // we are going to serialize the exception in the test,<a name="line.52"></a>
-<span class="sourceLineNo">053</span> // so the instance comparison will not match<a name="line.53"></a>
-<span class="sourceLineNo">054</span> return getMessage().equals(((Exception)other).getMessage());<a name="line.54"></a>
-<span class="sourceLineNo">055</span> }<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span> @Override<a name="line.57"></a>
-<span class="sourceLineNo">058</span> public int hashCode() {<a name="line.58"></a>
-<span class="sourceLineNo">059</span> return getMessage().hashCode();<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><a name="line.62"></a>
-<span class="sourceLineNo">063</span> private static final int PROCEDURE_EXECUTOR_SLOTS = 1;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span> private ProcedureExecutor<TestProcEnv> procExecutor;<a name="line.65"></a>
-<span class="sourceLineNo">066</span> private ProcedureStore procStore;<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span> private HBaseCommonTestingUtility htu;<a name="line.68"></a>
-<span class="sourceLineNo">069</span> private FileSystem fs;<a name="line.69"></a>
-<span class="sourceLineNo">070</span> private Path testDir;<a name="line.70"></a>
-<span class="sourceLineNo">071</span> private Path logDir;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span> @Before<a name="line.73"></a>
-<span class="sourceLineNo">074</span> public void setUp() throws IOException {<a name="line.74"></a>
-<span class="sourceLineNo">075</span> htu = new HBaseCommonTestingUtility();<a name="line.75"></a>
-<span class="sourceLineNo">076</span> testDir = htu.getDataTestDir();<a name="line.76"></a>
-<span class="sourceLineNo">077</span> fs = testDir.getFileSystem(htu.getConfiguration());<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span> logDir = new Path(testDir, "proc-logs");<a name="line.79"></a>
-<span class="sourceLineNo">080</span> procStore = ProcedureTestingUtility.createWalStore(htu.getConfiguration(), fs, logDir);<a name="line.80"></a>
-<span class="sourceLineNo">081</span> procExecutor = new ProcedureExecutor(htu.getConfiguration(), new TestProcEnv(), procStore);<a name="line.81"></a>
-<span class="sourceLineNo">082</span> procStore.start(PROCEDURE_EXECUTOR_SLOTS);<a name="line.82"></a>
-<span class="sourceLineNo">083</span> procExecutor.start(PROCEDURE_EXECUTOR_SLOTS, true);<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> @After<a name="line.86"></a>
-<span class="sourceLineNo">087</span> public void tearDown() throws IOException {<a name="line.87"></a>
-<span class="sourceLineNo">088</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, false);<a name="line.88"></a>
-<span class="sourceLineNo">089</span> assertTrue("expected executor to be running", procExecutor.isRunning());<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span> procExecutor.stop();<a name="line.91"></a>
-<span class="sourceLineNo">092</span> procStore.stop(false);<a name="line.92"></a>
-<span class="sourceLineNo">093</span> fs.delete(logDir, true);<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> @Test<a name="line.96"></a>
-<span class="sourceLineNo">097</span> public void testChildOnLastStep() {<a name="line.97"></a>
-<span class="sourceLineNo">098</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.98"></a>
-<span class="sourceLineNo">099</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.99"></a>
-<span class="sourceLineNo">100</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.100"></a>
-<span class="sourceLineNo">101</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.101"></a>
-<span class="sourceLineNo">102</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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> @Test<a name="line.105"></a>
-<span class="sourceLineNo">106</span> public void testChildOnLastStepDoubleExecution() throws Exception {<a name="line.106"></a>
-<span class="sourceLineNo">107</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.107"></a>
-<span class="sourceLineNo">108</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.108"></a>
-<span class="sourceLineNo">109</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId);<a name="line.109"></a>
-<span class="sourceLineNo">110</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.110"></a>
-<span class="sourceLineNo">111</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.111"></a>
-<span class="sourceLineNo">112</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<a name="line.112"></a>
-<span class="sourceLineNo">113</span> }<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span> @Test<a name="line.115"></a>
-<span class="sourceLineNo">116</span> public void testChildOnLastStepWithRollback() {<a name="line.116"></a>
-<span class="sourceLineNo">117</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.118"></a>
-<span class="sourceLineNo">119</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.119"></a>
-<span class="sourceLineNo">120</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.120"></a>
-<span class="sourceLineNo">121</span> assertEquals(3, procExecutor.getEnvironment().rollbackCount.get());<a name="line.121"></a>
-<span class="sourceLineNo">122</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.122"></a>
-<span class="sourceLineNo">123</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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 testChildOnLastStepWithRollbackDoubleExecution() throws Exception {<a name="line.127"></a>
-<span class="sourceLineNo">128</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.128"></a>
-<span class="sourceLineNo">129</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.129"></a>
-<span class="sourceLineNo">130</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.130"></a>
-<span class="sourceLineNo">131</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId, true);<a name="line.131"></a>
-<span class="sourceLineNo">132</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.132"></a>
-<span class="sourceLineNo">133</span> assertEquals(6, procExecutor.getEnvironment().rollbackCount.get());<a name="line.133"></a>
-<span class="sourceLineNo">134</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.134"></a>
-<span class="sourceLineNo">135</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<a name="line.135"></a>
-<span class="sourceLineNo">136</span> }<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span> public enum TestSMProcedureState { STEP_1, STEP_2 };<a name="line.138"></a>
-<span class="sourceLineNo">139</span> public static class TestSMProcedure<a name="line.139"></a>
-<span class="sourceLineNo">140</span> extends StateMachineProcedure<TestProcEnv, TestSMProcedureState> {<a name="line.140"></a>
-<span class="sourceLineNo">141</span> protected Flow executeFromState(TestProcEnv env, TestSMProcedureState state) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span> LOG.info("EXEC " + state + " " + this);<a name="line.142"></a>
-<span class="sourceLineNo">143</span> env.execCount.incrementAndGet();<a name="line.143"></a>
-<span class="sourceLineNo">144</span> switch (state) {<a name="line.144"></a>
-<span class="sourceLineNo">145</span> case STEP_1:<a name="line.145"></a>
-<span class="sourceLineNo">146</span> setNextState(TestSMProcedureState.STEP_2);<a name="line.146"></a>
-<span class="sourceLineNo">147</span> break;<a name="line.147"></a>
-<span class="sourceLineNo">148</span> case STEP_2:<a name="line.148"></a>
-<span class="sourceLineNo">149</span> addChildProcedure(new SimpleChildProcedure());<a name="line.149"></a>
-<span class="sourceLineNo">150</span> return Flow.NO_MORE_STATE;<a name="line.150"></a>
-<span class="sourceLineNo">151</span> }<a name="line.151"></a>
-<span class="sourceLineNo">152</span> return Flow.HAS_MORE_STATE;<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> protected void rollbackState(TestProcEnv env, TestSMProcedureState state) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> LOG.info("ROLLBACK " + state + " " + this);<a name="line.156"></a>
-<span class="sourceLineNo">157</span> env.rollbackCount.incrementAndGet();<a name="line.157"></a>
-<span class="sourceLineNo">158</span> }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span> protected TestSMProcedureState getState(int stateId) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> return TestSMProcedureState.values()[stateId];<a name="line.161"></a>
-<span class="sourceLineNo">162</span> }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span> protected int getStateId(TestSMProcedureState state) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span> return state.ordinal();<a name="line.165"></a>
-<span class="sourceLineNo">166</span> }<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span> protected TestSMProcedureState getInitialState() {<a name="line.168"></a>
-<span class="sourceLineNo">169</span> return TestSMProcedureState.STEP_1;<a name="line.169"></a>
-<span class="sourceLineNo">170</span> }<a name="line.170"></a>
-<span class="sourceLineNo">171</span> }<a name="line.171"></a>
-<span class="sourceLineNo">172</span><a name="line.172"></a>
-<span class="sourceLineNo">173</span> public static class SimpleChildProcedure extends NoopProcedure<TestProcEnv> {<a name="line.173"></a>
-<span class="sourceLineNo">174</span> protected Procedure[] execute(TestProcEnv env) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span> LOG.info("EXEC " + this);<a name="line.175"></a>
-<span class="sourceLineNo">176</span> env.execCount.incrementAndGet();<a name="line.176"></a>
-<span class="sourceLineNo">177</span> if (env.triggerChildRollback) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> setFailure("test-failure", TEST_FAILURE_EXCEPTION);<a name="line.178"></a>
-<span class="sourceLineNo">179</span> }<a name="line.179"></a>
-<span class="sourceLineNo">180</span> return null;<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> @Override<a name="line.183"></a>
-<span class="sourceLineNo">184</span> protected void rollback(TestProcEnv env) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span> LOG.info("ROLLBACK " + this);<a name="line.185"></a>
-<span class="sourceLineNo">186</span> env.rollbackCount.incrementAndGet();<a name="line.186"></a>
-<span class="sourceLineNo">187</span> }<a name="line.187"></a>
-<span class="sourceLineNo">188</span> }<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span> public class TestProcEnv {<a name="line.190"></a>
-<span class="sourceLineNo">191</span> AtomicInteger execCount = new AtomicInteger(0);<a name="line.191"></a>
-<span class="sourceLineNo">192</span> AtomicInteger rollbackCount = new AtomicInteger(0);<a name="line.192"></a>
-<span class="sourceLineNo">193</span> boolean triggerChildRollback = false;<a name="line.193"></a>
-<span class="sourceLineNo">194</span> }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>}<a name="line.195"></a>
+<span class="sourceLineNo">022</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.commons.logging.Log;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.commons.logging.LogFactory;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.fs.FileSystem;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.fs.Path;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.HBaseCommonTestingUtility;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.junit.After;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.junit.Before;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.junit.Test;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.junit.experimental.categories.Category;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>import static org.junit.Assert.assertEquals;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import static org.junit.Assert.assertTrue;<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>@Category({MasterTests.class, SmallTests.class})<a name="line.42"></a>
+<span class="sourceLineNo">043</span>public class TestStateMachineProcedure {<a name="line.43"></a>
+<span class="sourceLineNo">044</span> private static final Log LOG = LogFactory.getLog(TestStateMachineProcedure.class);<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span> private static final Exception TEST_FAILURE_EXCEPTION = new Exception("test failure") {<a name="line.46"></a>
+<span class="sourceLineNo">047</span> @Override<a name="line.47"></a>
+<span class="sourceLineNo">048</span> public boolean equals(final Object other) {<a name="line.48"></a>
+<span class="sourceLineNo">049</span> if (this == other) return true;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> if (!(other instanceof Exception)) return false;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> // we are going to serialize the exception in the test,<a name="line.51"></a>
+<span class="sourceLineNo">052</span> // so the instance comparison will not match<a name="line.52"></a>
+<span class="sourceLineNo">053</span> return getMessage().equals(((Exception)other).getMessage());<a name="line.53"></a>
+<span class="sourceLineNo">054</span> }<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span> @Override<a name="line.56"></a>
+<span class="sourceLineNo">057</span> public int hashCode() {<a name="line.57"></a>
+<span class="sourceLineNo">058</span> return getMessage().hashCode();<a name="line.58"></a>
+<span class="sourceLineNo">059</span> }<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> private static final int PROCEDURE_EXECUTOR_SLOTS = 1;<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span> private ProcedureExecutor<TestProcEnv> procExecutor;<a name="line.64"></a>
+<span class="sourceLineNo">065</span> private ProcedureStore procStore;<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span> private HBaseCommonTestingUtility htu;<a name="line.67"></a>
+<span class="sourceLineNo">068</span> private FileSystem fs;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> private Path testDir;<a name="line.69"></a>
+<span class="sourceLineNo">070</span> private Path logDir;<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span> @Before<a name="line.72"></a>
+<span class="sourceLineNo">073</span> public void setUp() throws IOException {<a name="line.73"></a>
+<span class="sourceLineNo">074</span> htu = new HBaseCommonTestingUtility();<a name="line.74"></a>
+<span class="sourceLineNo">075</span> testDir = htu.getDataTestDir();<a name="line.75"></a>
+<span class="sourceLineNo">076</span> fs = testDir.getFileSystem(htu.getConfiguration());<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span> logDir = new Path(testDir, "proc-logs");<a name="line.78"></a>
+<span class="sourceLineNo">079</span> procStore = ProcedureTestingUtility.createWalStore(htu.getConfiguration(), fs, logDir);<a name="line.79"></a>
+<span class="sourceLineNo">080</span> procExecutor = new ProcedureExecutor(htu.getConfiguration(), new TestProcEnv(), procStore);<a name="line.80"></a>
+<span class="sourceLineNo">081</span> procStore.start(PROCEDURE_EXECUTOR_SLOTS);<a name="line.81"></a>
+<span class="sourceLineNo">082</span> procExecutor.start(PROCEDURE_EXECUTOR_SLOTS, true);<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> @After<a name="line.85"></a>
+<span class="sourceLineNo">086</span> public void tearDown() throws IOException {<a name="line.86"></a>
+<span class="sourceLineNo">087</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, false);<a name="line.87"></a>
+<span class="sourceLineNo">088</span> assertTrue("expected executor to be running", procExecutor.isRunning());<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span> procExecutor.stop();<a name="line.90"></a>
+<span class="sourceLineNo">091</span> procStore.stop(false);<a name="line.91"></a>
+<span class="sourceLineNo">092</span> fs.delete(logDir, true);<a name="line.92"></a>
+<span class="sourceLineNo">093</span> }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span> @Test<a name="line.95"></a>
+<span class="sourceLineNo">096</span> public void testChildOnLastStep() {<a name="line.96"></a>
+<span class="sourceLineNo">097</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.97"></a>
+<span class="sourceLineNo">098</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.98"></a>
+<span class="sourceLineNo">099</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.99"></a>
+<span class="sourceLineNo">100</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.100"></a>
+<span class="sourceLineNo">101</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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> @Test<a name="line.104"></a>
+<span class="sourceLineNo">105</span> public void testChildOnLastStepDoubleExecution() throws Exception {<a name="line.105"></a>
+<span class="sourceLineNo">106</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.106"></a>
+<span class="sourceLineNo">107</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.107"></a>
+<span class="sourceLineNo">108</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId);<a name="line.108"></a>
+<span class="sourceLineNo">109</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.109"></a>
+<span class="sourceLineNo">110</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.110"></a>
+<span class="sourceLineNo">111</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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 testChildOnLastStepWithRollback() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.116"></a>
+<span class="sourceLineNo">117</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.117"></a>
+<span class="sourceLineNo">118</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.118"></a>
+<span class="sourceLineNo">119</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.119"></a>
+<span class="sourceLineNo">120</span> assertEquals(3, procExecutor.getEnvironment().rollbackCount.get());<a name="line.120"></a>
+<span class="sourceLineNo">121</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.121"></a>
+<span class="sourceLineNo">122</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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> @Test<a name="line.125"></a>
+<span class="sourceLineNo">126</span> public void testChildOnLastStepWithRollbackDoubleExecution() throws Exception {<a name="line.126"></a>
+<span class="sourceLineNo">127</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.127"></a>
+<span class="sourceLineNo">128</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.128"></a>
+<span class="sourceLineNo">129</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.129"></a>
+<span class="sourceLineNo">130</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId, true);<a name="line.130"></a>
+<span class="sourceLineNo">131</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.131"></a>
+<span class="sourceLineNo">132</span> assertEquals(6, procExecutor.getEnvironment().rollbackCount.get());<a name="line.132"></a>
+<span class="sourceLineNo">133</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.133"></a>
+<span class="sourceLineNo">134</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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> public enum TestSMProcedureState { STEP_1, STEP_2 };<a name="line.137"></a>
+<span class="sourceLineNo">138</span> public static class TestSMProcedure<a name="line.138"></a>
+<span class="sourceLineNo">139</span> extends StateMachineProcedure<TestProcEnv, TestSMProcedureState> {<a name="line.139"></a>
+<span class="sourceLineNo">140</span> protected Flow executeFromState(TestProcEnv env, TestSMProcedureState state) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span> LOG.info("EXEC " + state + " " + this);<a name="line.141"></a>
+<span class="sourceLineNo">142</span> env.execCount.incrementAndGet();<a name="line.142"></a>
+<span class="sourceLineNo">143</span> switch (state) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span> case STEP_1:<a name="line.144"></a>
+<span class="sourceLineNo">145</span> setNextState(TestSMProcedureState.STEP_2);<a name="line.145"></a>
+<span class="sourceLineNo">146</span> break;<a name="line.146"></a>
+<span class="sourceLineNo">147</span> case STEP_2:<a name="line.147"></a>
+<span class="sourceLineNo">148</span> addChildProcedure(new SimpleChildProcedure());<a name="line.148"></a>
+<span class="sourceLineNo">149</span> return Flow.NO_MORE_STATE;<a name="line.149"></a>
+<span class="sourceLineNo">150</span> }<a name="line.150"></a>
+<span class="sourceLineNo">151</span> return Flow.HAS_MORE_STATE;<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> protected void rollbackState(TestProcEnv env, TestSMProcedureState state) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span> LOG.info("ROLLBACK " + state + " " + this);<a name="line.155"></a>
+<span class="sourceLineNo">156</span> env.rollbackCount.incrementAndGet();<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> protected TestSMProcedureState getState(int stateId) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span> return TestSMProcedureState.values()[stateId];<a name="line.160"></a>
+<span class="sourceLineNo">161</span> }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span> protected int getStateId(TestSMProcedureState state) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span> return state.ordinal();<a name="line.164"></a>
+<span class="sourceLineNo">165</span> }<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span> protected TestSMProcedureState getInitialState() {<a name="line.167"></a>
+<span class="sourceLineNo">168</span> return TestSMProcedureState.STEP_1;<a name="line.168"></a>
+<span class="sourceLineNo">169</span> }<a name="line.169"></a>
+<span class="sourceLineNo">170</span> }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span> public static class SimpleChildProcedure extends NoopProcedure<TestProcEnv> {<a name="line.172"></a>
+<span class="sourceLineNo">173</span> protected Procedure[] execute(TestProcEnv env) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span> LOG.info("EXEC " + this);<a name="line.174"></a>
+<span class="sourceLineNo">175</span> env.execCount.incrementAndGet();<a name="line.175"></a>
+<span class="sourceLineNo">176</span> if (env.triggerChildRollback) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span> setFailure("test-failure", TEST_FAILURE_EXCEPTION);<a name="line.177"></a>
+<span class="sourceLineNo">178</span> }<a name="line.178"></a>
+<span class="sourceLineNo">179</span> return null;<a name="line.179"></a>
+<span class="sourceLineNo">180</span> }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span> @Override<a name="line.182"></a>
+<span class="sourceLineNo">183</span> protected void rollback(TestProcEnv env) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span> LOG.info("ROLLBACK " + this);<a name="line.184"></a>
+<span class="sourceLineNo">185</span> env.rollbackCount.incrementAndGet();<a name="line.185"></a>
+<span class="sourceLineNo">186</span> }<a name="line.186"></a>
+<span class="sourceLineNo">187</span> }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span> public class TestProcEnv {<a name="line.189"></a>
+<span class="sourceLineNo">190</span> AtomicInteger execCount = new AtomicInteger(0);<a name="line.190"></a>
+<span class="sourceLineNo">191</span> AtomicInteger rollbackCount = new AtomicInteger(0);<a name="line.191"></a>
+<span class="sourceLineNo">192</span> boolean triggerChildRollback = false;<a name="line.192"></a>
+<span class="sourceLineNo">193</span> }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>}<a name="line.194"></a>
[14/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html
index a1495ff..0c11099 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html
@@ -839,1019 +839,1030 @@
<span class="sourceLineNo">831</span> private long pushProcedure(final Procedure proc) {<a name="line.831"></a>
<span class="sourceLineNo">832</span> final long currentProcId = proc.getProcId();<a name="line.832"></a>
<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span> // Create the rollback stack for the procedure<a name="line.834"></a>
-<span class="sourceLineNo">835</span> RootProcedureState stack = new RootProcedureState();<a name="line.835"></a>
-<span class="sourceLineNo">836</span> rollbackStack.put(currentProcId, stack);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span> // Submit the new subprocedures<a name="line.838"></a>
-<span class="sourceLineNo">839</span> assert !procedures.containsKey(currentProcId);<a name="line.839"></a>
-<span class="sourceLineNo">840</span> procedures.put(currentProcId, proc);<a name="line.840"></a>
-<span class="sourceLineNo">841</span> sendProcedureAddedNotification(currentProcId);<a name="line.841"></a>
-<span class="sourceLineNo">842</span> scheduler.addBack(proc);<a name="line.842"></a>
-<span class="sourceLineNo">843</span> return proc.getProcId();<a name="line.843"></a>
-<span class="sourceLineNo">844</span> }<a name="line.844"></a>
-<span class="sourceLineNo">845</span><a name="line.845"></a>
-<span class="sourceLineNo">846</span> /**<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * Send an abort notification the specified procedure.<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.848"></a>
-<span class="sourceLineNo">849</span> * @param procId the procedure to abort<a name="line.849"></a>
-<span class="sourceLineNo">850</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.850"></a>
-<span class="sourceLineNo">851</span> */<a name="line.851"></a>
-<span class="sourceLineNo">852</span> public boolean abort(final long procId) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span> return abort(procId, true);<a name="line.853"></a>
-<span class="sourceLineNo">854</span> }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span> /**<a name="line.856"></a>
-<span class="sourceLineNo">857</span> * Send an abort notification the specified procedure.<a name="line.857"></a>
-<span class="sourceLineNo">858</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.858"></a>
-<span class="sourceLineNo">859</span> * @param procId the procedure to abort<a name="line.859"></a>
-<span class="sourceLineNo">860</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.860"></a>
-<span class="sourceLineNo">861</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.861"></a>
-<span class="sourceLineNo">862</span> */<a name="line.862"></a>
-<span class="sourceLineNo">863</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.863"></a>
-<span class="sourceLineNo">864</span> final Procedure proc = procedures.get(procId);<a name="line.864"></a>
-<span class="sourceLineNo">865</span> if (proc != null) {<a name="line.865"></a>
-<span class="sourceLineNo">866</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.866"></a>
-<span class="sourceLineNo">867</span> return false;<a name="line.867"></a>
-<span class="sourceLineNo">868</span> }<a name="line.868"></a>
-<span class="sourceLineNo">869</span> return proc.abort(getEnvironment());<a name="line.869"></a>
-<span class="sourceLineNo">870</span> }<a name="line.870"></a>
-<span class="sourceLineNo">871</span> return false;<a name="line.871"></a>
-<span class="sourceLineNo">872</span> }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span> // ==========================================================================<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // Executor query helpers<a name="line.875"></a>
-<span class="sourceLineNo">876</span> // ==========================================================================<a name="line.876"></a>
-<span class="sourceLineNo">877</span> public Procedure getProcedure(final long procId) {<a name="line.877"></a>
-<span class="sourceLineNo">878</span> return procedures.get(procId);<a name="line.878"></a>
-<span class="sourceLineNo">879</span> }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span> final Procedure proc = getProcedure(procId);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> if (clazz.isInstance(proc)) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span> return (T)proc;<a name="line.884"></a>
-<span class="sourceLineNo">885</span> }<a name="line.885"></a>
-<span class="sourceLineNo">886</span> return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span> }<a name="line.887"></a>
-<span class="sourceLineNo">888</span><a name="line.888"></a>
-<span class="sourceLineNo">889</span> public ProcedureInfo getResult(final long procId) {<a name="line.889"></a>
-<span class="sourceLineNo">890</span> return completed.get(procId);<a name="line.890"></a>
-<span class="sourceLineNo">891</span> }<a name="line.891"></a>
-<span class="sourceLineNo">892</span><a name="line.892"></a>
-<span class="sourceLineNo">893</span> /**<a name="line.893"></a>
-<span class="sourceLineNo">894</span> * Return true if the procedure is finished.<a name="line.894"></a>
-<span class="sourceLineNo">895</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.895"></a>
-<span class="sourceLineNo">896</span> * Use getResult() to check the state or get the result data.<a name="line.896"></a>
-<span class="sourceLineNo">897</span> * @param procId the ID of the procedure to check<a name="line.897"></a>
-<span class="sourceLineNo">898</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.898"></a>
-<span class="sourceLineNo">899</span> */<a name="line.899"></a>
-<span class="sourceLineNo">900</span> public boolean isFinished(final long procId) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span> return !procedures.containsKey(procId);<a name="line.901"></a>
-<span class="sourceLineNo">902</span> }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span> /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span> * Return true if the procedure is started.<a name="line.905"></a>
-<span class="sourceLineNo">906</span> * @param procId the ID of the procedure to check<a name="line.906"></a>
-<span class="sourceLineNo">907</span> * @return true if the procedure execution is started, otherwise false.<a name="line.907"></a>
-<span class="sourceLineNo">908</span> */<a name="line.908"></a>
-<span class="sourceLineNo">909</span> public boolean isStarted(final long procId) {<a name="line.909"></a>
-<span class="sourceLineNo">910</span> final Procedure proc = procedures.get(procId);<a name="line.910"></a>
-<span class="sourceLineNo">911</span> if (proc == null) {<a name="line.911"></a>
-<span class="sourceLineNo">912</span> return completed.get(procId) != null;<a name="line.912"></a>
-<span class="sourceLineNo">913</span> }<a name="line.913"></a>
-<span class="sourceLineNo">914</span> return proc.wasExecuted();<a name="line.914"></a>
-<span class="sourceLineNo">915</span> }<a name="line.915"></a>
-<span class="sourceLineNo">916</span><a name="line.916"></a>
-<span class="sourceLineNo">917</span> /**<a name="line.917"></a>
-<span class="sourceLineNo">918</span> * Mark the specified completed procedure, as ready to remove.<a name="line.918"></a>
-<span class="sourceLineNo">919</span> * @param procId the ID of the procedure to remove<a name="line.919"></a>
-<span class="sourceLineNo">920</span> */<a name="line.920"></a>
-<span class="sourceLineNo">921</span> public void removeResult(final long procId) {<a name="line.921"></a>
-<span class="sourceLineNo">922</span> final ProcedureInfo result = completed.get(procId);<a name="line.922"></a>
-<span class="sourceLineNo">923</span> if (result == null) {<a name="line.923"></a>
-<span class="sourceLineNo">924</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.924"></a>
-<span class="sourceLineNo">925</span> if (LOG.isDebugEnabled()) {<a name="line.925"></a>
-<span class="sourceLineNo">926</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.926"></a>
-<span class="sourceLineNo">927</span> }<a name="line.927"></a>
-<span class="sourceLineNo">928</span> return;<a name="line.928"></a>
-<span class="sourceLineNo">929</span> }<a name="line.929"></a>
-<span class="sourceLineNo">930</span><a name="line.930"></a>
-<span class="sourceLineNo">931</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.931"></a>
-<span class="sourceLineNo">932</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span><a name="line.934"></a>
-<span class="sourceLineNo">935</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.935"></a>
-<span class="sourceLineNo">936</span> ProcedureInfo result = completed.get(procId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span> Procedure proc = null;<a name="line.937"></a>
-<span class="sourceLineNo">938</span> if (result == null) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span> proc = procedures.get(procId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span> if (proc == null) {<a name="line.940"></a>
-<span class="sourceLineNo">941</span> result = completed.get(procId);<a name="line.941"></a>
-<span class="sourceLineNo">942</span> }<a name="line.942"></a>
-<span class="sourceLineNo">943</span> }<a name="line.943"></a>
-<span class="sourceLineNo">944</span> return new Pair(result, proc);<a name="line.944"></a>
-<span class="sourceLineNo">945</span> }<a name="line.945"></a>
-<span class="sourceLineNo">946</span><a name="line.946"></a>
-<span class="sourceLineNo">947</span> /**<a name="line.947"></a>
-<span class="sourceLineNo">948</span> * Check if the user is this procedure's owner<a name="line.948"></a>
-<span class="sourceLineNo">949</span> * @param procId the target procedure<a name="line.949"></a>
-<span class="sourceLineNo">950</span> * @param user the user<a name="line.950"></a>
-<span class="sourceLineNo">951</span> * @return true if the user is the owner of the procedure,<a name="line.951"></a>
-<span class="sourceLineNo">952</span> * false otherwise or the owner is unknown.<a name="line.952"></a>
-<span class="sourceLineNo">953</span> */<a name="line.953"></a>
-<span class="sourceLineNo">954</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> if (user == null) return false;<a name="line.955"></a>
-<span class="sourceLineNo">956</span><a name="line.956"></a>
-<span class="sourceLineNo">957</span> final Procedure proc = procedures.get(procId);<a name="line.957"></a>
-<span class="sourceLineNo">958</span> if (proc != null) {<a name="line.958"></a>
-<span class="sourceLineNo">959</span> return proc.getOwner().equals(user.getShortName());<a name="line.959"></a>
-<span class="sourceLineNo">960</span> }<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.962"></a>
-<span class="sourceLineNo">963</span> if (procInfo == null) {<a name="line.963"></a>
-<span class="sourceLineNo">964</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.964"></a>
-<span class="sourceLineNo">965</span> // At this time, we cannot check the owner of the procedure<a name="line.965"></a>
-<span class="sourceLineNo">966</span> return false;<a name="line.966"></a>
-<span class="sourceLineNo">967</span> }<a name="line.967"></a>
-<span class="sourceLineNo">968</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.968"></a>
-<span class="sourceLineNo">969</span> }<a name="line.969"></a>
-<span class="sourceLineNo">970</span><a name="line.970"></a>
-<span class="sourceLineNo">971</span> /**<a name="line.971"></a>
-<span class="sourceLineNo">972</span> * List procedures.<a name="line.972"></a>
-<span class="sourceLineNo">973</span> * @return the procedures in a list<a name="line.973"></a>
-<span class="sourceLineNo">974</span> */<a name="line.974"></a>
-<span class="sourceLineNo">975</span> public List<ProcedureInfo> listProcedures() {<a name="line.975"></a>
-<span class="sourceLineNo">976</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.976"></a>
-<span class="sourceLineNo">977</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.977"></a>
-<span class="sourceLineNo">978</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.978"></a>
-<span class="sourceLineNo">979</span> }<a name="line.979"></a>
-<span class="sourceLineNo">980</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.981"></a>
-<span class="sourceLineNo">982</span> // it could complete after we walk through procedures list and insert into<a name="line.982"></a>
-<span class="sourceLineNo">983</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.983"></a>
-<span class="sourceLineNo">984</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.984"></a>
-<span class="sourceLineNo">985</span> procedureLists.add(e.getValue());<a name="line.985"></a>
-<span class="sourceLineNo">986</span> }<a name="line.986"></a>
-<span class="sourceLineNo">987</span> return procedureLists;<a name="line.987"></a>
-<span class="sourceLineNo">988</span> }<a name="line.988"></a>
-<span class="sourceLineNo">989</span><a name="line.989"></a>
-<span class="sourceLineNo">990</span> // ==========================================================================<a name="line.990"></a>
-<span class="sourceLineNo">991</span> // Listeners helpers<a name="line.991"></a>
-<span class="sourceLineNo">992</span> // ==========================================================================<a name="line.992"></a>
-<span class="sourceLineNo">993</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.993"></a>
-<span class="sourceLineNo">994</span> this.listeners.add(listener);<a name="line.994"></a>
-<span class="sourceLineNo">995</span> }<a name="line.995"></a>
-<span class="sourceLineNo">996</span><a name="line.996"></a>
-<span class="sourceLineNo">997</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.997"></a>
-<span class="sourceLineNo">998</span> return this.listeners.remove(listener);<a name="line.998"></a>
-<span class="sourceLineNo">999</span> }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span><a name="line.1000"></a>
-<span class="sourceLineNo">1001</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> if (!this.listeners.isEmpty()) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> try {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> listener.procedureLoaded(procId);<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span> } catch (Throwable e) {<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> }<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> }<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span><a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span> if (!this.listeners.isEmpty()) {<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> try {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> listener.procedureAdded(procId);<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> } catch (Throwable e) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> }<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span> }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span><a name="line.1024"></a>
-<span class="sourceLineNo">1025</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span> if (!this.listeners.isEmpty()) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span> try {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span> listener.procedureFinished(procId);<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> } catch (Throwable e) {<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span> }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span> }<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span> }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span> // ==========================================================================<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span> // Procedure IDs helpers<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span> // ==========================================================================<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span> private long nextProcId() {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span> long procId = lastProcId.incrementAndGet();<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span> if (procId < 0) {<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span> procId = lastProcId.get();<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span> if (procId >= 0)<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span> break;<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span> }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span> while (procedures.containsKey(procId)) {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span> procId = lastProcId.incrementAndGet();<a name="line.1049"></a>
+<span class="sourceLineNo">834</span> // Update metrics on start of a procedure<a name="line.834"></a>
+<span class="sourceLineNo">835</span> proc.updateMetricsOnSubmit(getEnvironment());<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span> // Create the rollback stack for the procedure<a name="line.837"></a>
+<span class="sourceLineNo">838</span> RootProcedureState stack = new RootProcedureState();<a name="line.838"></a>
+<span class="sourceLineNo">839</span> rollbackStack.put(currentProcId, stack);<a name="line.839"></a>
+<span class="sourceLineNo">840</span><a name="line.840"></a>
+<span class="sourceLineNo">841</span> // Submit the new subprocedures<a name="line.841"></a>
+<span class="sourceLineNo">842</span> assert !procedures.containsKey(currentProcId);<a name="line.842"></a>
+<span class="sourceLineNo">843</span> procedures.put(currentProcId, proc);<a name="line.843"></a>
+<span class="sourceLineNo">844</span> sendProcedureAddedNotification(currentProcId);<a name="line.844"></a>
+<span class="sourceLineNo">845</span> scheduler.addBack(proc);<a name="line.845"></a>
+<span class="sourceLineNo">846</span> return proc.getProcId();<a name="line.846"></a>
+<span class="sourceLineNo">847</span> }<a name="line.847"></a>
+<span class="sourceLineNo">848</span><a name="line.848"></a>
+<span class="sourceLineNo">849</span> /**<a name="line.849"></a>
+<span class="sourceLineNo">850</span> * Send an abort notification the specified procedure.<a name="line.850"></a>
+<span class="sourceLineNo">851</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.851"></a>
+<span class="sourceLineNo">852</span> * @param procId the procedure to abort<a name="line.852"></a>
+<span class="sourceLineNo">853</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.853"></a>
+<span class="sourceLineNo">854</span> */<a name="line.854"></a>
+<span class="sourceLineNo">855</span> public boolean abort(final long procId) {<a name="line.855"></a>
+<span class="sourceLineNo">856</span> return abort(procId, true);<a name="line.856"></a>
+<span class="sourceLineNo">857</span> }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span> /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span> * Send an abort notification the specified procedure.<a name="line.860"></a>
+<span class="sourceLineNo">861</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.861"></a>
+<span class="sourceLineNo">862</span> * @param procId the procedure to abort<a name="line.862"></a>
+<span class="sourceLineNo">863</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.863"></a>
+<span class="sourceLineNo">864</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.864"></a>
+<span class="sourceLineNo">865</span> */<a name="line.865"></a>
+<span class="sourceLineNo">866</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.866"></a>
+<span class="sourceLineNo">867</span> final Procedure proc = procedures.get(procId);<a name="line.867"></a>
+<span class="sourceLineNo">868</span> if (proc != null) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.869"></a>
+<span class="sourceLineNo">870</span> return false;<a name="line.870"></a>
+<span class="sourceLineNo">871</span> }<a name="line.871"></a>
+<span class="sourceLineNo">872</span> return proc.abort(getEnvironment());<a name="line.872"></a>
+<span class="sourceLineNo">873</span> }<a name="line.873"></a>
+<span class="sourceLineNo">874</span> return false;<a name="line.874"></a>
+<span class="sourceLineNo">875</span> }<a name="line.875"></a>
+<span class="sourceLineNo">876</span><a name="line.876"></a>
+<span class="sourceLineNo">877</span> // ==========================================================================<a name="line.877"></a>
+<span class="sourceLineNo">878</span> // Executor query helpers<a name="line.878"></a>
+<span class="sourceLineNo">879</span> // ==========================================================================<a name="line.879"></a>
+<span class="sourceLineNo">880</span> public Procedure getProcedure(final long procId) {<a name="line.880"></a>
+<span class="sourceLineNo">881</span> return procedures.get(procId);<a name="line.881"></a>
+<span class="sourceLineNo">882</span> }<a name="line.882"></a>
+<span class="sourceLineNo">883</span><a name="line.883"></a>
+<span class="sourceLineNo">884</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span> final Procedure proc = getProcedure(procId);<a name="line.885"></a>
+<span class="sourceLineNo">886</span> if (clazz.isInstance(proc)) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span> return (T)proc;<a name="line.887"></a>
+<span class="sourceLineNo">888</span> }<a name="line.888"></a>
+<span class="sourceLineNo">889</span> return null;<a name="line.889"></a>
+<span class="sourceLineNo">890</span> }<a name="line.890"></a>
+<span class="sourceLineNo">891</span><a name="line.891"></a>
+<span class="sourceLineNo">892</span> public ProcedureInfo getResult(final long procId) {<a name="line.892"></a>
+<span class="sourceLineNo">893</span> return completed.get(procId);<a name="line.893"></a>
+<span class="sourceLineNo">894</span> }<a name="line.894"></a>
+<span class="sourceLineNo">895</span><a name="line.895"></a>
+<span class="sourceLineNo">896</span> /**<a name="line.896"></a>
+<span class="sourceLineNo">897</span> * Return true if the procedure is finished.<a name="line.897"></a>
+<span class="sourceLineNo">898</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.898"></a>
+<span class="sourceLineNo">899</span> * Use getResult() to check the state or get the result data.<a name="line.899"></a>
+<span class="sourceLineNo">900</span> * @param procId the ID of the procedure to check<a name="line.900"></a>
+<span class="sourceLineNo">901</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.901"></a>
+<span class="sourceLineNo">902</span> */<a name="line.902"></a>
+<span class="sourceLineNo">903</span> public boolean isFinished(final long procId) {<a name="line.903"></a>
+<span class="sourceLineNo">904</span> return !procedures.containsKey(procId);<a name="line.904"></a>
+<span class="sourceLineNo">905</span> }<a name="line.905"></a>
+<span class="sourceLineNo">906</span><a name="line.906"></a>
+<span class="sourceLineNo">907</span> /**<a name="line.907"></a>
+<span class="sourceLineNo">908</span> * Return true if the procedure is started.<a name="line.908"></a>
+<span class="sourceLineNo">909</span> * @param procId the ID of the procedure to check<a name="line.909"></a>
+<span class="sourceLineNo">910</span> * @return true if the procedure execution is started, otherwise false.<a name="line.910"></a>
+<span class="sourceLineNo">911</span> */<a name="line.911"></a>
+<span class="sourceLineNo">912</span> public boolean isStarted(final long procId) {<a name="line.912"></a>
+<span class="sourceLineNo">913</span> final Procedure proc = procedures.get(procId);<a name="line.913"></a>
+<span class="sourceLineNo">914</span> if (proc == null) {<a name="line.914"></a>
+<span class="sourceLineNo">915</span> return completed.get(procId) != null;<a name="line.915"></a>
+<span class="sourceLineNo">916</span> }<a name="line.916"></a>
+<span class="sourceLineNo">917</span> return proc.wasExecuted();<a name="line.917"></a>
+<span class="sourceLineNo">918</span> }<a name="line.918"></a>
+<span class="sourceLineNo">919</span><a name="line.919"></a>
+<span class="sourceLineNo">920</span> /**<a name="line.920"></a>
+<span class="sourceLineNo">921</span> * Mark the specified completed procedure, as ready to remove.<a name="line.921"></a>
+<span class="sourceLineNo">922</span> * @param procId the ID of the procedure to remove<a name="line.922"></a>
+<span class="sourceLineNo">923</span> */<a name="line.923"></a>
+<span class="sourceLineNo">924</span> public void removeResult(final long procId) {<a name="line.924"></a>
+<span class="sourceLineNo">925</span> final ProcedureInfo result = completed.get(procId);<a name="line.925"></a>
+<span class="sourceLineNo">926</span> if (result == null) {<a name="line.926"></a>
+<span class="sourceLineNo">927</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.927"></a>
+<span class="sourceLineNo">928</span> if (LOG.isDebugEnabled()) {<a name="line.928"></a>
+<span class="sourceLineNo">929</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.929"></a>
+<span class="sourceLineNo">930</span> }<a name="line.930"></a>
+<span class="sourceLineNo">931</span> return;<a name="line.931"></a>
+<span class="sourceLineNo">932</span> }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.934"></a>
+<span class="sourceLineNo">935</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.935"></a>
+<span class="sourceLineNo">936</span> }<a name="line.936"></a>
+<span class="sourceLineNo">937</span><a name="line.937"></a>
+<span class="sourceLineNo">938</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.938"></a>
+<span class="sourceLineNo">939</span> ProcedureInfo result = completed.get(procId);<a name="line.939"></a>
+<span class="sourceLineNo">940</span> Procedure proc = null;<a name="line.940"></a>
+<span class="sourceLineNo">941</span> if (result == null) {<a name="line.941"></a>
+<span class="sourceLineNo">942</span> proc = procedures.get(procId);<a name="line.942"></a>
+<span class="sourceLineNo">943</span> if (proc == null) {<a name="line.943"></a>
+<span class="sourceLineNo">944</span> result = completed.get(procId);<a name="line.944"></a>
+<span class="sourceLineNo">945</span> }<a name="line.945"></a>
+<span class="sourceLineNo">946</span> }<a name="line.946"></a>
+<span class="sourceLineNo">947</span> return new Pair(result, proc);<a name="line.947"></a>
+<span class="sourceLineNo">948</span> }<a name="line.948"></a>
+<span class="sourceLineNo">949</span><a name="line.949"></a>
+<span class="sourceLineNo">950</span> /**<a name="line.950"></a>
+<span class="sourceLineNo">951</span> * Check if the user is this procedure's owner<a name="line.951"></a>
+<span class="sourceLineNo">952</span> * @param procId the target procedure<a name="line.952"></a>
+<span class="sourceLineNo">953</span> * @param user the user<a name="line.953"></a>
+<span class="sourceLineNo">954</span> * @return true if the user is the owner of the procedure,<a name="line.954"></a>
+<span class="sourceLineNo">955</span> * false otherwise or the owner is unknown.<a name="line.955"></a>
+<span class="sourceLineNo">956</span> */<a name="line.956"></a>
+<span class="sourceLineNo">957</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span> if (user == null) return false;<a name="line.958"></a>
+<span class="sourceLineNo">959</span><a name="line.959"></a>
+<span class="sourceLineNo">960</span> final Procedure proc = procedures.get(procId);<a name="line.960"></a>
+<span class="sourceLineNo">961</span> if (proc != null) {<a name="line.961"></a>
+<span class="sourceLineNo">962</span> return proc.getOwner().equals(user.getShortName());<a name="line.962"></a>
+<span class="sourceLineNo">963</span> }<a name="line.963"></a>
+<span class="sourceLineNo">964</span><a name="line.964"></a>
+<span class="sourceLineNo">965</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.965"></a>
+<span class="sourceLineNo">966</span> if (procInfo == null) {<a name="line.966"></a>
+<span class="sourceLineNo">967</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.967"></a>
+<span class="sourceLineNo">968</span> // At this time, we cannot check the owner of the procedure<a name="line.968"></a>
+<span class="sourceLineNo">969</span> return false;<a name="line.969"></a>
+<span class="sourceLineNo">970</span> }<a name="line.970"></a>
+<span class="sourceLineNo">971</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.971"></a>
+<span class="sourceLineNo">972</span> }<a name="line.972"></a>
+<span class="sourceLineNo">973</span><a name="line.973"></a>
+<span class="sourceLineNo">974</span> /**<a name="line.974"></a>
+<span class="sourceLineNo">975</span> * List procedures.<a name="line.975"></a>
+<span class="sourceLineNo">976</span> * @return the procedures in a list<a name="line.976"></a>
+<span class="sourceLineNo">977</span> */<a name="line.977"></a>
+<span class="sourceLineNo">978</span> public List<ProcedureInfo> listProcedures() {<a name="line.978"></a>
+<span class="sourceLineNo">979</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.979"></a>
+<span class="sourceLineNo">980</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.980"></a>
+<span class="sourceLineNo">981</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.981"></a>
+<span class="sourceLineNo">982</span> }<a name="line.982"></a>
+<span class="sourceLineNo">983</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.984"></a>
+<span class="sourceLineNo">985</span> // it could complete after we walk through procedures list and insert into<a name="line.985"></a>
+<span class="sourceLineNo">986</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.986"></a>
+<span class="sourceLineNo">987</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.987"></a>
+<span class="sourceLineNo">988</span> procedureLists.add(e.getValue());<a name="line.988"></a>
+<span class="sourceLineNo">989</span> }<a name="line.989"></a>
+<span class="sourceLineNo">990</span> return procedureLists;<a name="line.990"></a>
+<span class="sourceLineNo">991</span> }<a name="line.991"></a>
+<span class="sourceLineNo">992</span><a name="line.992"></a>
+<span class="sourceLineNo">993</span> // ==========================================================================<a name="line.993"></a>
+<span class="sourceLineNo">994</span> // Listeners helpers<a name="line.994"></a>
+<span class="sourceLineNo">995</span> // ==========================================================================<a name="line.995"></a>
+<span class="sourceLineNo">996</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.996"></a>
+<span class="sourceLineNo">997</span> this.listeners.add(listener);<a name="line.997"></a>
+<span class="sourceLineNo">998</span> }<a name="line.998"></a>
+<span class="sourceLineNo">999</span><a name="line.999"></a>
+<span class="sourceLineNo">1000</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span> return this.listeners.remove(listener);<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span> }<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span><a name="line.1003"></a>
+<span class="sourceLineNo">1004</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span> if (!this.listeners.isEmpty()) {<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span> try {<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span> listener.procedureLoaded(procId);<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span> } catch (Throwable e) {<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span> }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span> }<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span> }<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span><a name="line.1015"></a>
+<span class="sourceLineNo">1016</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span> if (!this.listeners.isEmpty()) {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span> try {<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span> listener.procedureAdded(procId);<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span> } catch (Throwable e) {<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span> }<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> }<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span> }<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span><a name="line.1027"></a>
+<span class="sourceLineNo">1028</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span> if (!this.listeners.isEmpty()) {<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span> try {<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span> listener.procedureFinished(procId);<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span> } catch (Throwable e) {<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span> }<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span> }<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span> }<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span><a name="line.1039"></a>
+<span class="sourceLineNo">1040</span> // ==========================================================================<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span> // Procedure IDs helpers<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span> // ==========================================================================<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span> private long nextProcId() {<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span> long procId = lastProcId.incrementAndGet();<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span> if (procId < 0) {<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span> procId = lastProcId.get();<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span> if (procId >= 0)<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span> break;<a name="line.1049"></a>
<span class="sourceLineNo">1050</span> }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span> }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span> return procId;<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span><a name="line.1055"></a>
-<span class="sourceLineNo">1056</span> @VisibleForTesting<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span> protected long getLastProcId() {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span> return lastProcId.get();<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span> }<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span><a name="line.1060"></a>
-<span class="sourceLineNo">1061</span> @VisibleForTesting<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span> public Set<Long> getActiveProcIds() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span> return procedures.keySet();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span> }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span><a name="line.1065"></a>
-<span class="sourceLineNo">1066</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span> }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span><a name="line.1069"></a>
-<span class="sourceLineNo">1070</span> // ==========================================================================<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span> // Executions<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span> // ==========================================================================<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span> private void executeProcedure(final Procedure proc) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span> if (rootProcId == null) {<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span> executeRollback(proc);<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span> return;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span> }<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span><a name="line.1080"></a>
-<span class="sourceLineNo">1081</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span> if (procStack == null) return;<a name="line.1082"></a>
+<span class="sourceLineNo">1051</span> while (procedures.containsKey(procId)) {<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span> procId = lastProcId.incrementAndGet();<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span> }<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span> return procId;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span> }<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span><a name="line.1058"></a>
+<span class="sourceLineNo">1059</span> @VisibleForTesting<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span> protected long getLastProcId() {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span> return lastProcId.get();<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span> }<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span> @VisibleForTesting<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span> public Set<Long> getActiveProcIds() {<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span> return procedures.keySet();<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span> }<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span><a name="line.1068"></a>
+<span class="sourceLineNo">1069</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span> }<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span><a name="line.1072"></a>
+<span class="sourceLineNo">1073</span> // ==========================================================================<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span> // Executions<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span> // ==========================================================================<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span> private void executeProcedure(final Procedure proc) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span> if (rootProcId == null) {<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span> executeRollback(proc);<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span> return;<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span> }<a name="line.1082"></a>
<span class="sourceLineNo">1083</span><a name="line.1083"></a>
-<span class="sourceLineNo">1084</span> do {<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span> // Try to acquire the execution<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span> if (!procStack.acquire(proc)) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span> if (procStack.setRollback()) {<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span> case LOCK_ACQUIRED:<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span> break;<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span> case LOCK_YIELD_WAIT:<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span> procStack.unsetRollback();<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span> scheduler.yield(proc);<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span> break;<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span> case LOCK_EVENT_WAIT:<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span> procStack.unsetRollback();<a name="line.1097"></a>
+<span class="sourceLineNo">1084</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span> if (procStack == null) return;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span><a name="line.1086"></a>
+<span class="sourceLineNo">1087</span> do {<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span> // Try to acquire the execution<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span> if (!procStack.acquire(proc)) {<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span> if (procStack.setRollback()) {<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span> case LOCK_ACQUIRED:<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span> break;<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span> case LOCK_YIELD_WAIT:<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span> procStack.unsetRollback();<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span> scheduler.yield(proc);<a name="line.1097"></a>
<span class="sourceLineNo">1098</span> break;<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span> default:<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span> throw new UnsupportedOperationException();<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> }<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span> } else {<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span> // if we can't rollback means that some child is still running.<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span> // the rollback will be executed after all the children are done.<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> if (!proc.wasExecuted()) {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> switch (executeRollback(proc)) {<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> case LOCK_ACQUIRED:<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> break;<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> case LOCK_YIELD_WAIT:<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span> scheduler.yield(proc);<a name="line.1111"></a>
+<span class="sourceLineNo">1099</span> case LOCK_EVENT_WAIT:<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span> procStack.unsetRollback();<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span> break;<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span> default:<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span> throw new UnsupportedOperationException();<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span> }<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span> } else {<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span> // if we can't rollback means that some child is still running.<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> // the rollback will be executed after all the children are done.<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> if (!proc.wasExecuted()) {<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> switch (executeRollback(proc)) {<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> case LOCK_ACQUIRED:<a name="line.1111"></a>
<span class="sourceLineNo">1112</span> break;<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> case LOCK_EVENT_WAIT:<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> break;<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> default:<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span> throw new UnsupportedOperationException();<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> }<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> }<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> }<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> break;<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span><a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> // Execute the procedure<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> switch (acquireLock(proc)) {<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> case LOCK_ACQUIRED:<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> execProcedure(procStack, proc);<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span> releaseLock(proc, false);<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> break;<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> case LOCK_YIELD_WAIT:<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> scheduler.yield(proc);<a name="line.1131"></a>
+<span class="sourceLineNo">1113</span> case LOCK_YIELD_WAIT:<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> scheduler.yield(proc);<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> break;<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> case LOCK_EVENT_WAIT:<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> break;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span> default:<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> throw new UnsupportedOperationException();<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> }<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> }<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> break;<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> }<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> // Execute the procedure<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> switch (acquireLock(proc)) {<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> case LOCK_ACQUIRED:<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span> execProcedure(procStack, proc);<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> releaseLock(proc, false);<a name="line.1131"></a>
<span class="sourceLineNo">1132</span> break;<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> case LOCK_EVENT_WAIT:<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> // someone will wake us up when the lock is available<a name="line.1134"></a>
+<span class="sourceLineNo">1133</span> case LOCK_YIELD_WAIT:<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> scheduler.yield(proc);<a name="line.1134"></a>
<span class="sourceLineNo">1135</span> break;<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> default:<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> throw new UnsupportedOperationException();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> procStack.release(proc);<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> // allows to kill the executor before something is stored to the wal.<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span> // useful to test the procedure recovery.<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (testing != null && !isRunning()) {<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> break;<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span> }<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> if (proc.isSuccess()) {<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> if (LOG.isDebugEnabled()) {<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> }<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> // Finalize the procedure state<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span> if (proc.getProcId() == rootProcId) {<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> procedureFinished(proc);<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> } else {<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> execCompletionCleanup(proc);<a name="line.1155"></a>
+<span class="sourceLineNo">1136</span> case LOCK_EVENT_WAIT:<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> // someone will wake us up when the lock is available<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> break;<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> default:<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> throw new UnsupportedOperationException();<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> }<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> procStack.release(proc);<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span><a name="line.1143"></a>
+<span class="sourceLineNo">1144</span> // allows to kill the executor before something is stored to the wal.<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> // useful to test the procedure recovery.<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> if (testing != null && !isRunning()) {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span> break;<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> }<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> if (proc.isSuccess()) {<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span> // update metrics on finishing the procedure<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> proc.updateMetricsOnFinish(getEnvironment(), proc.elapsedTime(), true);<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span><a name="line.1153"></a>
+<span class="sourceLineNo">1154</span> if (LOG.isDebugEnabled()) {<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1155"></a>
<span class="sourceLineNo">1156</span> }<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> break;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> } while (procStack.isFailed());<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span> }<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span><a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> private LockState acquireLock(final Procedure proc) {<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> final TEnvironment env = getEnvironment();<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> // hasLock() is used in conjunction with holdLock().<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> return LockState.LOCK_ACQUIRED;<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> }<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> return proc.doAcquireLock(env);<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> }<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> final TEnvironment env = getEnvironment();<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // for how the framework works, we know that we will always have the lock<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span> if (force || !proc.holdLock(env)) {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> proc.doReleaseLock(env);<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> }<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span> }<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span><a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> /**<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> * Execute the rollback of the full procedure stack.<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> * finished to user, and the result will be the fatal exception.<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> */<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> if (exception == null) {<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> exception = procStack.getException();<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span> rootProc.setFailure(exception);<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> store.update(rootProc);<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> }<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span><a name="line.1195"></a>
-<span class="sourceLineNo">1196</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span><a name="line.1198"></a>
-<span class="sourceLineNo">1199</span> int stackTail = subprocStack.size();<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> boolean reuseLock = false;<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> while (stackTail --> 0) {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span><a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> LockState lockState;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> // queue waiting for the lock availability<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span> return lockState;<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> }<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> lockState = executeRollback(proc);<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // If the next procedure is the same to this one<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> // we can avoid to lock/unlock each step<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span> if (!reuseLock) {<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> releaseLock(proc, false);<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> }<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span><a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // allows to kill the executor before something is stored to the wal.<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // useful to test the procedure recovery.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> if (abortRollback) {<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> return lockState;<a name="line.1226"></a>
+<span class="sourceLineNo">1157</span> // Finalize the procedure state<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> if (proc.getProcId() == rootProcId) {<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> procedureFinished(proc);<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> } else {<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> execCompletionCleanup(proc);<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span> }<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> break;<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> }<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> } while (procStack.isFailed());<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> }<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span><a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> private LockState acquireLock(final Procedure proc) {<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> final TEnvironment env = getEnvironment();<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> // hasLock() is used in conjunction with holdLock().<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> return LockState.LOCK_ACQUIRED;<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> }<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> return proc.doAcquireLock(env);<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> }<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span><a name="line.1178"></a>
+<span class="sourceLineNo">1179</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> final TEnvironment env = getEnvironment();<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> // for how the framework works, we know that we will always have the lock<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> if (force || !proc.holdLock(env)) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> proc.doReleaseLock(env);<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> }<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span> }<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span><a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> /**<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> * Execute the rollback of the full procedure stack.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> * finished to user, and the result will be the fatal exception.<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> */<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> if (exception == null) {<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> exception = procStack.getException();<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span> rootProc.setFailure(exception);<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> store.update(rootProc);<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span><a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> int stackTail = subprocStack.size();<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> boolean reuseLock = false;<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> while (stackTail --> 0) {<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span><a name="line.1209"></a>
+<span class="sourceLineNo">1210</span> LockState lockState;<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> // queue waiting for the lock availability<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> return lockState;<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> }<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span><a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> lockState = executeRollback(proc);<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span><a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> // If the next procedure is the same to this one<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> // we can avoid to lock/unlock each step<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> if (!reuseLock) {<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> releaseLock(proc, false);<a name="line.1226"></a>
<span class="sourceLineNo">1227</span> }<a name="line.1227"></a>
<span class="sourceLineNo">1228</span><a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> subprocStack.remove(stackTail);<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span><a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> // if the procedure is kind enough to pass the slot to someone else, yield<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span> if (proc.isYieldAfterExecutionStep(getEnvironment())) {<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> }<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span><a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> if (proc != rootProc) {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> execCompletionCleanup(proc);<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span> }<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span><a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> // Finalize the procedure state<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> LOG.info("Rolled back " + rootProc +<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> " exec-time=" + StringUtils.humanTimeDiff(rootProc.elapsedTime()));<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> procedureFinished(rootProc);<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> return LockState.LOCK_ACQUIRED;<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span> }<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> /**<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> * Execute the rollback of the procedure step.<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> * It updates the store with the new state (stack index)<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> * or will remove completly the procedure in case it is a child.<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> */<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span> private LockState executeRollback(final Procedure proc) {<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> try {<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> proc.doRollback(getEnvironment());<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> } catch (IOException e) {<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> if (LOG.isDebugEnabled()) {<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> LOG.debug("Roll back attempt failed for " + proc, e);<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> }<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> } catch (InterruptedException e) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> handleInterruptedException(proc, e);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span> } catch (Throwable e) {<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> // Catch NullPointerExceptions or similar errors...<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> LOG.fatal("CODE-BUG: Uncatched runtime exception for procedure: " + proc, e);<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> }<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span><a name="line.1268"></a>
-<span class="sourceLineNo">1269</span> // allows to kill the executor before something is stored to the wal.<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> // useful to test the procedure recovery.<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> if (testing != null && testing.shouldKillBeforeStoreUpdate()) {<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> LOG.debug("TESTING: Kill before store update");<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span> stop();<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> }<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> if (proc.removeStackIndex()) {<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> proc.setState(ProcedureState.ROLLEDBACK);<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span> if (proc.hasParent()) {<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> store.delete(proc.getProcId());<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> procedures.remove(proc.getProcId());<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> } else {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> final long[] childProcIds = rollbackStack.get(proc.getProcId()).getSubprocedureIds();<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> if (childProcIds != null) {<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span> store.delete(proc, childProcIds);<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> } else {<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> store.update(proc);<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> }<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> } else {<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span> store.update(proc);<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> }<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span><a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> return LockState.LOCK_ACQUIRED;<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span><a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> * Executes the specified procedure<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> * - calls the doExecute() of the procedure<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> * - if the procedure execution didn't fail (e.g. invalid user input)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> * - ...and returned subprocedures<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span> * - the subprocedures are initialized.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> * - the subprocedures are added to the store<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> * - the subprocedures are added to the runnable queue<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> * - the procedure is now in a WAITING state, waiting for the subprocedures to complete<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span> * - ...if there are no subprocedure<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> * - the procedure completed successfully<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> * - if there is a parent (WAITING)<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> * - the parent state will be set to RUNNABLE<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span> * - in case of failure<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> * - the store is updated with the new state<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> * - the executor (caller of this method) will start the rollback of the procedure<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> */<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span> private void execProcedure(final RootProcedureState procStack, final Procedure procedure) {<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> Preconditions.checkArgument(procedure.getState() == ProcedureState.RUNNABLE);<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span><a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> // Execute the procedure<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> boolean suspended = false;<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> boolean reExecute = false;<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> Procedure[] subprocs = null;<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> do {<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> reExecute = false;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> try {<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span> subprocs = procedure.doExecute(getEnvironment());<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (subprocs != null && subprocs.length == 0) {<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> subprocs = null;<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span> }<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> } catch (ProcedureSuspendedException e) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> suspended = true;<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> } catch (ProcedureYieldException e) {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> if (LOG.isTraceEnabled()) {<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> LOG.trace("Yield " + procedure + ": " + e.getMessage());<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span> }<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> scheduler.yield(procedure);<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> return;<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> } catch (InterruptedException e) {<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> handleInterruptedException(procedure, e);<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> scheduler.yield(procedure);<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span> return;<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> } catch (Throwable e) {<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // Catch NullPointerExceptions or similar errors...<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> String msg = "CODE-BUG: Uncaught runtime exception: " + procedure;<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> LOG.error(msg, e);<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> procedure.setFailure(new RemoteProcedureException(msg, e));<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span> }<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span><a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> if (!procedure.isFailed()) {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> if (subprocs != null) {<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span> if (subprocs.length == 1 && subprocs[0] == procedure) {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span> // quick-shortcut for a state machine like procedure<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> subprocs = null;<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> reExecute = true;<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> } else {<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>
<TRUNCATED>
[30/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html
index db39e84..08d0b95 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.html
@@ -367,7 +367,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock
</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#getProcId--">g
etProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</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-TEnvironment-">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/had
oop/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#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#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#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoo
p/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#setStartTime-long-">setStartTime</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/hb
ase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">was
Executed</a></code></li>
+<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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock
</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#getProcId--">g
etProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</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-TEnvironment-">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/ap
ache/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#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#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#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apac
he/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/Procedu
re.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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#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/hado
op/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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 059f37d..a3aadda 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
@@ -174,8 +174,8 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">DisableTableProcedure.MarkRegionOfflineOpResult</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/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">DisableTableProcedure.MarkRegionOfflineOpResult</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>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 750c469..bdd09e5 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -422,15 +422,15 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.<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/HConstants.Modify.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.Modify</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/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/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/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/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/ProcedureState.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ProcedureState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.Modify.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.Modify</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/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/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/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/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/procedure2/OnePhaseProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/OnePhaseProcedure.html b/devapidocs/org/apache/hadoop/hbase/procedure2/OnePhaseProcedure.html
index 9e2a5ae..95acd84 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/OnePhaseProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/OnePhaseProcedure.html
@@ -180,7 +180,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
<!-- -->
</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#abort-TEnvironment-">abort</a>, <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#childrenCountDown--">childrenCountDown</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#deserializeStateData-java.io.InputStream-">deserializeStateData</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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#execute-TEnvironment-">execute</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.h
tml#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#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#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="../../../../../o
rg/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#getStartTime--">getStartTime</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</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-TEnvironment-">hasLock</a>, <a href="../../../../../org/apache/hadoo
p/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#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--">isInit
ializing</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#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</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#rollback-TEnvironment-">rollback</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData-java.io.OutputStream-">serializeStateData</a>, <a href="../../../../../org/apache/hadoop/h
base/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.hado
op.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#setStartTime-long-">setStartTime</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#setTimeout-int-">s
etTimeout</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringState-java.lang.StringBuilder-">toStringState</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#abort-TEnvironment-">abort</a>, <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#childrenCountDown--">childrenCountDown</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#deserializeStateData-java.io.InputStream-">deserializeStateData</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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#execute-TEnvironment-">execute</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.h
tml#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#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#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="../../../../../o
rg/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-TEnvironment-">hasLock</a>, <a href="../../../../../org/apac
he/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#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#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#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</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#rollback-TEnvironment-">rollback</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData-java.io.OutputStream-">serializeStateData</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.apa
che.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#se
tTimeout-int-">setTimeout</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringState-java.lang.StringBuilder-">t
oStringState</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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
[33/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/CloneSnapshotProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/CloneSnapshotProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/CloneSnapshotProcedure.html
index 629e64d..3294a28 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/CloneSnapshotProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/CloneSnapshotProcedure.html
@@ -397,7 +397,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState<
/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-TEnvironment-">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.hb
ase.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#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#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="../../../../../../or
g/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/P
rocedure.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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#up
dateTimestamp--">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#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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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--">getSubmit
tedTime</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-TEnvironment-">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.h
adoop.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#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#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#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/proc
edure2/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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/P
rocedure.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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html
index 87c97d2..7b3db11 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html
@@ -384,7 +384,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState<
/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-TEnvironment-">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.hb
ase.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#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#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="../../../../../../or
g/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/P
rocedure.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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">wasExec
uted</a></code></li>
+<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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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--">getSubmit
tedTime</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-TEnvironment-">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.h
adoop.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#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#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#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/proc
edure2/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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</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#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/h
base/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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.html
index cf447ae..685d228 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.html
@@ -412,7 +412,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState<
/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-TEnvironment-">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.hb
ase.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#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#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="../../../../../../or
g/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/P
rocedure.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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">wasExec
uted</a></code></li>
+<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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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--">getSubmit
tedTime</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-TEnvironment-">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.h
adoop.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#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#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#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/proc
edure2/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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</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#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/h
base/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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html
index 9833c9e..3239bd8 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.html
@@ -418,7 +418,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock
</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#getProcId--">g
etProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</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-TEnvironment-">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/had
oop/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#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#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#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoo
p/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#setStartTime-long-">setStartTime</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/hb
ase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">was
Executed</a></code></li>
+<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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock
</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#getProcId--">g
etProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</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-TEnvironment-">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/ap
ache/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#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#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#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apac
he/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/Procedu
re.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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#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/hado
op/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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html
index 3151e66..a7df7de 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.html
@@ -389,7 +389,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState<
/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-TEnvironment-">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.hb
ase.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#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#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="../../../../../../or
g/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/P
rocedure.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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#up
dateTimestamp--">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#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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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--">getSubmit
tedTime</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-TEnvironment-">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.h
adoop.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#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#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#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/proc
edure2/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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/P
rocedure.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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
[09/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/mail-lists.html b/hbase-archetypes/mail-lists.html
index e2faa32..daf7aa9 100644
--- a/hbase-archetypes/mail-lists.html
+++ b/hbase-archetypes/mail-lists.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/plugin-management.html b/hbase-archetypes/plugin-management.html
index 3341207..2498830 100644
--- a/hbase-archetypes/plugin-management.html
+++ b/hbase-archetypes/plugin-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/plugins.html b/hbase-archetypes/plugins.html
index 57bda16..7c86f0b 100644
--- a/hbase-archetypes/plugins.html
+++ b/hbase-archetypes/plugins.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/project-info.html b/hbase-archetypes/project-info.html
index 3f46605..c7e8679 100644
--- a/hbase-archetypes/project-info.html
+++ b/hbase-archetypes/project-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/project-summary.html b/hbase-archetypes/project-summary.html
index f4db39f..3ea4c72 100644
--- a/hbase-archetypes/project-summary.html
+++ b/hbase-archetypes/project-summary.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/source-repository.html b/hbase-archetypes/source-repository.html
index cff7bf7..a48de87 100644
--- a/hbase-archetypes/source-repository.html
+++ b/hbase-archetypes/source-repository.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/team-list.html b/hbase-archetypes/team-list.html
index d42e7da..36220bb 100644
--- a/hbase-archetypes/team-list.html
+++ b/hbase-archetypes/team-list.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-spark/checkstyle.html b/hbase-spark/checkstyle.html
index d10a857..e520b9b 100644
--- a/hbase-spark/checkstyle.html
+++ b/hbase-spark/checkstyle.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependencies.html b/hbase-spark/dependencies.html
index 5bdc529..9353012 100644
--- a/hbase-spark/dependencies.html
+++ b/hbase-spark/dependencies.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-convergence.html b/hbase-spark/dependency-convergence.html
index 016dc33..d4a32de 100644
--- a/hbase-spark/dependency-convergence.html
+++ b/hbase-spark/dependency-convergence.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-info.html b/hbase-spark/dependency-info.html
index 244e000..b6ec39a 100644
--- a/hbase-spark/dependency-info.html
+++ b/hbase-spark/dependency-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-management.html b/hbase-spark/dependency-management.html
index 33804d8..52cf5ce 100644
--- a/hbase-spark/dependency-management.html
+++ b/hbase-spark/dependency-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/index.html
----------------------------------------------------------------------
diff --git a/hbase-spark/index.html b/hbase-spark/index.html
index 61d9711..7442c8e 100644
--- a/hbase-spark/index.html
+++ b/hbase-spark/index.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/integration.html
----------------------------------------------------------------------
diff --git a/hbase-spark/integration.html b/hbase-spark/integration.html
index 567ca99..5a39884 100644
--- a/hbase-spark/integration.html
+++ b/hbase-spark/integration.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-spark/issue-tracking.html b/hbase-spark/issue-tracking.html
index ac244bb..e46dee0 100644
--- a/hbase-spark/issue-tracking.html
+++ b/hbase-spark/issue-tracking.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/license.html
----------------------------------------------------------------------
diff --git a/hbase-spark/license.html b/hbase-spark/license.html
index 629d82c..f50715a 100644
--- a/hbase-spark/license.html
+++ b/hbase-spark/license.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-spark/mail-lists.html b/hbase-spark/mail-lists.html
index ba8d28c..4b044ac 100644
--- a/hbase-spark/mail-lists.html
+++ b/hbase-spark/mail-lists.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugin-management.html b/hbase-spark/plugin-management.html
index 73b737a..f92ce46 100644
--- a/hbase-spark/plugin-management.html
+++ b/hbase-spark/plugin-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugins.html b/hbase-spark/plugins.html
index c9df1b4..6785400 100644
--- a/hbase-spark/plugins.html
+++ b/hbase-spark/plugins.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-info.html b/hbase-spark/project-info.html
index fd07df8..0b4aa5a 100644
--- a/hbase-spark/project-info.html
+++ b/hbase-spark/project-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-reports.html b/hbase-spark/project-reports.html
index a6d2483..029d54a 100644
--- a/hbase-spark/project-reports.html
+++ b/hbase-spark/project-reports.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-summary.html b/hbase-spark/project-summary.html
index 20f2e92..a396d4a 100644
--- a/hbase-spark/project-summary.html
+++ b/hbase-spark/project-summary.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-spark/source-repository.html b/hbase-spark/source-repository.html
index da960f7..f302e53 100644
--- a/hbase-spark/source-repository.html
+++ b/hbase-spark/source-repository.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-spark/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-spark/team-list.html b/hbase-spark/team-list.html
index 510cf9a..d80cd52 100644
--- a/hbase-spark/team-list.html
+++ b/hbase-spark/team-list.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index faf1965..5cb7b0c 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Apache HBase\u2122 Home</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -446,7 +446,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: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index aaf5381..aabe68c 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Continuous Integration</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -308,7 +308,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index 6378364..bdbbbe4 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Issue Tracking</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -305,7 +305,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index bd837fb..480e16c 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project License</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -508,7 +508,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index eb45575..db79fc3 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Mailing Lists</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -358,7 +358,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index 900953e..759ec43 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Apache HBase (TM) Metrics
@@ -476,7 +476,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: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index 277830d..ad7d2a0 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Old Apache HBase (TM) News
@@ -431,7 +431,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: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index 3579e9e..bd3b69f 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Plugin Management</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -453,7 +453,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index b984398..9f2add9 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Build Plugins</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -388,7 +388,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index 8e30a79..b318e37 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Powered By Apache HBase�</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -786,7 +786,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: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index 8325bee..55a288d 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Information</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -352,7 +352,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index 1dee01b..9bac120 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Generated Reports</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -322,7 +322,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index cd98ed8..f3192c1 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Summary</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -348,7 +348,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index 4d74a2b..f46fe04 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Running Apache HBase (TM) in pseudo-distributed mode
@@ -325,7 +325,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: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index ed52c3d..f7c3414 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Apache HBase (TM) Replication
@@ -320,7 +320,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: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index 32a7c4f..2926ed4 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<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.5-HBASE.min.css" />
@@ -348,7 +348,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: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/source-repository.html
----------------------------------------------------------------------
diff --git a/source-repository.html b/source-repository.html
index b53748e..dde816f 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Source Repository</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -316,7 +316,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/sponsors.html
----------------------------------------------------------------------
diff --git a/sponsors.html b/sponsors.html
index f46523b..720ef69 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Apache HBase� Sponsors</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -350,7 +350,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: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/supportingprojects.html
----------------------------------------------------------------------
diff --git a/supportingprojects.html b/supportingprojects.html
index 7011020..62041cb 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Supporting Projects</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -537,7 +537,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: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index 50ac675..829555b 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Team list</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -811,7 +811,7 @@ window.onLoad = init();
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-frame.html b/testdevapidocs/allclasses-frame.html
index 002e977..81659d6 100644
--- a/testdevapidocs/allclasses-frame.html
+++ b/testdevapidocs/allclasses-frame.html
@@ -1375,6 +1375,9 @@
<li><a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureInMemoryChore.TestProcEnv</a></li>
<li><a href="org/apache/hadoop/hbase/procedure/TestProcedureManager.html" title="class in org.apache.hadoop.hbase.procedure" target="classFrame">TestProcedureManager</a></li>
<li><a href="org/apache/hadoop/hbase/procedure/TestProcedureMember.html" title="class in org.apache.hadoop.hbase.procedure" target="classFrame">TestProcedureMember</a></li>
+<li><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureMetrics</a></li>
+<li><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureMetrics.ProcedureMetrics</a></li>
+<li><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureMetrics.TestProcEnv</a></li>
<li><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureNonce</a></li>
<li><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureNonce.TestProcEnv</a></li>
<li><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureNonce.TestSingleStepProcedure</a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-noframe.html b/testdevapidocs/allclasses-noframe.html
index 3e5769a..25ed49b 100644
--- a/testdevapidocs/allclasses-noframe.html
+++ b/testdevapidocs/allclasses-noframe.html
@@ -1375,6 +1375,9 @@
<li><a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureInMemoryChore.TestProcEnv</a></li>
<li><a href="org/apache/hadoop/hbase/procedure/TestProcedureManager.html" title="class in org.apache.hadoop.hbase.procedure">TestProcedureManager</a></li>
<li><a href="org/apache/hadoop/hbase/procedure/TestProcedureMember.html" title="class in org.apache.hadoop.hbase.procedure">TestProcedureMember</a></li>
+<li><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></li>
+<li><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></li>
+<li><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a></li>
<li><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce</a></li>
<li><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce.TestProcEnv</a></li>
<li><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce.TestSingleStepProcedure</a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/constant-values.html b/testdevapidocs/constant-values.html
index 1f40633..bf5e250 100644
--- a/testdevapidocs/constant-values.html
+++ b/testdevapidocs/constant-values.html
@@ -7236,6 +7236,25 @@
</li>
<li class="blockList">
<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.PROCEDURE_EXECUTOR_SLOTS">
+<!-- -->
+</a><code>private static final int</code></td>
+<td><code><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#PROCEDURE_EXECUTOR_SLOTS">PROCEDURE_EXECUTOR_SLOTS</a></code></td>
+<td class="colLast"><code>1</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
<caption><span>org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce</a></span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
[24/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/Procedure.LockState.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/Procedure.LockState.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/Procedure.LockState.html
index 94f6ab6..d18d851 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/Procedure.LockState.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/Procedure.LockState.html
@@ -46,7 +46,7 @@
<span class="sourceLineNo">038</span><a name="line.38"></a>
<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
<span class="sourceLineNo">040</span> * Base Procedure class responsible to handle the Procedure Metadata<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * e.g. state, startTime, lastUpdate, stack-indexes, ...<a name="line.41"></a>
+<span class="sourceLineNo">041</span> * e.g. state, submittedTime, lastUpdate, stack-indexes, ...<a name="line.41"></a>
<span class="sourceLineNo">042</span> *<a name="line.42"></a>
<span class="sourceLineNo">043</span> * execute() is called each time the procedure is executed.<a name="line.43"></a>
<span class="sourceLineNo">044</span> * it may be called multiple times in case of failure and restart, so the<a name="line.44"></a>
@@ -81,7 +81,7 @@
<span class="sourceLineNo">073</span> private long parentProcId = NO_PROC_ID;<a name="line.73"></a>
<span class="sourceLineNo">074</span> private long rootProcId = NO_PROC_ID;<a name="line.74"></a>
<span class="sourceLineNo">075</span> private long procId = NO_PROC_ID;<a name="line.75"></a>
-<span class="sourceLineNo">076</span> private long startTime;<a name="line.76"></a>
+<span class="sourceLineNo">076</span> private long submittedTime;<a name="line.76"></a>
<span class="sourceLineNo">077</span><a name="line.77"></a>
<span class="sourceLineNo">078</span> // runtime state, updated every operation<a name="line.78"></a>
<span class="sourceLineNo">079</span> private ProcedureState state = ProcedureState.INITIALIZING;<a name="line.79"></a>
@@ -248,566 +248,587 @@
<span class="sourceLineNo">240</span> return true;<a name="line.240"></a>
<span class="sourceLineNo">241</span> }<a name="line.241"></a>
<span class="sourceLineNo">242</span><a name="line.242"></a>
-<span class="sourceLineNo">243</span> @Override<a name="line.243"></a>
-<span class="sourceLineNo">244</span> public String toString() {<a name="line.244"></a>
-<span class="sourceLineNo">245</span> // Return the simple String presentation of the procedure.<a name="line.245"></a>
-<span class="sourceLineNo">246</span> return toStringSimpleSB().toString();<a name="line.246"></a>
-<span class="sourceLineNo">247</span> }<a name="line.247"></a>
+<span class="sourceLineNo">243</span> /**<a name="line.243"></a>
+<span class="sourceLineNo">244</span> * This function will be called just when procedure is submitted for execution. Override this<a name="line.244"></a>
+<span class="sourceLineNo">245</span> * method to update the metrics at the beginning of the procedure<a name="line.245"></a>
+<span class="sourceLineNo">246</span> */<a name="line.246"></a>
+<span class="sourceLineNo">247</span> protected void updateMetricsOnSubmit(final TEnvironment env) {}<a name="line.247"></a>
<span class="sourceLineNo">248</span><a name="line.248"></a>
<span class="sourceLineNo">249</span> /**<a name="line.249"></a>
-<span class="sourceLineNo">250</span> * Build the StringBuilder for the simple form of<a name="line.250"></a>
-<span class="sourceLineNo">251</span> * procedure string.<a name="line.251"></a>
-<span class="sourceLineNo">252</span> * @return the StringBuilder<a name="line.252"></a>
-<span class="sourceLineNo">253</span> */<a name="line.253"></a>
-<span class="sourceLineNo">254</span> protected StringBuilder toStringSimpleSB() {<a name="line.254"></a>
-<span class="sourceLineNo">255</span> final StringBuilder sb = new StringBuilder();<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> sb.append("procId=");<a name="line.257"></a>
-<span class="sourceLineNo">258</span> sb.append(getProcId());<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span> if (hasParent()) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span> sb.append(", parentProcId=");<a name="line.261"></a>
-<span class="sourceLineNo">262</span> sb.append(getParentProcId());<a name="line.262"></a>
-<span class="sourceLineNo">263</span> }<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span> if (hasOwner()) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span> sb.append(", owner=");<a name="line.266"></a>
-<span class="sourceLineNo">267</span> sb.append(getOwner());<a name="line.267"></a>
-<span class="sourceLineNo">268</span> }<a name="line.268"></a>
+<span class="sourceLineNo">250</span> * This function will be called just after procedure execution is finished. Override this method<a name="line.250"></a>
+<span class="sourceLineNo">251</span> * to update metrics at the end of the procedure<a name="line.251"></a>
+<span class="sourceLineNo">252</span> *<a name="line.252"></a>
+<span class="sourceLineNo">253</span> * TODO: As any of the sub-procedures on failure rolls back all procedures in the stack,<a name="line.253"></a>
+<span class="sourceLineNo">254</span> * including successfully finished siblings, this function may get called twice in certain<a name="line.254"></a>
+<span class="sourceLineNo">255</span> * cases for certain procedures. Explore further if this can be called once.<a name="line.255"></a>
+<span class="sourceLineNo">256</span> *<a name="line.256"></a>
+<span class="sourceLineNo">257</span> * @param env<a name="line.257"></a>
+<span class="sourceLineNo">258</span> * @param runtime - Runtime of the procedure in milliseconds<a name="line.258"></a>
+<span class="sourceLineNo">259</span> * @param success - true if procedure is completed successfully<a name="line.259"></a>
+<span class="sourceLineNo">260</span> */<a name="line.260"></a>
+<span class="sourceLineNo">261</span> protected void updateMetricsOnFinish(final TEnvironment env, final long runtime,<a name="line.261"></a>
+<span class="sourceLineNo">262</span> boolean success) {}<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span> @Override<a name="line.264"></a>
+<span class="sourceLineNo">265</span> public String toString() {<a name="line.265"></a>
+<span class="sourceLineNo">266</span> // Return the simple String presentation of the procedure.<a name="line.266"></a>
+<span class="sourceLineNo">267</span> return toStringSimpleSB().toString();<a name="line.267"></a>
+<span class="sourceLineNo">268</span> }<a name="line.268"></a>
<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span> sb.append(", state=");<a name="line.270"></a>
-<span class="sourceLineNo">271</span> toStringState(sb);<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> if (hasException()) {<a name="line.273"></a>
-<span class="sourceLineNo">274</span> sb.append(", exception=" + getException());<a name="line.274"></a>
-<span class="sourceLineNo">275</span> }<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span> sb.append(", ");<a name="line.277"></a>
-<span class="sourceLineNo">278</span> toStringClassDetails(sb);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span> return sb;<a name="line.280"></a>
-<span class="sourceLineNo">281</span> }<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span> /**<a name="line.283"></a>
-<span class="sourceLineNo">284</span> * Extend the toString() information with more procedure<a name="line.284"></a>
-<span class="sourceLineNo">285</span> * details<a name="line.285"></a>
-<span class="sourceLineNo">286</span> */<a name="line.286"></a>
-<span class="sourceLineNo">287</span> public String toStringDetails() {<a name="line.287"></a>
-<span class="sourceLineNo">288</span> final StringBuilder sb = toStringSimpleSB();<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span> sb.append(" startTime=");<a name="line.290"></a>
-<span class="sourceLineNo">291</span> sb.append(getStartTime());<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span> sb.append(" lastUpdate=");<a name="line.293"></a>
-<span class="sourceLineNo">294</span> sb.append(getLastUpdate());<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span> final int[] stackIndices = getStackIndexes();<a name="line.296"></a>
-<span class="sourceLineNo">297</span> if (stackIndices != null) {<a name="line.297"></a>
-<span class="sourceLineNo">298</span> sb.append("\n");<a name="line.298"></a>
-<span class="sourceLineNo">299</span> sb.append("stackIndexes=");<a name="line.299"></a>
-<span class="sourceLineNo">300</span> sb.append(Arrays.toString(stackIndices));<a name="line.300"></a>
-<span class="sourceLineNo">301</span> }<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span> return sb.toString();<a name="line.303"></a>
-<span class="sourceLineNo">304</span> }<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span> protected String toStringClass() {<a name="line.306"></a>
-<span class="sourceLineNo">307</span> StringBuilder sb = new StringBuilder();<a name="line.307"></a>
-<span class="sourceLineNo">308</span> toStringClassDetails(sb);<a name="line.308"></a>
-<span class="sourceLineNo">309</span> return sb.toString();<a name="line.309"></a>
-<span class="sourceLineNo">310</span> }<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span> /**<a name="line.312"></a>
-<span class="sourceLineNo">313</span> * Called from {@link #toString()} when interpolating {@link Procedure} state<a name="line.313"></a>
-<span class="sourceLineNo">314</span> * @param builder Append current {@link ProcedureState}<a name="line.314"></a>
-<span class="sourceLineNo">315</span> */<a name="line.315"></a>
-<span class="sourceLineNo">316</span> protected void toStringState(StringBuilder builder) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span> builder.append(getState());<a name="line.317"></a>
-<span class="sourceLineNo">318</span> }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span> /**<a name="line.320"></a>
-<span class="sourceLineNo">321</span> * Extend the toString() information with the procedure details<a name="line.321"></a>
-<span class="sourceLineNo">322</span> * e.g. className and parameters<a name="line.322"></a>
-<span class="sourceLineNo">323</span> * @param builder the string builder to use to append the proc specific information<a name="line.323"></a>
-<span class="sourceLineNo">324</span> */<a name="line.324"></a>
-<span class="sourceLineNo">325</span> protected void toStringClassDetails(StringBuilder builder) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> builder.append(getClass().getName());<a name="line.326"></a>
-<span class="sourceLineNo">327</span> }<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span> // ==========================================================================<a name="line.329"></a>
-<span class="sourceLineNo">330</span> // Those fields are unchanged after initialization.<a name="line.330"></a>
-<span class="sourceLineNo">331</span> //<a name="line.331"></a>
-<span class="sourceLineNo">332</span> // Each procedure will get created from the user or during<a name="line.332"></a>
-<span class="sourceLineNo">333</span> // ProcedureExecutor.start() during the load() phase and then submitted<a name="line.333"></a>
-<span class="sourceLineNo">334</span> // to the executor. these fields will never be changed after initialization<a name="line.334"></a>
-<span class="sourceLineNo">335</span> // ==========================================================================<a name="line.335"></a>
-<span class="sourceLineNo">336</span> public long getProcId() {<a name="line.336"></a>
-<span class="sourceLineNo">337</span> return procId;<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> public boolean hasParent() {<a name="line.340"></a>
-<span class="sourceLineNo">341</span> return parentProcId != NO_PROC_ID;<a name="line.341"></a>
-<span class="sourceLineNo">342</span> }<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span> public long getParentProcId() {<a name="line.344"></a>
-<span class="sourceLineNo">345</span> return parentProcId;<a name="line.345"></a>
-<span class="sourceLineNo">346</span> }<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span> public long getRootProcId() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return rootProcId;<a name="line.349"></a>
-<span class="sourceLineNo">350</span> }<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span> public NonceKey getNonceKey() {<a name="line.352"></a>
-<span class="sourceLineNo">353</span> return nonceKey;<a name="line.353"></a>
-<span class="sourceLineNo">354</span> }<a name="line.354"></a>
-<span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span> public long getStartTime() {<a name="line.356"></a>
-<span class="sourceLineNo">357</span> return startTime;<a name="line.357"></a>
-<span class="sourceLineNo">358</span> }<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span> public String getOwner() {<a name="line.360"></a>
-<span class="sourceLineNo">361</span> return owner;<a name="line.361"></a>
-<span class="sourceLineNo">362</span> }<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span> public boolean hasOwner() {<a name="line.364"></a>
-<span class="sourceLineNo">365</span> return owner != null;<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> /**<a name="line.368"></a>
-<span class="sourceLineNo">369</span> * Called by the ProcedureExecutor to assign the ID to the newly created procedure.<a name="line.369"></a>
-<span class="sourceLineNo">370</span> */<a name="line.370"></a>
-<span class="sourceLineNo">371</span> @VisibleForTesting<a name="line.371"></a>
-<span class="sourceLineNo">372</span> @InterfaceAudience.Private<a name="line.372"></a>
-<span class="sourceLineNo">373</span> protected void setProcId(final long procId) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span> this.procId = procId;<a name="line.374"></a>
-<span class="sourceLineNo">375</span> this.startTime = EnvironmentEdgeManager.currentTime();<a name="line.375"></a>
-<span class="sourceLineNo">376</span> setState(ProcedureState.RUNNABLE);<a name="line.376"></a>
-<span class="sourceLineNo">377</span> }<a name="line.377"></a>
-<span class="sourceLineNo">378</span><a name="line.378"></a>
-<span class="sourceLineNo">379</span> /**<a name="line.379"></a>
-<span class="sourceLineNo">380</span> * Called by the ProcedureExecutor to assign the parent to the newly created procedure.<a name="line.380"></a>
-<span class="sourceLineNo">381</span> */<a name="line.381"></a>
-<span class="sourceLineNo">382</span> @InterfaceAudience.Private<a name="line.382"></a>
-<span class="sourceLineNo">383</span> protected void setParentProcId(final long parentProcId) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span> this.parentProcId = parentProcId;<a name="line.384"></a>
-<span class="sourceLineNo">385</span> }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span> @InterfaceAudience.Private<a name="line.387"></a>
-<span class="sourceLineNo">388</span> protected void setRootProcId(final long rootProcId) {<a name="line.388"></a>
-<span class="sourceLineNo">389</span> this.rootProcId = rootProcId;<a name="line.389"></a>
-<span class="sourceLineNo">390</span> }<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span> /**<a name="line.392"></a>
-<span class="sourceLineNo">393</span> * Called by the ProcedureExecutor to set the value to the newly created procedure.<a name="line.393"></a>
-<span class="sourceLineNo">394</span> */<a name="line.394"></a>
-<span class="sourceLineNo">395</span> @VisibleForTesting<a name="line.395"></a>
-<span class="sourceLineNo">396</span> @InterfaceAudience.Private<a name="line.396"></a>
-<span class="sourceLineNo">397</span> protected void setNonceKey(final NonceKey nonceKey) {<a name="line.397"></a>
-<span class="sourceLineNo">398</span> this.nonceKey = nonceKey;<a name="line.398"></a>
-<span class="sourceLineNo">399</span> }<a name="line.399"></a>
-<span class="sourceLineNo">400</span><a name="line.400"></a>
-<span class="sourceLineNo">401</span> @VisibleForTesting<a name="line.401"></a>
-<span class="sourceLineNo">402</span> @InterfaceAudience.Private<a name="line.402"></a>
-<span class="sourceLineNo">403</span> public void setOwner(final String owner) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span> this.owner = StringUtils.isEmpty(owner) ? null : owner;<a name="line.404"></a>
-<span class="sourceLineNo">405</span> }<a name="line.405"></a>
-<span class="sourceLineNo">406</span><a name="line.406"></a>
-<span class="sourceLineNo">407</span> public void setOwner(final User owner) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> assert owner != null : "expected owner to be not null";<a name="line.408"></a>
-<span class="sourceLineNo">409</span> setOwner(owner.getShortName());<a name="line.409"></a>
-<span class="sourceLineNo">410</span> }<a name="line.410"></a>
-<span class="sourceLineNo">411</span><a name="line.411"></a>
-<span class="sourceLineNo">412</span> /**<a name="line.412"></a>
-<span class="sourceLineNo">413</span> * Called on store load to initialize the Procedure internals after<a name="line.413"></a>
-<span class="sourceLineNo">414</span> * the creation/deserialization.<a name="line.414"></a>
+<span class="sourceLineNo">270</span> /**<a name="line.270"></a>
+<span class="sourceLineNo">271</span> * Build the StringBuilder for the simple form of<a name="line.271"></a>
+<span class="sourceLineNo">272</span> * procedure string.<a name="line.272"></a>
+<span class="sourceLineNo">273</span> * @return the StringBuilder<a name="line.273"></a>
+<span class="sourceLineNo">274</span> */<a name="line.274"></a>
+<span class="sourceLineNo">275</span> protected StringBuilder toStringSimpleSB() {<a name="line.275"></a>
+<span class="sourceLineNo">276</span> final StringBuilder sb = new StringBuilder();<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span> sb.append("procId=");<a name="line.278"></a>
+<span class="sourceLineNo">279</span> sb.append(getProcId());<a name="line.279"></a>
+<span class="sourceLineNo">280</span><a name="line.280"></a>
+<span class="sourceLineNo">281</span> if (hasParent()) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span> sb.append(", parentProcId=");<a name="line.282"></a>
+<span class="sourceLineNo">283</span> sb.append(getParentProcId());<a name="line.283"></a>
+<span class="sourceLineNo">284</span> }<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> if (hasOwner()) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span> sb.append(", owner=");<a name="line.287"></a>
+<span class="sourceLineNo">288</span> sb.append(getOwner());<a name="line.288"></a>
+<span class="sourceLineNo">289</span> }<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span> sb.append(", state=");<a name="line.291"></a>
+<span class="sourceLineNo">292</span> toStringState(sb);<a name="line.292"></a>
+<span class="sourceLineNo">293</span><a name="line.293"></a>
+<span class="sourceLineNo">294</span> if (hasException()) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> sb.append(", exception=" + getException());<a name="line.295"></a>
+<span class="sourceLineNo">296</span> }<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span> sb.append(", ");<a name="line.298"></a>
+<span class="sourceLineNo">299</span> toStringClassDetails(sb);<a name="line.299"></a>
+<span class="sourceLineNo">300</span><a name="line.300"></a>
+<span class="sourceLineNo">301</span> return sb;<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> /**<a name="line.304"></a>
+<span class="sourceLineNo">305</span> * Extend the toString() information with more procedure<a name="line.305"></a>
+<span class="sourceLineNo">306</span> * details<a name="line.306"></a>
+<span class="sourceLineNo">307</span> */<a name="line.307"></a>
+<span class="sourceLineNo">308</span> public String toStringDetails() {<a name="line.308"></a>
+<span class="sourceLineNo">309</span> final StringBuilder sb = toStringSimpleSB();<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span> sb.append(" submittedTime=");<a name="line.311"></a>
+<span class="sourceLineNo">312</span> sb.append(getSubmittedTime());<a name="line.312"></a>
+<span class="sourceLineNo">313</span><a name="line.313"></a>
+<span class="sourceLineNo">314</span> sb.append(" lastUpdate=");<a name="line.314"></a>
+<span class="sourceLineNo">315</span> sb.append(getLastUpdate());<a name="line.315"></a>
+<span class="sourceLineNo">316</span><a name="line.316"></a>
+<span class="sourceLineNo">317</span> final int[] stackIndices = getStackIndexes();<a name="line.317"></a>
+<span class="sourceLineNo">318</span> if (stackIndices != null) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span> sb.append("\n");<a name="line.319"></a>
+<span class="sourceLineNo">320</span> sb.append("stackIndexes=");<a name="line.320"></a>
+<span class="sourceLineNo">321</span> sb.append(Arrays.toString(stackIndices));<a name="line.321"></a>
+<span class="sourceLineNo">322</span> }<a name="line.322"></a>
+<span class="sourceLineNo">323</span><a name="line.323"></a>
+<span class="sourceLineNo">324</span> return sb.toString();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> }<a name="line.325"></a>
+<span class="sourceLineNo">326</span><a name="line.326"></a>
+<span class="sourceLineNo">327</span> protected String toStringClass() {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> StringBuilder sb = new StringBuilder();<a name="line.328"></a>
+<span class="sourceLineNo">329</span> toStringClassDetails(sb);<a name="line.329"></a>
+<span class="sourceLineNo">330</span> return sb.toString();<a name="line.330"></a>
+<span class="sourceLineNo">331</span> }<a name="line.331"></a>
+<span class="sourceLineNo">332</span><a name="line.332"></a>
+<span class="sourceLineNo">333</span> /**<a name="line.333"></a>
+<span class="sourceLineNo">334</span> * Called from {@link #toString()} when interpolating {@link Procedure} state<a name="line.334"></a>
+<span class="sourceLineNo">335</span> * @param builder Append current {@link ProcedureState}<a name="line.335"></a>
+<span class="sourceLineNo">336</span> */<a name="line.336"></a>
+<span class="sourceLineNo">337</span> protected void toStringState(StringBuilder builder) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span> builder.append(getState());<a name="line.338"></a>
+<span class="sourceLineNo">339</span> }<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span> /**<a name="line.341"></a>
+<span class="sourceLineNo">342</span> * Extend the toString() information with the procedure details<a name="line.342"></a>
+<span class="sourceLineNo">343</span> * e.g. className and parameters<a name="line.343"></a>
+<span class="sourceLineNo">344</span> * @param builder the string builder to use to append the proc specific information<a name="line.344"></a>
+<span class="sourceLineNo">345</span> */<a name="line.345"></a>
+<span class="sourceLineNo">346</span> protected void toStringClassDetails(StringBuilder builder) {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> builder.append(getClass().getName());<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> // ==========================================================================<a name="line.350"></a>
+<span class="sourceLineNo">351</span> // Those fields are unchanged after initialization.<a name="line.351"></a>
+<span class="sourceLineNo">352</span> //<a name="line.352"></a>
+<span class="sourceLineNo">353</span> // Each procedure will get created from the user or during<a name="line.353"></a>
+<span class="sourceLineNo">354</span> // ProcedureExecutor.start() during the load() phase and then submitted<a name="line.354"></a>
+<span class="sourceLineNo">355</span> // to the executor. these fields will never be changed after initialization<a name="line.355"></a>
+<span class="sourceLineNo">356</span> // ==========================================================================<a name="line.356"></a>
+<span class="sourceLineNo">357</span> public long getProcId() {<a name="line.357"></a>
+<span class="sourceLineNo">358</span> return procId;<a name="line.358"></a>
+<span class="sourceLineNo">359</span> }<a name="line.359"></a>
+<span class="sourceLineNo">360</span><a name="line.360"></a>
+<span class="sourceLineNo">361</span> public boolean hasParent() {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return parentProcId != NO_PROC_ID;<a name="line.362"></a>
+<span class="sourceLineNo">363</span> }<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span> public long getParentProcId() {<a name="line.365"></a>
+<span class="sourceLineNo">366</span> return parentProcId;<a name="line.366"></a>
+<span class="sourceLineNo">367</span> }<a name="line.367"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span> public long getRootProcId() {<a name="line.369"></a>
+<span class="sourceLineNo">370</span> return rootProcId;<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> public NonceKey getNonceKey() {<a name="line.373"></a>
+<span class="sourceLineNo">374</span> return nonceKey;<a name="line.374"></a>
+<span class="sourceLineNo">375</span> }<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span> public long getSubmittedTime() {<a name="line.377"></a>
+<span class="sourceLineNo">378</span> return submittedTime;<a name="line.378"></a>
+<span class="sourceLineNo">379</span> }<a name="line.379"></a>
+<span class="sourceLineNo">380</span><a name="line.380"></a>
+<span class="sourceLineNo">381</span> public String getOwner() {<a name="line.381"></a>
+<span class="sourceLineNo">382</span> return owner;<a name="line.382"></a>
+<span class="sourceLineNo">383</span> }<a name="line.383"></a>
+<span class="sourceLineNo">384</span><a name="line.384"></a>
+<span class="sourceLineNo">385</span> public boolean hasOwner() {<a name="line.385"></a>
+<span class="sourceLineNo">386</span> return owner != null;<a name="line.386"></a>
+<span class="sourceLineNo">387</span> }<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> * Called by the ProcedureExecutor to assign the ID to the newly created procedure.<a name="line.390"></a>
+<span class="sourceLineNo">391</span> */<a name="line.391"></a>
+<span class="sourceLineNo">392</span> @VisibleForTesting<a name="line.392"></a>
+<span class="sourceLineNo">393</span> @InterfaceAudience.Private<a name="line.393"></a>
+<span class="sourceLineNo">394</span> protected void setProcId(final long procId) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span> this.procId = procId;<a name="line.395"></a>
+<span class="sourceLineNo">396</span> this.submittedTime = EnvironmentEdgeManager.currentTime();<a name="line.396"></a>
+<span class="sourceLineNo">397</span> setState(ProcedureState.RUNNABLE);<a name="line.397"></a>
+<span class="sourceLineNo">398</span> }<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span> /**<a name="line.400"></a>
+<span class="sourceLineNo">401</span> * Called by the ProcedureExecutor to assign the parent to the newly created procedure.<a name="line.401"></a>
+<span class="sourceLineNo">402</span> */<a name="line.402"></a>
+<span class="sourceLineNo">403</span> @InterfaceAudience.Private<a name="line.403"></a>
+<span class="sourceLineNo">404</span> protected void setParentProcId(final long parentProcId) {<a name="line.404"></a>
+<span class="sourceLineNo">405</span> this.parentProcId = parentProcId;<a name="line.405"></a>
+<span class="sourceLineNo">406</span> }<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span> @InterfaceAudience.Private<a name="line.408"></a>
+<span class="sourceLineNo">409</span> protected void setRootProcId(final long rootProcId) {<a name="line.409"></a>
+<span class="sourceLineNo">410</span> this.rootProcId = rootProcId;<a name="line.410"></a>
+<span class="sourceLineNo">411</span> }<a name="line.411"></a>
+<span class="sourceLineNo">412</span><a name="line.412"></a>
+<span class="sourceLineNo">413</span> /**<a name="line.413"></a>
+<span class="sourceLineNo">414</span> * Called by the ProcedureExecutor to set the value to the newly created procedure.<a name="line.414"></a>
<span class="sourceLineNo">415</span> */<a name="line.415"></a>
-<span class="sourceLineNo">416</span> @InterfaceAudience.Private<a name="line.416"></a>
-<span class="sourceLineNo">417</span> protected void setStartTime(final long startTime) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span> this.startTime = startTime;<a name="line.418"></a>
-<span class="sourceLineNo">419</span> }<a name="line.419"></a>
-<span class="sourceLineNo">420</span><a name="line.420"></a>
-<span class="sourceLineNo">421</span> // ==========================================================================<a name="line.421"></a>
-<span class="sourceLineNo">422</span> // runtime state - timeout related<a name="line.422"></a>
-<span class="sourceLineNo">423</span> // ==========================================================================<a name="line.423"></a>
-<span class="sourceLineNo">424</span> /**<a name="line.424"></a>
-<span class="sourceLineNo">425</span> * @param timeout timeout interval in msec<a name="line.425"></a>
-<span class="sourceLineNo">426</span> */<a name="line.426"></a>
-<span class="sourceLineNo">427</span> protected void setTimeout(final int timeout) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span> this.timeout = timeout;<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> public boolean hasTimeout() {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return timeout != NO_TIMEOUT;<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 the timeout in msec<a name="line.436"></a>
-<span class="sourceLineNo">437</span> */<a name="line.437"></a>
-<span class="sourceLineNo">438</span> public int getTimeout() {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> return timeout;<a name="line.439"></a>
+<span class="sourceLineNo">416</span> @VisibleForTesting<a name="line.416"></a>
+<span class="sourceLineNo">417</span> @InterfaceAudience.Private<a name="line.417"></a>
+<span class="sourceLineNo">418</span> protected void setNonceKey(final NonceKey nonceKey) {<a name="line.418"></a>
+<span class="sourceLineNo">419</span> this.nonceKey = nonceKey;<a name="line.419"></a>
+<span class="sourceLineNo">420</span> }<a name="line.420"></a>
+<span class="sourceLineNo">421</span><a name="line.421"></a>
+<span class="sourceLineNo">422</span> @VisibleForTesting<a name="line.422"></a>
+<span class="sourceLineNo">423</span> @InterfaceAudience.Private<a name="line.423"></a>
+<span class="sourceLineNo">424</span> public void setOwner(final String owner) {<a name="line.424"></a>
+<span class="sourceLineNo">425</span> this.owner = StringUtils.isEmpty(owner) ? null : owner;<a name="line.425"></a>
+<span class="sourceLineNo">426</span> }<a name="line.426"></a>
+<span class="sourceLineNo">427</span><a name="line.427"></a>
+<span class="sourceLineNo">428</span> public void setOwner(final User owner) {<a name="line.428"></a>
+<span class="sourceLineNo">429</span> assert owner != null : "expected owner to be not null";<a name="line.429"></a>
+<span class="sourceLineNo">430</span> setOwner(owner.getShortName());<a name="line.430"></a>
+<span class="sourceLineNo">431</span> }<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span> /**<a name="line.433"></a>
+<span class="sourceLineNo">434</span> * Called on store load to initialize the Procedure internals after<a name="line.434"></a>
+<span class="sourceLineNo">435</span> * the creation/deserialization.<a name="line.435"></a>
+<span class="sourceLineNo">436</span> */<a name="line.436"></a>
+<span class="sourceLineNo">437</span> @InterfaceAudience.Private<a name="line.437"></a>
+<span class="sourceLineNo">438</span> protected void setSubmittedTime(final long submittedTime) {<a name="line.438"></a>
+<span class="sourceLineNo">439</span> this.submittedTime = submittedTime;<a name="line.439"></a>
<span class="sourceLineNo">440</span> }<a name="line.440"></a>
<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span> /**<a name="line.442"></a>
-<span class="sourceLineNo">443</span> * Called on store load to initialize the Procedure internals after<a name="line.443"></a>
-<span class="sourceLineNo">444</span> * the creation/deserialization.<a name="line.444"></a>
-<span class="sourceLineNo">445</span> */<a name="line.445"></a>
-<span class="sourceLineNo">446</span> @InterfaceAudience.Private<a name="line.446"></a>
-<span class="sourceLineNo">447</span> protected void setLastUpdate(final long lastUpdate) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span> this.lastUpdate = lastUpdate;<a name="line.448"></a>
-<span class="sourceLineNo">449</span> }<a name="line.449"></a>
-<span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span> /**<a name="line.451"></a>
-<span class="sourceLineNo">452</span> * Called by ProcedureExecutor after each time a procedure step is executed.<a name="line.452"></a>
-<span class="sourceLineNo">453</span> */<a name="line.453"></a>
-<span class="sourceLineNo">454</span> @InterfaceAudience.Private<a name="line.454"></a>
-<span class="sourceLineNo">455</span> protected void updateTimestamp() {<a name="line.455"></a>
-<span class="sourceLineNo">456</span> this.lastUpdate = EnvironmentEdgeManager.currentTime();<a name="line.456"></a>
-<span class="sourceLineNo">457</span> }<a name="line.457"></a>
-<span class="sourceLineNo">458</span><a name="line.458"></a>
-<span class="sourceLineNo">459</span> public long getLastUpdate() {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return lastUpdate;<a name="line.460"></a>
+<span class="sourceLineNo">442</span> // ==========================================================================<a name="line.442"></a>
+<span class="sourceLineNo">443</span> // runtime state - timeout related<a name="line.443"></a>
+<span class="sourceLineNo">444</span> // ==========================================================================<a name="line.444"></a>
+<span class="sourceLineNo">445</span> /**<a name="line.445"></a>
+<span class="sourceLineNo">446</span> * @param timeout timeout interval in msec<a name="line.446"></a>
+<span class="sourceLineNo">447</span> */<a name="line.447"></a>
+<span class="sourceLineNo">448</span> protected void setTimeout(final int timeout) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span> this.timeout = timeout;<a name="line.449"></a>
+<span class="sourceLineNo">450</span> }<a name="line.450"></a>
+<span class="sourceLineNo">451</span><a name="line.451"></a>
+<span class="sourceLineNo">452</span> public boolean hasTimeout() {<a name="line.452"></a>
+<span class="sourceLineNo">453</span> return timeout != NO_TIMEOUT;<a name="line.453"></a>
+<span class="sourceLineNo">454</span> }<a name="line.454"></a>
+<span class="sourceLineNo">455</span><a name="line.455"></a>
+<span class="sourceLineNo">456</span> /**<a name="line.456"></a>
+<span class="sourceLineNo">457</span> * @return the timeout in msec<a name="line.457"></a>
+<span class="sourceLineNo">458</span> */<a name="line.458"></a>
+<span class="sourceLineNo">459</span> public int getTimeout() {<a name="line.459"></a>
+<span class="sourceLineNo">460</span> return timeout;<a name="line.460"></a>
<span class="sourceLineNo">461</span> }<a name="line.461"></a>
<span class="sourceLineNo">462</span><a name="line.462"></a>
<span class="sourceLineNo">463</span> /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span> * Timeout of the next timeout.<a name="line.464"></a>
-<span class="sourceLineNo">465</span> * Called by the ProcedureExecutor if the procedure has timeout set and<a name="line.465"></a>
-<span class="sourceLineNo">466</span> * the procedure is in the waiting queue.<a name="line.466"></a>
-<span class="sourceLineNo">467</span> * @return the timestamp of the next timeout.<a name="line.467"></a>
-<span class="sourceLineNo">468</span> */<a name="line.468"></a>
-<span class="sourceLineNo">469</span> @InterfaceAudience.Private<a name="line.469"></a>
-<span class="sourceLineNo">470</span> protected long getTimeoutTimestamp() {<a name="line.470"></a>
-<span class="sourceLineNo">471</span> return getLastUpdate() + getTimeout();<a name="line.471"></a>
-<span class="sourceLineNo">472</span> }<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span> // ==========================================================================<a name="line.474"></a>
-<span class="sourceLineNo">475</span> // runtime state<a name="line.475"></a>
-<span class="sourceLineNo">476</span> // ==========================================================================<a name="line.476"></a>
-<span class="sourceLineNo">477</span> /**<a name="line.477"></a>
-<span class="sourceLineNo">478</span> * @return the time elapsed between the last update and the start time of the procedure.<a name="line.478"></a>
-<span class="sourceLineNo">479</span> */<a name="line.479"></a>
-<span class="sourceLineNo">480</span> public long elapsedTime() {<a name="line.480"></a>
-<span class="sourceLineNo">481</span> return getLastUpdate() - getStartTime();<a name="line.481"></a>
+<span class="sourceLineNo">464</span> * Called on store load to initialize the Procedure internals after<a name="line.464"></a>
+<span class="sourceLineNo">465</span> * the creation/deserialization.<a name="line.465"></a>
+<span class="sourceLineNo">466</span> */<a name="line.466"></a>
+<span class="sourceLineNo">467</span> @InterfaceAudience.Private<a name="line.467"></a>
+<span class="sourceLineNo">468</span> protected void setLastUpdate(final long lastUpdate) {<a name="line.468"></a>
+<span class="sourceLineNo">469</span> this.lastUpdate = lastUpdate;<a name="line.469"></a>
+<span class="sourceLineNo">470</span> }<a name="line.470"></a>
+<span class="sourceLineNo">471</span><a name="line.471"></a>
+<span class="sourceLineNo">472</span> /**<a name="line.472"></a>
+<span class="sourceLineNo">473</span> * Called by ProcedureExecutor after each time a procedure step is executed.<a name="line.473"></a>
+<span class="sourceLineNo">474</span> */<a name="line.474"></a>
+<span class="sourceLineNo">475</span> @InterfaceAudience.Private<a name="line.475"></a>
+<span class="sourceLineNo">476</span> protected void updateTimestamp() {<a name="line.476"></a>
+<span class="sourceLineNo">477</span> this.lastUpdate = EnvironmentEdgeManager.currentTime();<a name="line.477"></a>
+<span class="sourceLineNo">478</span> }<a name="line.478"></a>
+<span class="sourceLineNo">479</span><a name="line.479"></a>
+<span class="sourceLineNo">480</span> public long getLastUpdate() {<a name="line.480"></a>
+<span class="sourceLineNo">481</span> return lastUpdate;<a name="line.481"></a>
<span class="sourceLineNo">482</span> }<a name="line.482"></a>
<span class="sourceLineNo">483</span><a name="line.483"></a>
<span class="sourceLineNo">484</span> /**<a name="line.484"></a>
-<span class="sourceLineNo">485</span> * @return the serialized result if any, otherwise null<a name="line.485"></a>
-<span class="sourceLineNo">486</span> */<a name="line.486"></a>
-<span class="sourceLineNo">487</span> public byte[] getResult() {<a name="line.487"></a>
-<span class="sourceLineNo">488</span> return result;<a name="line.488"></a>
-<span class="sourceLineNo">489</span> }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span> /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span> * The procedure may leave a "result" on completion.<a name="line.492"></a>
-<span class="sourceLineNo">493</span> * @param result the serialized result that will be passed to the client<a name="line.493"></a>
-<span class="sourceLineNo">494</span> */<a name="line.494"></a>
-<span class="sourceLineNo">495</span> protected void setResult(final byte[] result) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span> this.result = result;<a name="line.496"></a>
-<span class="sourceLineNo">497</span> }<a name="line.497"></a>
-<span class="sourceLineNo">498</span><a name="line.498"></a>
-<span class="sourceLineNo">499</span> // ==============================================================================================<a name="line.499"></a>
-<span class="sourceLineNo">500</span> // Runtime state, updated every operation by the ProcedureExecutor<a name="line.500"></a>
-<span class="sourceLineNo">501</span> //<a name="line.501"></a>
-<span class="sourceLineNo">502</span> // There is always 1 thread at the time operating on the state of the procedure.<a name="line.502"></a>
-<span class="sourceLineNo">503</span> // The ProcedureExecutor may check and set states, or some Procecedure may<a name="line.503"></a>
-<span class="sourceLineNo">504</span> // update its own state. but no concurrent updates. we use synchronized here<a name="line.504"></a>
-<span class="sourceLineNo">505</span> // just because the procedure can get scheduled on different executor threads on each step.<a name="line.505"></a>
-<span class="sourceLineNo">506</span> // ==============================================================================================<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span> /**<a name="line.508"></a>
-<span class="sourceLineNo">509</span> * Procedure has states which are defined in proto file. At some places in the code, we<a name="line.509"></a>
-<span class="sourceLineNo">510</span> * need to determine more about those states. Following Methods help determine:<a name="line.510"></a>
-<span class="sourceLineNo">511</span> *<a name="line.511"></a>
-<span class="sourceLineNo">512</span> * {@link #isFailed()} - A procedure has executed at least once and has failed. The procedure<a name="line.512"></a>
-<span class="sourceLineNo">513</span> * may or may not have rolled back yet. Any procedure in FAILED state<a name="line.513"></a>
-<span class="sourceLineNo">514</span> * will be eventually moved to ROLLEDBACK state.<a name="line.514"></a>
-<span class="sourceLineNo">515</span> *<a name="line.515"></a>
-<span class="sourceLineNo">516</span> * {@link #isSuccess()} - A procedure is completed successfully without any exception.<a name="line.516"></a>
-<span class="sourceLineNo">517</span> *<a name="line.517"></a>
-<span class="sourceLineNo">518</span> * {@link #isFinished()} - As a procedure in FAILED state will be tried forever for rollback, only<a name="line.518"></a>
-<span class="sourceLineNo">519</span> * condition when scheduler/ executor will drop procedure from further<a name="line.519"></a>
-<span class="sourceLineNo">520</span> * processing is when procedure state is ROLLEDBACK or isSuccess()<a name="line.520"></a>
-<span class="sourceLineNo">521</span> * returns true. This is a terminal state of the procedure.<a name="line.521"></a>
-<span class="sourceLineNo">522</span> *<a name="line.522"></a>
-<span class="sourceLineNo">523</span> * {@link #isWaiting()} - Procedure is in one of the two waiting states ({@link<a name="line.523"></a>
-<span class="sourceLineNo">524</span> * ProcedureState#WAITING}, {@link ProcedureState#WAITING_TIMEOUT}).<a name="line.524"></a>
-<span class="sourceLineNo">525</span> */<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span> /**<a name="line.527"></a>
-<span class="sourceLineNo">528</span> * @return true if the procedure is in a RUNNABLE state.<a name="line.528"></a>
-<span class="sourceLineNo">529</span> */<a name="line.529"></a>
-<span class="sourceLineNo">530</span> protected synchronized boolean isRunnable() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span> return state == ProcedureState.RUNNABLE;<a name="line.531"></a>
-<span class="sourceLineNo">532</span> }<a name="line.532"></a>
-<span class="sourceLineNo">533</span><a name="line.533"></a>
-<span class="sourceLineNo">534</span> public synchronized boolean isInitializing() {<a name="line.534"></a>
-<span class="sourceLineNo">535</span> return state == ProcedureState.INITIALIZING;<a name="line.535"></a>
-<span class="sourceLineNo">536</span> }<a name="line.536"></a>
-<span class="sourceLineNo">537</span><a name="line.537"></a>
-<span class="sourceLineNo">538</span> /**<a name="line.538"></a>
-<span class="sourceLineNo">539</span> * @return true if the procedure has failed. It may or may not have rolled back.<a name="line.539"></a>
-<span class="sourceLineNo">540</span> */<a name="line.540"></a>
-<span class="sourceLineNo">541</span> public synchronized boolean isFailed() {<a name="line.541"></a>
-<span class="sourceLineNo">542</span> return state == ProcedureState.FAILED || state == ProcedureState.ROLLEDBACK;<a name="line.542"></a>
-<span class="sourceLineNo">543</span> }<a name="line.543"></a>
-<span class="sourceLineNo">544</span><a name="line.544"></a>
-<span class="sourceLineNo">545</span> /**<a name="line.545"></a>
-<span class="sourceLineNo">546</span> * @return true if the procedure is finished successfully.<a name="line.546"></a>
-<span class="sourceLineNo">547</span> */<a name="line.547"></a>
-<span class="sourceLineNo">548</span> public synchronized boolean isSuccess() {<a name="line.548"></a>
-<span class="sourceLineNo">549</span> return state == ProcedureState.SUCCESS && !hasException();<a name="line.549"></a>
-<span class="sourceLineNo">550</span> }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span> /**<a name="line.552"></a>
-<span class="sourceLineNo">553</span> * @return true if the procedure is finished. The Procedure may be completed successfully or<a name="line.553"></a>
-<span class="sourceLineNo">554</span> * rolledback.<a name="line.554"></a>
-<span class="sourceLineNo">555</span> */<a name="line.555"></a>
-<span class="sourceLineNo">556</span> public synchronized boolean isFinished() {<a name="line.556"></a>
-<span class="sourceLineNo">557</span> return isSuccess() || state == ProcedureState.ROLLEDBACK;<a name="line.557"></a>
-<span class="sourceLineNo">558</span> }<a name="line.558"></a>
-<span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span> /**<a name="line.560"></a>
-<span class="sourceLineNo">561</span> * @return true if the procedure is waiting for a child to finish or for an external event.<a name="line.561"></a>
-<span class="sourceLineNo">562</span> */<a name="line.562"></a>
-<span class="sourceLineNo">563</span> public synchronized boolean isWaiting() {<a name="line.563"></a>
-<span class="sourceLineNo">564</span> switch (state) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span> case WAITING:<a name="line.565"></a>
-<span class="sourceLineNo">566</span> case WAITING_TIMEOUT:<a name="line.566"></a>
-<span class="sourceLineNo">567</span> return true;<a name="line.567"></a>
-<span class="sourceLineNo">568</span> default:<a name="line.568"></a>
-<span class="sourceLineNo">569</span> break;<a name="line.569"></a>
-<span class="sourceLineNo">570</span> }<a name="line.570"></a>
-<span class="sourceLineNo">571</span> return false;<a name="line.571"></a>
-<span class="sourceLineNo">572</span> }<a name="line.572"></a>
-<span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span> @VisibleForTesting<a name="line.574"></a>
-<span class="sourceLineNo">575</span> @InterfaceAudience.Private<a name="line.575"></a>
-<span class="sourceLineNo">576</span> protected synchronized void setState(final ProcedureState state) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span> this.state = state;<a name="line.577"></a>
-<span class="sourceLineNo">578</span> updateTimestamp();<a name="line.578"></a>
+<span class="sourceLineNo">485</span> * Timeout of the next timeout.<a name="line.485"></a>
+<span class="sourceLineNo">486</span> * Called by the ProcedureExecutor if the procedure has timeout set and<a name="line.486"></a>
+<span class="sourceLineNo">487</span> * the procedure is in the waiting queue.<a name="line.487"></a>
+<span class="sourceLineNo">488</span> * @return the timestamp of the next timeout.<a name="line.488"></a>
+<span class="sourceLineNo">489</span> */<a name="line.489"></a>
+<span class="sourceLineNo">490</span> @InterfaceAudience.Private<a name="line.490"></a>
+<span class="sourceLineNo">491</span> protected long getTimeoutTimestamp() {<a name="line.491"></a>
+<span class="sourceLineNo">492</span> return getLastUpdate() + getTimeout();<a name="line.492"></a>
+<span class="sourceLineNo">493</span> }<a name="line.493"></a>
+<span class="sourceLineNo">494</span><a name="line.494"></a>
+<span class="sourceLineNo">495</span> // ==========================================================================<a name="line.495"></a>
+<span class="sourceLineNo">496</span> // runtime state<a name="line.496"></a>
+<span class="sourceLineNo">497</span> // ==========================================================================<a name="line.497"></a>
+<span class="sourceLineNo">498</span> /**<a name="line.498"></a>
+<span class="sourceLineNo">499</span> * @return the time elapsed between the last update and the start time of the procedure.<a name="line.499"></a>
+<span class="sourceLineNo">500</span> */<a name="line.500"></a>
+<span class="sourceLineNo">501</span> public long elapsedTime() {<a name="line.501"></a>
+<span class="sourceLineNo">502</span> return getLastUpdate() - getSubmittedTime();<a name="line.502"></a>
+<span class="sourceLineNo">503</span> }<a name="line.503"></a>
+<span class="sourceLineNo">504</span><a name="line.504"></a>
+<span class="sourceLineNo">505</span> /**<a name="line.505"></a>
+<span class="sourceLineNo">506</span> * @return the serialized result if any, otherwise null<a name="line.506"></a>
+<span class="sourceLineNo">507</span> */<a name="line.507"></a>
+<span class="sourceLineNo">508</span> public byte[] getResult() {<a name="line.508"></a>
+<span class="sourceLineNo">509</span> return result;<a name="line.509"></a>
+<span class="sourceLineNo">510</span> }<a name="line.510"></a>
+<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">512</span> /**<a name="line.512"></a>
+<span class="sourceLineNo">513</span> * The procedure may leave a "result" on completion.<a name="line.513"></a>
+<span class="sourceLineNo">514</span> * @param result the serialized result that will be passed to the client<a name="line.514"></a>
+<span class="sourceLineNo">515</span> */<a name="line.515"></a>
+<span class="sourceLineNo">516</span> protected void setResult(final byte[] result) {<a name="line.516"></a>
+<span class="sourceLineNo">517</span> this.result = result;<a name="line.517"></a>
+<span class="sourceLineNo">518</span> }<a name="line.518"></a>
+<span class="sourceLineNo">519</span><a name="line.519"></a>
+<span class="sourceLineNo">520</span> // ==============================================================================================<a name="line.520"></a>
+<span class="sourceLineNo">521</span> // Runtime state, updated every operation by the ProcedureExecutor<a name="line.521"></a>
+<span class="sourceLineNo">522</span> //<a name="line.522"></a>
+<span class="sourceLineNo">523</span> // There is always 1 thread at the time operating on the state of the procedure.<a name="line.523"></a>
+<span class="sourceLineNo">524</span> // The ProcedureExecutor may check and set states, or some Procecedure may<a name="line.524"></a>
+<span class="sourceLineNo">525</span> // update its own state. but no concurrent updates. we use synchronized here<a name="line.525"></a>
+<span class="sourceLineNo">526</span> // just because the procedure can get scheduled on different executor threads on each step.<a name="line.526"></a>
+<span class="sourceLineNo">527</span> // ==============================================================================================<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span> /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span> * Procedure has states which are defined in proto file. At some places in the code, we<a name="line.530"></a>
+<span class="sourceLineNo">531</span> * need to determine more about those states. Following Methods help determine:<a name="line.531"></a>
+<span class="sourceLineNo">532</span> *<a name="line.532"></a>
+<span class="sourceLineNo">533</span> * {@link #isFailed()} - A procedure has executed at least once and has failed. The procedure<a name="line.533"></a>
+<span class="sourceLineNo">534</span> * may or may not have rolled back yet. Any procedure in FAILED state<a name="line.534"></a>
+<span class="sourceLineNo">535</span> * will be eventually moved to ROLLEDBACK state.<a name="line.535"></a>
+<span class="sourceLineNo">536</span> *<a name="line.536"></a>
+<span class="sourceLineNo">537</span> * {@link #isSuccess()} - A procedure is completed successfully without any exception.<a name="line.537"></a>
+<span class="sourceLineNo">538</span> *<a name="line.538"></a>
+<span class="sourceLineNo">539</span> * {@link #isFinished()} - As a procedure in FAILED state will be tried forever for rollback, only<a name="line.539"></a>
+<span class="sourceLineNo">540</span> * condition when scheduler/ executor will drop procedure from further<a name="line.540"></a>
+<span class="sourceLineNo">541</span> * processing is when procedure state is ROLLEDBACK or isSuccess()<a name="line.541"></a>
+<span class="sourceLineNo">542</span> * returns true. This is a terminal state of the procedure.<a name="line.542"></a>
+<span class="sourceLineNo">543</span> *<a name="line.543"></a>
+<span class="sourceLineNo">544</span> * {@link #isWaiting()} - Procedure is in one of the two waiting states ({@link<a name="line.544"></a>
+<span class="sourceLineNo">545</span> * ProcedureState#WAITING}, {@link ProcedureState#WAITING_TIMEOUT}).<a name="line.545"></a>
+<span class="sourceLineNo">546</span> */<a name="line.546"></a>
+<span class="sourceLineNo">547</span><a name="line.547"></a>
+<span class="sourceLineNo">548</span> /**<a name="line.548"></a>
+<span class="sourceLineNo">549</span> * @return true if the procedure is in a RUNNABLE state.<a name="line.549"></a>
+<span class="sourceLineNo">550</span> */<a name="line.550"></a>
+<span class="sourceLineNo">551</span> protected synchronized boolean isRunnable() {<a name="line.551"></a>
+<span class="sourceLineNo">552</span> return state == ProcedureState.RUNNABLE;<a name="line.552"></a>
+<span class="sourceLineNo">553</span> }<a name="line.553"></a>
+<span class="sourceLineNo">554</span><a name="line.554"></a>
+<span class="sourceLineNo">555</span> public synchronized boolean isInitializing() {<a name="line.555"></a>
+<span class="sourceLineNo">556</span> return state == ProcedureState.INITIALIZING;<a name="line.556"></a>
+<span class="sourceLineNo">557</span> }<a name="line.557"></a>
+<span class="sourceLineNo">558</span><a name="line.558"></a>
+<span class="sourceLineNo">559</span> /**<a name="line.559"></a>
+<span class="sourceLineNo">560</span> * @return true if the procedure has failed. It may or may not have rolled back.<a name="line.560"></a>
+<span class="sourceLineNo">561</span> */<a name="line.561"></a>
+<span class="sourceLineNo">562</span> public synchronized boolean isFailed() {<a name="line.562"></a>
+<span class="sourceLineNo">563</span> return state == ProcedureState.FAILED || state == ProcedureState.ROLLEDBACK;<a name="line.563"></a>
+<span class="sourceLineNo">564</span> }<a name="line.564"></a>
+<span class="sourceLineNo">565</span><a name="line.565"></a>
+<span class="sourceLineNo">566</span> /**<a name="line.566"></a>
+<span class="sourceLineNo">567</span> * @return true if the procedure is finished successfully.<a name="line.567"></a>
+<span class="sourceLineNo">568</span> */<a name="line.568"></a>
+<span class="sourceLineNo">569</span> public synchronized boolean isSuccess() {<a name="line.569"></a>
+<span class="sourceLineNo">570</span> return state == ProcedureState.SUCCESS && !hasException();<a name="line.570"></a>
+<span class="sourceLineNo">571</span> }<a name="line.571"></a>
+<span class="sourceLineNo">572</span><a name="line.572"></a>
+<span class="sourceLineNo">573</span> /**<a name="line.573"></a>
+<span class="sourceLineNo">574</span> * @return true if the procedure is finished. The Procedure may be completed successfully or<a name="line.574"></a>
+<span class="sourceLineNo">575</span> * rolledback.<a name="line.575"></a>
+<span class="sourceLineNo">576</span> */<a name="line.576"></a>
+<span class="sourceLineNo">577</span> public synchronized boolean isFinished() {<a name="line.577"></a>
+<span class="sourceLineNo">578</span> return isSuccess() || state == ProcedureState.ROLLEDBACK;<a name="line.578"></a>
<span class="sourceLineNo">579</span> }<a name="line.579"></a>
<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span> @InterfaceAudience.Private<a name="line.581"></a>
-<span class="sourceLineNo">582</span> protected synchronized ProcedureState getState() {<a name="line.582"></a>
-<span class="sourceLineNo">583</span> return state;<a name="line.583"></a>
-<span class="sourceLineNo">584</span> }<a name="line.584"></a>
-<span class="sourceLineNo">585</span><a name="line.585"></a>
-<span class="sourceLineNo">586</span> protected void setFailure(final String source, final Throwable cause) {<a name="line.586"></a>
-<span class="sourceLineNo">587</span> setFailure(new RemoteProcedureException(source, cause));<a name="line.587"></a>
-<span class="sourceLineNo">588</span> }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span> protected synchronized void setFailure(final RemoteProcedureException exception) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span> this.exception = exception;<a name="line.591"></a>
-<span class="sourceLineNo">592</span> if (!isFinished()) {<a name="line.592"></a>
-<span class="sourceLineNo">593</span> setState(ProcedureState.FAILED);<a name="line.593"></a>
-<span class="sourceLineNo">594</span> }<a name="line.594"></a>
-<span class="sourceLineNo">595</span> }<a name="line.595"></a>
-<span class="sourceLineNo">596</span><a name="line.596"></a>
-<span class="sourceLineNo">597</span> protected void setAbortFailure(final String source, final String msg) {<a name="line.597"></a>
-<span class="sourceLineNo">598</span> setFailure(source, new ProcedureAbortedException(msg));<a name="line.598"></a>
-<span class="sourceLineNo">599</span> }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span> /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span> * Called by the ProcedureExecutor when the timeout set by setTimeout() is expired.<a name="line.602"></a>
-<span class="sourceLineNo">603</span> * @return true to let the framework handle the timeout as abort,<a name="line.603"></a>
-<span class="sourceLineNo">604</span> * false in case the procedure handled the timeout itself.<a name="line.604"></a>
-<span class="sourceLineNo">605</span> */<a name="line.605"></a>
-<span class="sourceLineNo">606</span> protected synchronized boolean setTimeoutFailure(final TEnvironment env) {<a name="line.606"></a>
-<span class="sourceLineNo">607</span> if (state == ProcedureState.WAITING_TIMEOUT) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span> long timeDiff = EnvironmentEdgeManager.currentTime() - lastUpdate;<a name="line.608"></a>
-<span class="sourceLineNo">609</span> setFailure("ProcedureExecutor", new TimeoutIOException(<a name="line.609"></a>
-<span class="sourceLineNo">610</span> "Operation timed out after " + StringUtils.humanTimeDiff(timeDiff)));<a name="line.610"></a>
-<span class="sourceLineNo">611</span> return true;<a name="line.611"></a>
-<span class="sourceLineNo">612</span> }<a name="line.612"></a>
-<span class="sourceLineNo">613</span> return false;<a name="line.613"></a>
-<span class="sourceLineNo">614</span> }<a name="line.614"></a>
-<span class="sourceLineNo">615</span><a name="line.615"></a>
-<span class="sourceLineNo">616</span> public synchronized boolean hasException() {<a name="line.616"></a>
-<span class="sourceLineNo">617</span> return exception != null;<a name="line.617"></a>
-<span class="sourceLineNo">618</span> }<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span> public synchronized RemoteProcedureException getException() {<a name="line.620"></a>
-<span class="sourceLineNo">621</span> return exception;<a name="line.621"></a>
-<span class="sourceLineNo">622</span> }<a name="line.622"></a>
-<span class="sourceLineNo">623</span><a name="line.623"></a>
-<span class="sourceLineNo">624</span> /**<a name="line.624"></a>
-<span class="sourceLineNo">625</span> * Called by the ProcedureExecutor on procedure-load to restore the latch state<a name="line.625"></a>
+<span class="sourceLineNo">581</span> /**<a name="line.581"></a>
+<span class="sourceLineNo">582</span> * @return true if the procedure is waiting for a child to finish or for an external event.<a name="line.582"></a>
+<span class="sourceLineNo">583</span> */<a name="line.583"></a>
+<span class="sourceLineNo">584</span> public synchronized boolean isWaiting() {<a name="line.584"></a>
+<span class="sourceLineNo">585</span> switch (state) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span> case WAITING:<a name="line.586"></a>
+<span class="sourceLineNo">587</span> case WAITING_TIMEOUT:<a name="line.587"></a>
+<span class="sourceLineNo">588</span> return true;<a name="line.588"></a>
+<span class="sourceLineNo">589</span> default:<a name="line.589"></a>
+<span class="sourceLineNo">590</span> break;<a name="line.590"></a>
+<span class="sourceLineNo">591</span> }<a name="line.591"></a>
+<span class="sourceLineNo">592</span> return false;<a name="line.592"></a>
+<span class="sourceLineNo">593</span> }<a name="line.593"></a>
+<span class="sourceLineNo">594</span><a name="line.594"></a>
+<span class="sourceLineNo">595</span> @VisibleForTesting<a name="line.595"></a>
+<span class="sourceLineNo">596</span> @InterfaceAudience.Private<a name="line.596"></a>
+<span class="sourceLineNo">597</span> protected synchronized void setState(final ProcedureState state) {<a name="line.597"></a>
+<span class="sourceLineNo">598</span> this.state = state;<a name="line.598"></a>
+<span class="sourceLineNo">599</span> updateTimestamp();<a name="line.599"></a>
+<span class="sourceLineNo">600</span> }<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span> @InterfaceAudience.Private<a name="line.602"></a>
+<span class="sourceLineNo">603</span> protected synchronized ProcedureState getState() {<a name="line.603"></a>
+<span class="sourceLineNo">604</span> return state;<a name="line.604"></a>
+<span class="sourceLineNo">605</span> }<a name="line.605"></a>
+<span class="sourceLineNo">606</span><a name="line.606"></a>
+<span class="sourceLineNo">607</span> protected void setFailure(final String source, final Throwable cause) {<a name="line.607"></a>
+<span class="sourceLineNo">608</span> setFailure(new RemoteProcedureException(source, cause));<a name="line.608"></a>
+<span class="sourceLineNo">609</span> }<a name="line.609"></a>
+<span class="sourceLineNo">610</span><a name="line.610"></a>
+<span class="sourceLineNo">611</span> protected synchronized void setFailure(final RemoteProcedureException exception) {<a name="line.611"></a>
+<span class="sourceLineNo">612</span> this.exception = exception;<a name="line.612"></a>
+<span class="sourceLineNo">613</span> if (!isFinished()) {<a name="line.613"></a>
+<span class="sourceLineNo">614</span> setState(ProcedureState.FAILED);<a name="line.614"></a>
+<span class="sourceLineNo">615</span> }<a name="line.615"></a>
+<span class="sourceLineNo">616</span> }<a name="line.616"></a>
+<span class="sourceLineNo">617</span><a name="line.617"></a>
+<span class="sourceLineNo">618</span> protected void setAbortFailure(final String source, final String msg) {<a name="line.618"></a>
+<span class="sourceLineNo">619</span> setFailure(source, new ProcedureAbortedException(msg));<a name="line.619"></a>
+<span class="sourceLineNo">620</span> }<a name="line.620"></a>
+<span class="sourceLineNo">621</span><a name="line.621"></a>
+<span class="sourceLineNo">622</span> /**<a name="line.622"></a>
+<span class="sourceLineNo">623</span> * Called by the ProcedureExecutor when the timeout set by setTimeout() is expired.<a name="line.623"></a>
+<span class="sourceLineNo">624</span> * @return true to let the framework handle the timeout as abort,<a name="line.624"></a>
+<span class="sourceLineNo">625</span> * false in case the procedure handled the timeout itself.<a name="line.625"></a>
<span class="sourceLineNo">626</span> */<a name="line.626"></a>
-<span class="sourceLineNo">627</span> @InterfaceAudience.Private<a name="line.627"></a>
-<span class="sourceLineNo">628</span> protected synchronized void setChildrenLatch(final int numChildren) {<a name="line.628"></a>
-<span class="sourceLineNo">629</span> this.childrenLatch = numChildren;<a name="line.629"></a>
-<span class="sourceLineNo">630</span> }<a name="line.630"></a>
-<span class="sourceLineNo">631</span><a name="line.631"></a>
-<span class="sourceLineNo">632</span> /**<a name="line.632"></a>
-<span class="sourceLineNo">633</span> * Called by the ProcedureExecutor on procedure-load to restore the latch state<a name="line.633"></a>
-<span class="sourceLineNo">634</span> */<a name="line.634"></a>
-<span class="sourceLineNo">635</span> @InterfaceAudience.Private<a name="line.635"></a>
-<span class="sourceLineNo">636</span> protected synchronized void incChildrenLatch() {<a name="line.636"></a>
-<span class="sourceLineNo">637</span> // TODO: can this be inferred from the stack? I think so...<a name="line.637"></a>
-<span class="sourceLineNo">638</span> this.childrenLatch++;<a name="line.638"></a>
+<span class="sourceLineNo">627</span> protected synchronized boolean setTimeoutFailure(final TEnvironment env) {<a name="line.627"></a>
+<span class="sourceLineNo">628</span> if (state == ProcedureState.WAITING_TIMEOUT) {<a name="line.628"></a>
+<span class="sourceLineNo">629</span> long timeDiff = EnvironmentEdgeManager.currentTime() - lastUpdate;<a name="line.629"></a>
+<span class="sourceLineNo">630</span> setFailure("ProcedureExecutor", new TimeoutIOException(<a name="line.630"></a>
+<span class="sourceLineNo">631</span> "Operation timed out after " + StringUtils.humanTimeDiff(timeDiff)));<a name="line.631"></a>
+<span class="sourceLineNo">632</span> return true;<a name="line.632"></a>
+<span class="sourceLineNo">633</span> }<a name="line.633"></a>
+<span class="sourceLineNo">634</span> return false;<a name="line.634"></a>
+<span class="sourceLineNo">635</span> }<a name="line.635"></a>
+<span class="sourceLineNo">636</span><a name="line.636"></a>
+<span class="sourceLineNo">637</span> public synchronized boolean hasException() {<a name="line.637"></a>
+<span class="sourceLineNo">638</span> return exception != null;<a name="line.638"></a>
<span class="sourceLineNo">639</span> }<a name="line.639"></a>
<span class="sourceLineNo">640</span><a name="line.640"></a>
-<span class="sourceLineNo">641</span> /**<a name="line.641"></a>
-<span class="sourceLineNo">642</span> * Called by the ProcedureExecutor to notify that one of the sub-procedures has completed.<a name="line.642"></a>
-<span class="sourceLineNo">643</span> */<a name="line.643"></a>
-<span class="sourceLineNo">644</span> @InterfaceAudience.Private<a name="line.644"></a>
-<span class="sourceLineNo">645</span> protected synchronized boolean childrenCountDown() {<a name="line.645"></a>
-<span class="sourceLineNo">646</span> assert childrenLatch > 0: this;<a name="line.646"></a>
-<span class="sourceLineNo">647</span> return --childrenLatch == 0;<a name="line.647"></a>
-<span class="sourceLineNo">648</span> }<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span> @InterfaceAudience.Private<a name="line.650"></a>
-<span class="sourceLineNo">651</span> protected synchronized boolean hasChildren() {<a name="line.651"></a>
-<span class="sourceLineNo">652</span> return childrenLatch > 0;<a name="line.652"></a>
-<span class="sourceLineNo">653</span> }<a name="line.653"></a>
-<span class="sourceLineNo">654</span><a name="line.654"></a>
-<span class="sourceLineNo">655</span> @InterfaceAudience.Private<a name="line.655"></a>
-<span class="sourceLineNo">656</span> protected synchronized int getChildrenLatch() {<a name="line.656"></a>
-<span class="sourceLineNo">657</span> return childrenLatch;<a name="line.657"></a>
-<span class="sourceLineNo">658</span> }<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span> /**<a name="line.660"></a>
-<span class="sourceLineNo">661</span> * Called by the RootProcedureState on procedure execution.<a name="line.661"></a>
-<span class="sourceLineNo">662</span> * Each procedure store its stack-index positions.<a name="line.662"></a>
-<span class="sourceLineNo">663</span> */<a name="line.663"></a>
-<span class="sourceLineNo">664</span> @InterfaceAudience.Private<a name="line.664"></a>
-<span class="sourceLineNo">665</span> protected synchronized void addStackIndex(final int index) {<a name="line.665"></a>
-<span class="sourceLineNo">666</span> if (stackIndexes == null) {<a name="line.666"></a>
-<span class="sourceLineNo">667</span> stackIndexes = new int[] { index };<a name="line.667"></a>
-<span class="sourceLineNo">668</span> } else {<a name="line.668"></a>
-<span class="sourceLineNo">669</span> int count = stackIndexes.length;<a name="line.669"></a>
-<span class="sourceLineNo">670</span> stackIndexes = Arrays.copyOf(stackIndexes, count + 1);<a name="line.670"></a>
-<span class="sourceLineNo">671</span> stackIndexes[count] = index;<a name="line.671"></a>
-<span class="sourceLineNo">672</span> }<a name="line.672"></a>
-<span class="sourceLineNo">673</span> }<a name="line.673"></a>
-<span class="sourceLineNo">674</span><a name="line.674"></a>
-<span class="sourceLineNo">675</span> @InterfaceAudience.Private<a name="line.675"></a>
-<span class="sourceLineNo">676</span> protected synchronized boolean removeStackIndex() {<a name="line.676"></a>
-<span class="sourceLineNo">677</span> if (stackIndexes != null && stackIndexes.length > 1) {<a name="line.677"></a>
-<span class="sourceLineNo">678</span> stackIndexes = Arrays.copyOf(stackIndexes, stackIndexes.length - 1);<a name="line.678"></a>
-<span class="sourceLineNo">679</span> return false;<a name="line.679"></a>
-<span class="sourceLineNo">680</span> } else {<a name="line.680"></a>
-<span class="sourceLineNo">681</span> stackIndexes = null;<a name="line.681"></a>
-<span class="sourceLineNo">682</span> return true;<a name="line.682"></a>
-<span class="sourceLineNo">683</span> }<a name="line.683"></a>
-<span class="sourceLineNo">684</span> }<a name="line.684"></a>
-<span class="sourceLineNo">685</span><a name="line.685"></a>
-<span class="sourceLineNo">686</span> /**<a name="line.686"></a>
-<span class="sourceLineNo">687</span> * Called on store load to initialize the Procedure internals after<a name="line.687"></a>
-<span class="sourceLineNo">688</span> * the creation/deserialization.<a name="line.688"></a>
-<span class="sourceLineNo">689</span> */<a name="line.689"></a>
-<span class="sourceLineNo">690</span> @InterfaceAudience.Private<a name="line.690"></a>
-<span class="sourceLineNo">691</span> protected synchronized void setStackIndexes(final List<Integer> stackIndexes) {<a name="line.691"></a>
-<span class="sourceLineNo">692</span> this.stackIndexes = new int[stackIndexes.size()];<a name="line.692"></a>
-<span class="sourceLineNo">693</span> for (int i = 0; i < this.stackIndexes.length; ++i) {<a name="line.693"></a>
-<span class="sourceLineNo">694</span> this.stackIndexes[i] = stackIndexes.get(i);<a name="line.694"></a>
-<span class="sourceLineNo">695</span> }<a name="line.695"></a>
-<span class="sourceLineNo">696</span> }<a name="line.696"></a>
-<span class="sourceLineNo">697</span><a name="line.697"></a>
-<span class="sourceLineNo">698</span> @InterfaceAudience.Private<a name="line.698"></a>
-<span class="sourceLineNo">699</span> protected synchronized boolean wasExecuted() {<a name="line.699"></a>
-<span class="sourceLineNo">700</span> return stackIndexes != null;<a name="line.700"></a>
-<span class="sourceLineNo">701</span> }<a name="line.701"></a>
-<span class="sourceLineNo">702</span><a name="line.702"></a>
-<span class="sourceLineNo">703</span> @InterfaceAudience.Private<a name="line.703"></a>
-<span class="sourceLineNo">704</span> protected synchronized int[] getStackIndexes() {<a name="line.704"></a>
-<span class="sourceLineNo">705</span> return stackIndexes;<a name="line.705"></a>
-<span class="sourceLineNo">706</span> }<a name="line.706"></a>
-<span class="sourceLineNo">707</span><a name="line.707"></a>
-<span class="sourceLineNo">708</span> // ==========================================================================<a name="line.708"></a>
-<span class="sourceLineNo">709</span> // Internal methods - called by the ProcedureExecutor<a name="line.709"></a>
-<span class="sourceLineNo">710</span> // ==========================================================================<a name="line.710"></a>
-<span class="sourceLineNo">711</span><a name="line.711"></a>
-<span class="sourceLineNo">712</span> /**<a name="line.712"></a>
-<span class="sourceLineNo">713</span> * Internal method called by the ProcedureExecutor that starts the user-level code execute().<a name="line.713"></a>
-<span class="sourceLineNo">714</span> */<a name="line.714"></a>
-<span class="sourceLineNo">715</span> @InterfaceAudience.Private<a name="line.715"></a>
-<span class="sourceLineNo">716</span> protected Procedure[] doExecute(final TEnvironment env)<a name="line.716"></a>
-<span class="sourceLineNo">717</span> throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException {<a name="line.717"></a>
-<span class="sourceLineNo">718</span> try {<a name="line.718"></a>
-<span class="sourceLineNo">719</span> updateTimestamp();<a name="line.719"></a>
-<span class="sourceLineNo">720</span> return execute(env);<a name="line.720"></a>
-<span class="sourceLineNo">721</span> } finally {<a name="line.721"></a>
-<span class="sourceLineNo">722</span> updateTimestamp();<a name="line.722"></a>
-<span class="sourceLineNo">723</span> }<a name="line.723"></a>
-<span class="sourceLineNo">724</span> }<a name="line.724"></a>
-<span class="sourceLineNo">725</span><a name="line.725"></a>
-<span class="sourceLineNo">726</span> /**<a name="line.726"></a>
-<span class="sourceLineNo">727</span> * Internal method called by the ProcedureExecutor that starts the user-level code rollback().<a name="line.727"></a>
-<span class="sourceLineNo">728</span> */<a name="line.728"></a>
-<span class="sourceLineNo">729</span> @InterfaceAudience.Private<a name="line.729"></a>
-<span class="sourceLineNo">730</span> protected void doRollback(final TEnvironment env)<a name="line.730"></a>
-<span class="sourceLineNo">731</span> throws IOException, InterruptedException {<a name="line.731"></a>
-<span class="sourceLineNo">732</span> try {<a name="line.732"></a>
-<span class="sourceLineNo">733</span> updateTimestamp();<a name="line.733"></a>
-<span class="sourceLineNo">734</span> rollback(env);<a name="line.734"></a>
-<span class="sourceLineNo">735</span> } finally {<a name="line.735"></a>
-<span class="sourceLineNo">736</span> updateTimestamp();<a name="line.736"></a>
-<span class="sourceLineNo">737</span> }<a name="line.737"></a>
-<span class="sourceLineNo">738</span> }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span> /**<a name="line.740"></a>
-<span class="sourceLineNo">741</span> * Internal method called by the ProcedureExecutor that starts the user-level code acquireLock().<a name="line.741"></a>
-<span class="sourceLineNo">742</span> */<a name="line.742"></a>
-<span class="sourceLineNo">743</span> @InterfaceAudience.Private<a name="line.743"></a>
-<span class="sourceLineNo">744</span> protected LockState doAcquireLock(final TEnvironment env) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span> return acquireLock(env);<a name="line.745"></a>
-<span class="sourceLineNo">746</span> }<a name="line.746"></a>
-<span class="sourceLineNo">747</span><a name="line.747"></a>
-<span class="sourceLineNo">748</span> /**<a name="line.748"></a>
-<span class="sourceLineNo">749</span> * Internal method called by the ProcedureExecutor that starts the user-level code releaseLock().<a name="line.749"></a>
-<span class="sourceLineNo">750</span> */<a name="line.750"></a>
-<span class="sourceLineNo">751</span> @InterfaceAudience.Private<a name="line.751"></a>
-<span class="sourceLineNo">752</span> protected void doReleaseLock(final TEnvironment env) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span> releaseLock(env);<a name="line.753"></a>
-<span class="sourceLineNo">754</span> }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span> @Override<a name="line.756"></a>
-<span class="sourceLineNo">757</span> public int compareTo(final Procedure other) {<a name="line.757"></a>
-<span class="sourceLineNo">758</span> return Long.compare(getProcId(), other.getProcId());<a name="line.758"></a>
+<span class="sourceLineNo">641</span> public synchronized RemoteProcedureException getException() {<a name="line.641"></a>
+<span class="sourceLineNo">642</span> return exception;<a name="line.642"></a>
+<span class="sourceLineNo">643</span> }<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span> /**<a name="line.645"></a>
+<span class="sourceLineNo">646</span> * Called by the ProcedureExecutor on procedure-load to restore the latch state<a name="line.646"></a>
+<span class="sourceLineNo">647</span> */<a name="line.647"></a>
+<span class="sourceLineNo">648</span> @InterfaceAudience.Private<a name="line.648"></a>
+<span class="sourceLineNo">649</span> protected synchronized void setChildrenLatch(final int numChildren) {<a name="line.649"></a>
+<span class="sourceLineNo">650</span> this.childrenLatch = numChildren;<a name="line.650"></a>
+<span class="sourceLineNo">651</span> }<a name="line.651"></a>
+<span class="sourceLineNo">652</span><a name="line.652"></a>
+<span class="sourceLineNo">653</span> /**<a name="line.653"></a>
+<span class="sourceLineNo">654</span> * Called by the ProcedureExecutor on procedure-load to restore the latch state<a name="line.654"></a>
+<span class="sourceLineNo">655</span> */<a name="line.655"></a>
+<span class="sourceLineNo">656</span> @InterfaceAudience.Private<a name="line.656"></a>
+<span class="sourceLineNo">657</span> protected synchronized void incChildrenLatch() {<a name="line.657"></a>
+<span class="sourceLineNo">658</span> // TODO: can this be inferred from the stack? I think so...<a name="line.658"></a>
+<span class="sourceLineNo">659</span> this.childrenLatch++;<a name="line.659"></a>
+<span class="sourceLineNo">660</span> }<a name="line.660"></a>
+<span class="sourceLineNo">661</span><a name="line.661"></a>
+<span class="sourceLineNo">662</span> /**<a name="line.662"></a>
+<span class="sourceLineNo">663</span> * Called by the ProcedureExecutor to notify that one of the sub-procedures has completed.<a name="line.663"></a>
+<span class="sourceLineNo">664</span> */<a name="line.664"></a>
+<span class="sourceLineNo">665</span> @InterfaceAudience.Private<a name="line.665"></a>
+<span class="sourceLineNo">666</span> protected synchronized boolean childrenCountDown() {<a name="line.666"></a>
+<span class="sourceLineNo">667</span> assert childrenLatch > 0: this;<a name="line.667"></a>
+<span class="sourceLineNo">668</span> return --childrenLatch == 0;<a name="line.668"></a>
+<span class="sourceLineNo">669</span> }<a name="line.669"></a>
+<span class="sourceLineNo">670</span><a name="line.670"></a>
+<span class="sourceLineNo">671</span> @InterfaceAudience.Private<a name="line.671"></a>
+<span class="sourceLineNo">672</span> protected synchronized boolean hasChildren() {<a name="line.672"></a>
+<span class="sourceLineNo">673</span> return childrenLatch > 0;<a name="line.673"></a>
+<span class="sourceLineNo">674</span> }<a name="line.674"></a>
+<span class="sourceLineNo">675</span><a name="line.675"></a>
+<span class="sourceLineNo">676</span> @InterfaceAudience.Private<a name="line.676"></a>
+<span class="sourceLineNo">677</span> protected synchronized int getChildrenLatch() {<a name="line.677"></a>
+<span class="sourceLineNo">678</span> return childrenLatch;<a name="line.678"></a>
+<span class="sourceLineNo">679</span> }<a name="line.679"></a>
+<span class="sourceLineNo">680</span><a name="line.680"></a>
+<span class="sourceLineNo">681</span> /**<a name="line.681"></a>
+<span class="sourceLineNo">682</span> * Called by the RootProcedureState on procedure execution.<a name="line.682"></a>
+<span class="sourceLineNo">683</span> * Each procedure store its stack-index positions.<a name="line.683"></a>
+<span class="sourceLineNo">684</span> */<a name="line.684"></a>
+<span class="sourceLineNo">685</span> @InterfaceAudience.Private<a name="line.685"></a>
+<span class="sourceLineNo">686</span> protected synchronized void addStackIndex(final int index) {<a name="line.686"></a>
+<span class="sourceLineNo">687</span> if (stackIndexes == null) {<a name="line.687"></a>
+<span class="sourceLineNo">688</span> stackIndexes = new int[] { index };<a name="line.688"></a>
+<span class="sourceLineNo">689</span> } else {<a name="line.689"></a>
+<span class="sourceLineNo">690</span> int count = stackIndexes.length;<a name="line.690"></a>
+<span class="sourceLineNo">691</span> stackIndexes = Arrays.copyOf(stackIndexes, count + 1);<a name="line.691"></a>
+<span class="sourceLineNo">692</span> stackIndexes[count] = index;<a name="line.692"></a>
+<span class="sourceLineNo">693</span> }<a name="line.693"></a>
+<span class="sourceLineNo">694</span> }<a name="line.694"></a>
+<span class="sourceLineNo">695</span><a name="line.695"></a>
+<span class="sourceLineNo">696</span> @InterfaceAudience.Private<a name="line.696"></a>
+<span class="sourceLineNo">697</span> protected synchronized boolean removeStackIndex() {<a name="line.697"></a>
+<span class="sourceLineNo">698</span> if (stackIndexes != null && stackIndexes.length > 1) {<a name="line.698"></a>
+<span class="sourceLineNo">699</span> stackIndexes = Arrays.copyOf(stackIndexes, stackIndexes.length - 1);<a name="line.699"></a>
+<span class="sourceLineNo">700</span> return false;<a name="line.700"></a>
+<span class="sourceLineNo">701</span> } else {<a name="line.701"></a>
+<span class="sourceLineNo">702</span> stackIndexes = null;<a na
<TRUNCATED>
[17/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html
index a1495ff..0c11099 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.Testing.html
@@ -839,1019 +839,1030 @@
<span class="sourceLineNo">831</span> private long pushProcedure(final Procedure proc) {<a name="line.831"></a>
<span class="sourceLineNo">832</span> final long currentProcId = proc.getProcId();<a name="line.832"></a>
<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span> // Create the rollback stack for the procedure<a name="line.834"></a>
-<span class="sourceLineNo">835</span> RootProcedureState stack = new RootProcedureState();<a name="line.835"></a>
-<span class="sourceLineNo">836</span> rollbackStack.put(currentProcId, stack);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span> // Submit the new subprocedures<a name="line.838"></a>
-<span class="sourceLineNo">839</span> assert !procedures.containsKey(currentProcId);<a name="line.839"></a>
-<span class="sourceLineNo">840</span> procedures.put(currentProcId, proc);<a name="line.840"></a>
-<span class="sourceLineNo">841</span> sendProcedureAddedNotification(currentProcId);<a name="line.841"></a>
-<span class="sourceLineNo">842</span> scheduler.addBack(proc);<a name="line.842"></a>
-<span class="sourceLineNo">843</span> return proc.getProcId();<a name="line.843"></a>
-<span class="sourceLineNo">844</span> }<a name="line.844"></a>
-<span class="sourceLineNo">845</span><a name="line.845"></a>
-<span class="sourceLineNo">846</span> /**<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * Send an abort notification the specified procedure.<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.848"></a>
-<span class="sourceLineNo">849</span> * @param procId the procedure to abort<a name="line.849"></a>
-<span class="sourceLineNo">850</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.850"></a>
-<span class="sourceLineNo">851</span> */<a name="line.851"></a>
-<span class="sourceLineNo">852</span> public boolean abort(final long procId) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span> return abort(procId, true);<a name="line.853"></a>
-<span class="sourceLineNo">854</span> }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span> /**<a name="line.856"></a>
-<span class="sourceLineNo">857</span> * Send an abort notification the specified procedure.<a name="line.857"></a>
-<span class="sourceLineNo">858</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.858"></a>
-<span class="sourceLineNo">859</span> * @param procId the procedure to abort<a name="line.859"></a>
-<span class="sourceLineNo">860</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.860"></a>
-<span class="sourceLineNo">861</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.861"></a>
-<span class="sourceLineNo">862</span> */<a name="line.862"></a>
-<span class="sourceLineNo">863</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.863"></a>
-<span class="sourceLineNo">864</span> final Procedure proc = procedures.get(procId);<a name="line.864"></a>
-<span class="sourceLineNo">865</span> if (proc != null) {<a name="line.865"></a>
-<span class="sourceLineNo">866</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.866"></a>
-<span class="sourceLineNo">867</span> return false;<a name="line.867"></a>
-<span class="sourceLineNo">868</span> }<a name="line.868"></a>
-<span class="sourceLineNo">869</span> return proc.abort(getEnvironment());<a name="line.869"></a>
-<span class="sourceLineNo">870</span> }<a name="line.870"></a>
-<span class="sourceLineNo">871</span> return false;<a name="line.871"></a>
-<span class="sourceLineNo">872</span> }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span> // ==========================================================================<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // Executor query helpers<a name="line.875"></a>
-<span class="sourceLineNo">876</span> // ==========================================================================<a name="line.876"></a>
-<span class="sourceLineNo">877</span> public Procedure getProcedure(final long procId) {<a name="line.877"></a>
-<span class="sourceLineNo">878</span> return procedures.get(procId);<a name="line.878"></a>
-<span class="sourceLineNo">879</span> }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span> final Procedure proc = getProcedure(procId);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> if (clazz.isInstance(proc)) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span> return (T)proc;<a name="line.884"></a>
-<span class="sourceLineNo">885</span> }<a name="line.885"></a>
-<span class="sourceLineNo">886</span> return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span> }<a name="line.887"></a>
-<span class="sourceLineNo">888</span><a name="line.888"></a>
-<span class="sourceLineNo">889</span> public ProcedureInfo getResult(final long procId) {<a name="line.889"></a>
-<span class="sourceLineNo">890</span> return completed.get(procId);<a name="line.890"></a>
-<span class="sourceLineNo">891</span> }<a name="line.891"></a>
-<span class="sourceLineNo">892</span><a name="line.892"></a>
-<span class="sourceLineNo">893</span> /**<a name="line.893"></a>
-<span class="sourceLineNo">894</span> * Return true if the procedure is finished.<a name="line.894"></a>
-<span class="sourceLineNo">895</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.895"></a>
-<span class="sourceLineNo">896</span> * Use getResult() to check the state or get the result data.<a name="line.896"></a>
-<span class="sourceLineNo">897</span> * @param procId the ID of the procedure to check<a name="line.897"></a>
-<span class="sourceLineNo">898</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.898"></a>
-<span class="sourceLineNo">899</span> */<a name="line.899"></a>
-<span class="sourceLineNo">900</span> public boolean isFinished(final long procId) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span> return !procedures.containsKey(procId);<a name="line.901"></a>
-<span class="sourceLineNo">902</span> }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span> /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span> * Return true if the procedure is started.<a name="line.905"></a>
-<span class="sourceLineNo">906</span> * @param procId the ID of the procedure to check<a name="line.906"></a>
-<span class="sourceLineNo">907</span> * @return true if the procedure execution is started, otherwise false.<a name="line.907"></a>
-<span class="sourceLineNo">908</span> */<a name="line.908"></a>
-<span class="sourceLineNo">909</span> public boolean isStarted(final long procId) {<a name="line.909"></a>
-<span class="sourceLineNo">910</span> final Procedure proc = procedures.get(procId);<a name="line.910"></a>
-<span class="sourceLineNo">911</span> if (proc == null) {<a name="line.911"></a>
-<span class="sourceLineNo">912</span> return completed.get(procId) != null;<a name="line.912"></a>
-<span class="sourceLineNo">913</span> }<a name="line.913"></a>
-<span class="sourceLineNo">914</span> return proc.wasExecuted();<a name="line.914"></a>
-<span class="sourceLineNo">915</span> }<a name="line.915"></a>
-<span class="sourceLineNo">916</span><a name="line.916"></a>
-<span class="sourceLineNo">917</span> /**<a name="line.917"></a>
-<span class="sourceLineNo">918</span> * Mark the specified completed procedure, as ready to remove.<a name="line.918"></a>
-<span class="sourceLineNo">919</span> * @param procId the ID of the procedure to remove<a name="line.919"></a>
-<span class="sourceLineNo">920</span> */<a name="line.920"></a>
-<span class="sourceLineNo">921</span> public void removeResult(final long procId) {<a name="line.921"></a>
-<span class="sourceLineNo">922</span> final ProcedureInfo result = completed.get(procId);<a name="line.922"></a>
-<span class="sourceLineNo">923</span> if (result == null) {<a name="line.923"></a>
-<span class="sourceLineNo">924</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.924"></a>
-<span class="sourceLineNo">925</span> if (LOG.isDebugEnabled()) {<a name="line.925"></a>
-<span class="sourceLineNo">926</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.926"></a>
-<span class="sourceLineNo">927</span> }<a name="line.927"></a>
-<span class="sourceLineNo">928</span> return;<a name="line.928"></a>
-<span class="sourceLineNo">929</span> }<a name="line.929"></a>
-<span class="sourceLineNo">930</span><a name="line.930"></a>
-<span class="sourceLineNo">931</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.931"></a>
-<span class="sourceLineNo">932</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span><a name="line.934"></a>
-<span class="sourceLineNo">935</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.935"></a>
-<span class="sourceLineNo">936</span> ProcedureInfo result = completed.get(procId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span> Procedure proc = null;<a name="line.937"></a>
-<span class="sourceLineNo">938</span> if (result == null) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span> proc = procedures.get(procId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span> if (proc == null) {<a name="line.940"></a>
-<span class="sourceLineNo">941</span> result = completed.get(procId);<a name="line.941"></a>
-<span class="sourceLineNo">942</span> }<a name="line.942"></a>
-<span class="sourceLineNo">943</span> }<a name="line.943"></a>
-<span class="sourceLineNo">944</span> return new Pair(result, proc);<a name="line.944"></a>
-<span class="sourceLineNo">945</span> }<a name="line.945"></a>
-<span class="sourceLineNo">946</span><a name="line.946"></a>
-<span class="sourceLineNo">947</span> /**<a name="line.947"></a>
-<span class="sourceLineNo">948</span> * Check if the user is this procedure's owner<a name="line.948"></a>
-<span class="sourceLineNo">949</span> * @param procId the target procedure<a name="line.949"></a>
-<span class="sourceLineNo">950</span> * @param user the user<a name="line.950"></a>
-<span class="sourceLineNo">951</span> * @return true if the user is the owner of the procedure,<a name="line.951"></a>
-<span class="sourceLineNo">952</span> * false otherwise or the owner is unknown.<a name="line.952"></a>
-<span class="sourceLineNo">953</span> */<a name="line.953"></a>
-<span class="sourceLineNo">954</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> if (user == null) return false;<a name="line.955"></a>
-<span class="sourceLineNo">956</span><a name="line.956"></a>
-<span class="sourceLineNo">957</span> final Procedure proc = procedures.get(procId);<a name="line.957"></a>
-<span class="sourceLineNo">958</span> if (proc != null) {<a name="line.958"></a>
-<span class="sourceLineNo">959</span> return proc.getOwner().equals(user.getShortName());<a name="line.959"></a>
-<span class="sourceLineNo">960</span> }<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.962"></a>
-<span class="sourceLineNo">963</span> if (procInfo == null) {<a name="line.963"></a>
-<span class="sourceLineNo">964</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.964"></a>
-<span class="sourceLineNo">965</span> // At this time, we cannot check the owner of the procedure<a name="line.965"></a>
-<span class="sourceLineNo">966</span> return false;<a name="line.966"></a>
-<span class="sourceLineNo">967</span> }<a name="line.967"></a>
-<span class="sourceLineNo">968</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.968"></a>
-<span class="sourceLineNo">969</span> }<a name="line.969"></a>
-<span class="sourceLineNo">970</span><a name="line.970"></a>
-<span class="sourceLineNo">971</span> /**<a name="line.971"></a>
-<span class="sourceLineNo">972</span> * List procedures.<a name="line.972"></a>
-<span class="sourceLineNo">973</span> * @return the procedures in a list<a name="line.973"></a>
-<span class="sourceLineNo">974</span> */<a name="line.974"></a>
-<span class="sourceLineNo">975</span> public List<ProcedureInfo> listProcedures() {<a name="line.975"></a>
-<span class="sourceLineNo">976</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.976"></a>
-<span class="sourceLineNo">977</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.977"></a>
-<span class="sourceLineNo">978</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.978"></a>
-<span class="sourceLineNo">979</span> }<a name="line.979"></a>
-<span class="sourceLineNo">980</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.981"></a>
-<span class="sourceLineNo">982</span> // it could complete after we walk through procedures list and insert into<a name="line.982"></a>
-<span class="sourceLineNo">983</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.983"></a>
-<span class="sourceLineNo">984</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.984"></a>
-<span class="sourceLineNo">985</span> procedureLists.add(e.getValue());<a name="line.985"></a>
-<span class="sourceLineNo">986</span> }<a name="line.986"></a>
-<span class="sourceLineNo">987</span> return procedureLists;<a name="line.987"></a>
-<span class="sourceLineNo">988</span> }<a name="line.988"></a>
-<span class="sourceLineNo">989</span><a name="line.989"></a>
-<span class="sourceLineNo">990</span> // ==========================================================================<a name="line.990"></a>
-<span class="sourceLineNo">991</span> // Listeners helpers<a name="line.991"></a>
-<span class="sourceLineNo">992</span> // ==========================================================================<a name="line.992"></a>
-<span class="sourceLineNo">993</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.993"></a>
-<span class="sourceLineNo">994</span> this.listeners.add(listener);<a name="line.994"></a>
-<span class="sourceLineNo">995</span> }<a name="line.995"></a>
-<span class="sourceLineNo">996</span><a name="line.996"></a>
-<span class="sourceLineNo">997</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.997"></a>
-<span class="sourceLineNo">998</span> return this.listeners.remove(listener);<a name="line.998"></a>
-<span class="sourceLineNo">999</span> }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span><a name="line.1000"></a>
-<span class="sourceLineNo">1001</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> if (!this.listeners.isEmpty()) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> try {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> listener.procedureLoaded(procId);<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span> } catch (Throwable e) {<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> }<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> }<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span><a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span> if (!this.listeners.isEmpty()) {<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> try {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> listener.procedureAdded(procId);<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> } catch (Throwable e) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> }<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span> }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span><a name="line.1024"></a>
-<span class="sourceLineNo">1025</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span> if (!this.listeners.isEmpty()) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span> try {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span> listener.procedureFinished(procId);<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> } catch (Throwable e) {<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span> }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span> }<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span> }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span> // ==========================================================================<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span> // Procedure IDs helpers<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span> // ==========================================================================<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span> private long nextProcId() {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span> long procId = lastProcId.incrementAndGet();<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span> if (procId < 0) {<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span> procId = lastProcId.get();<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span> if (procId >= 0)<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span> break;<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span> }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span> while (procedures.containsKey(procId)) {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span> procId = lastProcId.incrementAndGet();<a name="line.1049"></a>
+<span class="sourceLineNo">834</span> // Update metrics on start of a procedure<a name="line.834"></a>
+<span class="sourceLineNo">835</span> proc.updateMetricsOnSubmit(getEnvironment());<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span> // Create the rollback stack for the procedure<a name="line.837"></a>
+<span class="sourceLineNo">838</span> RootProcedureState stack = new RootProcedureState();<a name="line.838"></a>
+<span class="sourceLineNo">839</span> rollbackStack.put(currentProcId, stack);<a name="line.839"></a>
+<span class="sourceLineNo">840</span><a name="line.840"></a>
+<span class="sourceLineNo">841</span> // Submit the new subprocedures<a name="line.841"></a>
+<span class="sourceLineNo">842</span> assert !procedures.containsKey(currentProcId);<a name="line.842"></a>
+<span class="sourceLineNo">843</span> procedures.put(currentProcId, proc);<a name="line.843"></a>
+<span class="sourceLineNo">844</span> sendProcedureAddedNotification(currentProcId);<a name="line.844"></a>
+<span class="sourceLineNo">845</span> scheduler.addBack(proc);<a name="line.845"></a>
+<span class="sourceLineNo">846</span> return proc.getProcId();<a name="line.846"></a>
+<span class="sourceLineNo">847</span> }<a name="line.847"></a>
+<span class="sourceLineNo">848</span><a name="line.848"></a>
+<span class="sourceLineNo">849</span> /**<a name="line.849"></a>
+<span class="sourceLineNo">850</span> * Send an abort notification the specified procedure.<a name="line.850"></a>
+<span class="sourceLineNo">851</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.851"></a>
+<span class="sourceLineNo">852</span> * @param procId the procedure to abort<a name="line.852"></a>
+<span class="sourceLineNo">853</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.853"></a>
+<span class="sourceLineNo">854</span> */<a name="line.854"></a>
+<span class="sourceLineNo">855</span> public boolean abort(final long procId) {<a name="line.855"></a>
+<span class="sourceLineNo">856</span> return abort(procId, true);<a name="line.856"></a>
+<span class="sourceLineNo">857</span> }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span> /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span> * Send an abort notification the specified procedure.<a name="line.860"></a>
+<span class="sourceLineNo">861</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.861"></a>
+<span class="sourceLineNo">862</span> * @param procId the procedure to abort<a name="line.862"></a>
+<span class="sourceLineNo">863</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.863"></a>
+<span class="sourceLineNo">864</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.864"></a>
+<span class="sourceLineNo">865</span> */<a name="line.865"></a>
+<span class="sourceLineNo">866</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.866"></a>
+<span class="sourceLineNo">867</span> final Procedure proc = procedures.get(procId);<a name="line.867"></a>
+<span class="sourceLineNo">868</span> if (proc != null) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.869"></a>
+<span class="sourceLineNo">870</span> return false;<a name="line.870"></a>
+<span class="sourceLineNo">871</span> }<a name="line.871"></a>
+<span class="sourceLineNo">872</span> return proc.abort(getEnvironment());<a name="line.872"></a>
+<span class="sourceLineNo">873</span> }<a name="line.873"></a>
+<span class="sourceLineNo">874</span> return false;<a name="line.874"></a>
+<span class="sourceLineNo">875</span> }<a name="line.875"></a>
+<span class="sourceLineNo">876</span><a name="line.876"></a>
+<span class="sourceLineNo">877</span> // ==========================================================================<a name="line.877"></a>
+<span class="sourceLineNo">878</span> // Executor query helpers<a name="line.878"></a>
+<span class="sourceLineNo">879</span> // ==========================================================================<a name="line.879"></a>
+<span class="sourceLineNo">880</span> public Procedure getProcedure(final long procId) {<a name="line.880"></a>
+<span class="sourceLineNo">881</span> return procedures.get(procId);<a name="line.881"></a>
+<span class="sourceLineNo">882</span> }<a name="line.882"></a>
+<span class="sourceLineNo">883</span><a name="line.883"></a>
+<span class="sourceLineNo">884</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span> final Procedure proc = getProcedure(procId);<a name="line.885"></a>
+<span class="sourceLineNo">886</span> if (clazz.isInstance(proc)) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span> return (T)proc;<a name="line.887"></a>
+<span class="sourceLineNo">888</span> }<a name="line.888"></a>
+<span class="sourceLineNo">889</span> return null;<a name="line.889"></a>
+<span class="sourceLineNo">890</span> }<a name="line.890"></a>
+<span class="sourceLineNo">891</span><a name="line.891"></a>
+<span class="sourceLineNo">892</span> public ProcedureInfo getResult(final long procId) {<a name="line.892"></a>
+<span class="sourceLineNo">893</span> return completed.get(procId);<a name="line.893"></a>
+<span class="sourceLineNo">894</span> }<a name="line.894"></a>
+<span class="sourceLineNo">895</span><a name="line.895"></a>
+<span class="sourceLineNo">896</span> /**<a name="line.896"></a>
+<span class="sourceLineNo">897</span> * Return true if the procedure is finished.<a name="line.897"></a>
+<span class="sourceLineNo">898</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.898"></a>
+<span class="sourceLineNo">899</span> * Use getResult() to check the state or get the result data.<a name="line.899"></a>
+<span class="sourceLineNo">900</span> * @param procId the ID of the procedure to check<a name="line.900"></a>
+<span class="sourceLineNo">901</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.901"></a>
+<span class="sourceLineNo">902</span> */<a name="line.902"></a>
+<span class="sourceLineNo">903</span> public boolean isFinished(final long procId) {<a name="line.903"></a>
+<span class="sourceLineNo">904</span> return !procedures.containsKey(procId);<a name="line.904"></a>
+<span class="sourceLineNo">905</span> }<a name="line.905"></a>
+<span class="sourceLineNo">906</span><a name="line.906"></a>
+<span class="sourceLineNo">907</span> /**<a name="line.907"></a>
+<span class="sourceLineNo">908</span> * Return true if the procedure is started.<a name="line.908"></a>
+<span class="sourceLineNo">909</span> * @param procId the ID of the procedure to check<a name="line.909"></a>
+<span class="sourceLineNo">910</span> * @return true if the procedure execution is started, otherwise false.<a name="line.910"></a>
+<span class="sourceLineNo">911</span> */<a name="line.911"></a>
+<span class="sourceLineNo">912</span> public boolean isStarted(final long procId) {<a name="line.912"></a>
+<span class="sourceLineNo">913</span> final Procedure proc = procedures.get(procId);<a name="line.913"></a>
+<span class="sourceLineNo">914</span> if (proc == null) {<a name="line.914"></a>
+<span class="sourceLineNo">915</span> return completed.get(procId) != null;<a name="line.915"></a>
+<span class="sourceLineNo">916</span> }<a name="line.916"></a>
+<span class="sourceLineNo">917</span> return proc.wasExecuted();<a name="line.917"></a>
+<span class="sourceLineNo">918</span> }<a name="line.918"></a>
+<span class="sourceLineNo">919</span><a name="line.919"></a>
+<span class="sourceLineNo">920</span> /**<a name="line.920"></a>
+<span class="sourceLineNo">921</span> * Mark the specified completed procedure, as ready to remove.<a name="line.921"></a>
+<span class="sourceLineNo">922</span> * @param procId the ID of the procedure to remove<a name="line.922"></a>
+<span class="sourceLineNo">923</span> */<a name="line.923"></a>
+<span class="sourceLineNo">924</span> public void removeResult(final long procId) {<a name="line.924"></a>
+<span class="sourceLineNo">925</span> final ProcedureInfo result = completed.get(procId);<a name="line.925"></a>
+<span class="sourceLineNo">926</span> if (result == null) {<a name="line.926"></a>
+<span class="sourceLineNo">927</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.927"></a>
+<span class="sourceLineNo">928</span> if (LOG.isDebugEnabled()) {<a name="line.928"></a>
+<span class="sourceLineNo">929</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.929"></a>
+<span class="sourceLineNo">930</span> }<a name="line.930"></a>
+<span class="sourceLineNo">931</span> return;<a name="line.931"></a>
+<span class="sourceLineNo">932</span> }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.934"></a>
+<span class="sourceLineNo">935</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.935"></a>
+<span class="sourceLineNo">936</span> }<a name="line.936"></a>
+<span class="sourceLineNo">937</span><a name="line.937"></a>
+<span class="sourceLineNo">938</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.938"></a>
+<span class="sourceLineNo">939</span> ProcedureInfo result = completed.get(procId);<a name="line.939"></a>
+<span class="sourceLineNo">940</span> Procedure proc = null;<a name="line.940"></a>
+<span class="sourceLineNo">941</span> if (result == null) {<a name="line.941"></a>
+<span class="sourceLineNo">942</span> proc = procedures.get(procId);<a name="line.942"></a>
+<span class="sourceLineNo">943</span> if (proc == null) {<a name="line.943"></a>
+<span class="sourceLineNo">944</span> result = completed.get(procId);<a name="line.944"></a>
+<span class="sourceLineNo">945</span> }<a name="line.945"></a>
+<span class="sourceLineNo">946</span> }<a name="line.946"></a>
+<span class="sourceLineNo">947</span> return new Pair(result, proc);<a name="line.947"></a>
+<span class="sourceLineNo">948</span> }<a name="line.948"></a>
+<span class="sourceLineNo">949</span><a name="line.949"></a>
+<span class="sourceLineNo">950</span> /**<a name="line.950"></a>
+<span class="sourceLineNo">951</span> * Check if the user is this procedure's owner<a name="line.951"></a>
+<span class="sourceLineNo">952</span> * @param procId the target procedure<a name="line.952"></a>
+<span class="sourceLineNo">953</span> * @param user the user<a name="line.953"></a>
+<span class="sourceLineNo">954</span> * @return true if the user is the owner of the procedure,<a name="line.954"></a>
+<span class="sourceLineNo">955</span> * false otherwise or the owner is unknown.<a name="line.955"></a>
+<span class="sourceLineNo">956</span> */<a name="line.956"></a>
+<span class="sourceLineNo">957</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span> if (user == null) return false;<a name="line.958"></a>
+<span class="sourceLineNo">959</span><a name="line.959"></a>
+<span class="sourceLineNo">960</span> final Procedure proc = procedures.get(procId);<a name="line.960"></a>
+<span class="sourceLineNo">961</span> if (proc != null) {<a name="line.961"></a>
+<span class="sourceLineNo">962</span> return proc.getOwner().equals(user.getShortName());<a name="line.962"></a>
+<span class="sourceLineNo">963</span> }<a name="line.963"></a>
+<span class="sourceLineNo">964</span><a name="line.964"></a>
+<span class="sourceLineNo">965</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.965"></a>
+<span class="sourceLineNo">966</span> if (procInfo == null) {<a name="line.966"></a>
+<span class="sourceLineNo">967</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.967"></a>
+<span class="sourceLineNo">968</span> // At this time, we cannot check the owner of the procedure<a name="line.968"></a>
+<span class="sourceLineNo">969</span> return false;<a name="line.969"></a>
+<span class="sourceLineNo">970</span> }<a name="line.970"></a>
+<span class="sourceLineNo">971</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.971"></a>
+<span class="sourceLineNo">972</span> }<a name="line.972"></a>
+<span class="sourceLineNo">973</span><a name="line.973"></a>
+<span class="sourceLineNo">974</span> /**<a name="line.974"></a>
+<span class="sourceLineNo">975</span> * List procedures.<a name="line.975"></a>
+<span class="sourceLineNo">976</span> * @return the procedures in a list<a name="line.976"></a>
+<span class="sourceLineNo">977</span> */<a name="line.977"></a>
+<span class="sourceLineNo">978</span> public List<ProcedureInfo> listProcedures() {<a name="line.978"></a>
+<span class="sourceLineNo">979</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.979"></a>
+<span class="sourceLineNo">980</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.980"></a>
+<span class="sourceLineNo">981</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.981"></a>
+<span class="sourceLineNo">982</span> }<a name="line.982"></a>
+<span class="sourceLineNo">983</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.984"></a>
+<span class="sourceLineNo">985</span> // it could complete after we walk through procedures list and insert into<a name="line.985"></a>
+<span class="sourceLineNo">986</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.986"></a>
+<span class="sourceLineNo">987</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.987"></a>
+<span class="sourceLineNo">988</span> procedureLists.add(e.getValue());<a name="line.988"></a>
+<span class="sourceLineNo">989</span> }<a name="line.989"></a>
+<span class="sourceLineNo">990</span> return procedureLists;<a name="line.990"></a>
+<span class="sourceLineNo">991</span> }<a name="line.991"></a>
+<span class="sourceLineNo">992</span><a name="line.992"></a>
+<span class="sourceLineNo">993</span> // ==========================================================================<a name="line.993"></a>
+<span class="sourceLineNo">994</span> // Listeners helpers<a name="line.994"></a>
+<span class="sourceLineNo">995</span> // ==========================================================================<a name="line.995"></a>
+<span class="sourceLineNo">996</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.996"></a>
+<span class="sourceLineNo">997</span> this.listeners.add(listener);<a name="line.997"></a>
+<span class="sourceLineNo">998</span> }<a name="line.998"></a>
+<span class="sourceLineNo">999</span><a name="line.999"></a>
+<span class="sourceLineNo">1000</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span> return this.listeners.remove(listener);<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span> }<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span><a name="line.1003"></a>
+<span class="sourceLineNo">1004</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span> if (!this.listeners.isEmpty()) {<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span> try {<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span> listener.procedureLoaded(procId);<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span> } catch (Throwable e) {<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span> }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span> }<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span> }<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span><a name="line.1015"></a>
+<span class="sourceLineNo">1016</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span> if (!this.listeners.isEmpty()) {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span> try {<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span> listener.procedureAdded(procId);<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span> } catch (Throwable e) {<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span> }<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> }<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span> }<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span><a name="line.1027"></a>
+<span class="sourceLineNo">1028</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span> if (!this.listeners.isEmpty()) {<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span> try {<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span> listener.procedureFinished(procId);<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span> } catch (Throwable e) {<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span> }<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span> }<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span> }<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span><a name="line.1039"></a>
+<span class="sourceLineNo">1040</span> // ==========================================================================<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span> // Procedure IDs helpers<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span> // ==========================================================================<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span> private long nextProcId() {<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span> long procId = lastProcId.incrementAndGet();<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span> if (procId < 0) {<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span> procId = lastProcId.get();<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span> if (procId >= 0)<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span> break;<a name="line.1049"></a>
<span class="sourceLineNo">1050</span> }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span> }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span> return procId;<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span><a name="line.1055"></a>
-<span class="sourceLineNo">1056</span> @VisibleForTesting<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span> protected long getLastProcId() {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span> return lastProcId.get();<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span> }<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span><a name="line.1060"></a>
-<span class="sourceLineNo">1061</span> @VisibleForTesting<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span> public Set<Long> getActiveProcIds() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span> return procedures.keySet();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span> }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span><a name="line.1065"></a>
-<span class="sourceLineNo">1066</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span> }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span><a name="line.1069"></a>
-<span class="sourceLineNo">1070</span> // ==========================================================================<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span> // Executions<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span> // ==========================================================================<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span> private void executeProcedure(final Procedure proc) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span> if (rootProcId == null) {<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span> executeRollback(proc);<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span> return;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span> }<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span><a name="line.1080"></a>
-<span class="sourceLineNo">1081</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span> if (procStack == null) return;<a name="line.1082"></a>
+<span class="sourceLineNo">1051</span> while (procedures.containsKey(procId)) {<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span> procId = lastProcId.incrementAndGet();<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span> }<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span> return procId;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span> }<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span><a name="line.1058"></a>
+<span class="sourceLineNo">1059</span> @VisibleForTesting<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span> protected long getLastProcId() {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span> return lastProcId.get();<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span> }<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span> @VisibleForTesting<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span> public Set<Long> getActiveProcIds() {<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span> return procedures.keySet();<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span> }<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span><a name="line.1068"></a>
+<span class="sourceLineNo">1069</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span> }<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span><a name="line.1072"></a>
+<span class="sourceLineNo">1073</span> // ==========================================================================<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span> // Executions<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span> // ==========================================================================<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span> private void executeProcedure(final Procedure proc) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span> if (rootProcId == null) {<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span> executeRollback(proc);<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span> return;<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span> }<a name="line.1082"></a>
<span class="sourceLineNo">1083</span><a name="line.1083"></a>
-<span class="sourceLineNo">1084</span> do {<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span> // Try to acquire the execution<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span> if (!procStack.acquire(proc)) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span> if (procStack.setRollback()) {<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span> case LOCK_ACQUIRED:<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span> break;<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span> case LOCK_YIELD_WAIT:<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span> procStack.unsetRollback();<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span> scheduler.yield(proc);<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span> break;<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span> case LOCK_EVENT_WAIT:<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span> procStack.unsetRollback();<a name="line.1097"></a>
+<span class="sourceLineNo">1084</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span> if (procStack == null) return;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span><a name="line.1086"></a>
+<span class="sourceLineNo">1087</span> do {<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span> // Try to acquire the execution<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span> if (!procStack.acquire(proc)) {<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span> if (procStack.setRollback()) {<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span> case LOCK_ACQUIRED:<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span> break;<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span> case LOCK_YIELD_WAIT:<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span> procStack.unsetRollback();<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span> scheduler.yield(proc);<a name="line.1097"></a>
<span class="sourceLineNo">1098</span> break;<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span> default:<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span> throw new UnsupportedOperationException();<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> }<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span> } else {<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span> // if we can't rollback means that some child is still running.<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span> // the rollback will be executed after all the children are done.<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> if (!proc.wasExecuted()) {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> switch (executeRollback(proc)) {<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> case LOCK_ACQUIRED:<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> break;<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> case LOCK_YIELD_WAIT:<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span> scheduler.yield(proc);<a name="line.1111"></a>
+<span class="sourceLineNo">1099</span> case LOCK_EVENT_WAIT:<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span> procStack.unsetRollback();<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span> break;<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span> default:<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span> throw new UnsupportedOperationException();<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span> }<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span> } else {<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span> // if we can't rollback means that some child is still running.<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> // the rollback will be executed after all the children are done.<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> if (!proc.wasExecuted()) {<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> switch (executeRollback(proc)) {<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> case LOCK_ACQUIRED:<a name="line.1111"></a>
<span class="sourceLineNo">1112</span> break;<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> case LOCK_EVENT_WAIT:<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> break;<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> default:<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span> throw new UnsupportedOperationException();<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> }<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> }<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> }<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> break;<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span><a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> // Execute the procedure<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> switch (acquireLock(proc)) {<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> case LOCK_ACQUIRED:<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> execProcedure(procStack, proc);<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span> releaseLock(proc, false);<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> break;<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> case LOCK_YIELD_WAIT:<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> scheduler.yield(proc);<a name="line.1131"></a>
+<span class="sourceLineNo">1113</span> case LOCK_YIELD_WAIT:<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> scheduler.yield(proc);<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> break;<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> case LOCK_EVENT_WAIT:<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> break;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span> default:<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> throw new UnsupportedOperationException();<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> }<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> }<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> break;<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> }<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> // Execute the procedure<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> switch (acquireLock(proc)) {<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> case LOCK_ACQUIRED:<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span> execProcedure(procStack, proc);<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> releaseLock(proc, false);<a name="line.1131"></a>
<span class="sourceLineNo">1132</span> break;<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> case LOCK_EVENT_WAIT:<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> // someone will wake us up when the lock is available<a name="line.1134"></a>
+<span class="sourceLineNo">1133</span> case LOCK_YIELD_WAIT:<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> scheduler.yield(proc);<a name="line.1134"></a>
<span class="sourceLineNo">1135</span> break;<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> default:<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> throw new UnsupportedOperationException();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> procStack.release(proc);<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> // allows to kill the executor before something is stored to the wal.<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span> // useful to test the procedure recovery.<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (testing != null && !isRunning()) {<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> break;<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span> }<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> if (proc.isSuccess()) {<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> if (LOG.isDebugEnabled()) {<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> }<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> // Finalize the procedure state<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span> if (proc.getProcId() == rootProcId) {<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> procedureFinished(proc);<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> } else {<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> execCompletionCleanup(proc);<a name="line.1155"></a>
+<span class="sourceLineNo">1136</span> case LOCK_EVENT_WAIT:<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> // someone will wake us up when the lock is available<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> break;<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> default:<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> throw new UnsupportedOperationException();<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> }<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> procStack.release(proc);<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span><a name="line.1143"></a>
+<span class="sourceLineNo">1144</span> // allows to kill the executor before something is stored to the wal.<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> // useful to test the procedure recovery.<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> if (testing != null && !isRunning()) {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span> break;<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> }<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> if (proc.isSuccess()) {<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span> // update metrics on finishing the procedure<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> proc.updateMetricsOnFinish(getEnvironment(), proc.elapsedTime(), true);<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span><a name="line.1153"></a>
+<span class="sourceLineNo">1154</span> if (LOG.isDebugEnabled()) {<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1155"></a>
<span class="sourceLineNo">1156</span> }<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> break;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> } while (procStack.isFailed());<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span> }<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span><a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> private LockState acquireLock(final Procedure proc) {<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> final TEnvironment env = getEnvironment();<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> // hasLock() is used in conjunction with holdLock().<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> return LockState.LOCK_ACQUIRED;<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> }<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> return proc.doAcquireLock(env);<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> }<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> final TEnvironment env = getEnvironment();<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // for how the framework works, we know that we will always have the lock<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span> if (force || !proc.holdLock(env)) {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> proc.doReleaseLock(env);<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> }<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span> }<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span><a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> /**<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> * Execute the rollback of the full procedure stack.<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> * finished to user, and the result will be the fatal exception.<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> */<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> if (exception == null) {<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> exception = procStack.getException();<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span> rootProc.setFailure(exception);<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> store.update(rootProc);<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> }<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span><a name="line.1195"></a>
-<span class="sourceLineNo">1196</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span><a name="line.1198"></a>
-<span class="sourceLineNo">1199</span> int stackTail = subprocStack.size();<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> boolean reuseLock = false;<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> while (stackTail --> 0) {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span><a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> LockState lockState;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> // queue waiting for the lock availability<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span> return lockState;<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> }<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> lockState = executeRollback(proc);<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // If the next procedure is the same to this one<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> // we can avoid to lock/unlock each step<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span> if (!reuseLock) {<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> releaseLock(proc, false);<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> }<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span><a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // allows to kill the executor before something is stored to the wal.<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // useful to test the procedure recovery.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> if (abortRollback) {<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> return lockState;<a name="line.1226"></a>
+<span class="sourceLineNo">1157</span> // Finalize the procedure state<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> if (proc.getProcId() == rootProcId) {<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> procedureFinished(proc);<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> } else {<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> execCompletionCleanup(proc);<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span> }<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> break;<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> }<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> } while (procStack.isFailed());<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> }<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span><a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> private LockState acquireLock(final Procedure proc) {<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> final TEnvironment env = getEnvironment();<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> // hasLock() is used in conjunction with holdLock().<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> return LockState.LOCK_ACQUIRED;<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> }<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> return proc.doAcquireLock(env);<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> }<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span><a name="line.1178"></a>
+<span class="sourceLineNo">1179</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> final TEnvironment env = getEnvironment();<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> // for how the framework works, we know that we will always have the lock<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> if (force || !proc.holdLock(env)) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> proc.doReleaseLock(env);<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> }<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span> }<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span><a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> /**<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> * Execute the rollback of the full procedure stack.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> * finished to user, and the result will be the fatal exception.<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> */<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> if (exception == null) {<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> exception = procStack.getException();<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span> rootProc.setFailure(exception);<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> store.update(rootProc);<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span><a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> int stackTail = subprocStack.size();<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> boolean reuseLock = false;<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> while (stackTail --> 0) {<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span><a name="line.1209"></a>
+<span class="sourceLineNo">1210</span> LockState lockState;<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> // queue waiting for the lock availability<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> return lockState;<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> }<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span><a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> lockState = executeRollback(proc);<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span><a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> // If the next procedure is the same to this one<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> // we can avoid to lock/unlock each step<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> if (!reuseLock) {<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> releaseLock(proc, false);<a name="line.1226"></a>
<span class="sourceLineNo">1227</span> }<a name="line.1227"></a>
<span class="sourceLineNo">1228</span><a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> subprocStack.remove(stackTail);<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span><a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> // if the procedure is kind enough to pass the slot to someone else, yield<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span> if (proc.isYieldAfterExecutionStep(getEnvironment())) {<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> }<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span><a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> if (proc != rootProc) {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> execCompletionCleanup(proc);<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span> }<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span><a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> // Finalize the procedure state<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> LOG.info("Rolled back " + rootProc +<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> " exec-time=" + StringUtils.humanTimeDiff(rootProc.elapsedTime()));<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> procedureFinished(rootProc);<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> return LockState.LOCK_ACQUIRED;<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span> }<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> /**<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> * Execute the rollback of the procedure step.<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> * It updates the store with the new state (stack index)<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> * or will remove completly the procedure in case it is a child.<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> */<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span> private LockState executeRollback(final Procedure proc) {<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> try {<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> proc.doRollback(getEnvironment());<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> } catch (IOException e) {<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> if (LOG.isDebugEnabled()) {<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> LOG.debug("Roll back attempt failed for " + proc, e);<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> }<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> } catch (InterruptedException e) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> handleInterruptedException(proc, e);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span> } catch (Throwable e) {<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> // Catch NullPointerExceptions or similar errors...<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> LOG.fatal("CODE-BUG: Uncatched runtime exception for procedure: " + proc, e);<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> }<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span><a name="line.1268"></a>
-<span class="sourceLineNo">1269</span> // allows to kill the executor before something is stored to the wal.<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> // useful to test the procedure recovery.<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> if (testing != null && testing.shouldKillBeforeStoreUpdate()) {<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> LOG.debug("TESTING: Kill before store update");<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span> stop();<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> }<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> if (proc.removeStackIndex()) {<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> proc.setState(ProcedureState.ROLLEDBACK);<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span> if (proc.hasParent()) {<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> store.delete(proc.getProcId());<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> procedures.remove(proc.getProcId());<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> } else {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> final long[] childProcIds = rollbackStack.get(proc.getProcId()).getSubprocedureIds();<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> if (childProcIds != null) {<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span> store.delete(proc, childProcIds);<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> } else {<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> store.update(proc);<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> }<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> } else {<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span> store.update(proc);<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> }<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span><a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> return LockState.LOCK_ACQUIRED;<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span><a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> * Executes the specified procedure<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> * - calls the doExecute() of the procedure<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> * - if the procedure execution didn't fail (e.g. invalid user input)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> * - ...and returned subprocedures<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span> * - the subprocedures are initialized.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> * - the subprocedures are added to the store<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> * - the subprocedures are added to the runnable queue<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> * - the procedure is now in a WAITING state, waiting for the subprocedures to complete<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span> * - ...if there are no subprocedure<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> * - the procedure completed successfully<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> * - if there is a parent (WAITING)<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> * - the parent state will be set to RUNNABLE<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span> * - in case of failure<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> * - the store is updated with the new state<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> * - the executor (caller of this method) will start the rollback of the procedure<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> */<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span> private void execProcedure(final RootProcedureState procStack, final Procedure procedure) {<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> Preconditions.checkArgument(procedure.getState() == ProcedureState.RUNNABLE);<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span><a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> // Execute the procedure<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> boolean suspended = false;<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> boolean reExecute = false;<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> Procedure[] subprocs = null;<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> do {<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> reExecute = false;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> try {<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span> subprocs = procedure.doExecute(getEnvironment());<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (subprocs != null && subprocs.length == 0) {<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> subprocs = null;<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span> }<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> } catch (ProcedureSuspendedException e) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> suspended = true;<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> } catch (ProcedureYieldException e) {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> if (LOG.isTraceEnabled()) {<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> LOG.trace("Yield " + procedure + ": " + e.getMessage());<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span> }<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> scheduler.yield(procedure);<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> return;<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> } catch (InterruptedException e) {<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> handleInterruptedException(procedure, e);<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> scheduler.yield(procedure);<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span> return;<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> } catch (Throwable e) {<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // Catch NullPointerExceptions or similar errors...<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> String msg = "CODE-BUG: Uncaught runtime exception: " + procedure;<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> LOG.error(msg, e);<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> procedure.setFailure(new RemoteProcedureException(msg, e));<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span> }<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span><a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> if (!procedure.isFailed()) {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> if (subprocs != null) {<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span> if (subprocs.length == 1 && subprocs[0] == procedure) {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span> // quick-shortcut for a state machine like procedure<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> subprocs = null;<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> reExecute = true;<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> } else {<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span> // yield the c
<TRUNCATED>
[10/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependency-management.html b/hbase-archetypes/hbase-archetype-builder/dependency-management.html
index 3bb2bdd..4a1466c 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependency-management.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependency-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/index.html b/hbase-archetypes/hbase-archetype-builder/index.html
index 959fb25..e66fdb1 100644
--- a/hbase-archetypes/hbase-archetype-builder/index.html
+++ b/hbase-archetypes/hbase-archetype-builder/index.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/integration.html b/hbase-archetypes/hbase-archetype-builder/integration.html
index 3709555..52426b7 100644
--- a/hbase-archetypes/hbase-archetype-builder/integration.html
+++ b/hbase-archetypes/hbase-archetype-builder/integration.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/issue-tracking.html b/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
index f29a93c..6fb558a 100644
--- a/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
+++ b/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/license.html b/hbase-archetypes/hbase-archetype-builder/license.html
index 42866e3..354a80b 100644
--- a/hbase-archetypes/hbase-archetype-builder/license.html
+++ b/hbase-archetypes/hbase-archetype-builder/license.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/mail-lists.html b/hbase-archetypes/hbase-archetype-builder/mail-lists.html
index 58f3f81..4a04d40 100644
--- a/hbase-archetypes/hbase-archetype-builder/mail-lists.html
+++ b/hbase-archetypes/hbase-archetype-builder/mail-lists.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/plugin-management.html b/hbase-archetypes/hbase-archetype-builder/plugin-management.html
index 1e6c741..6ab7432 100644
--- a/hbase-archetypes/hbase-archetype-builder/plugin-management.html
+++ b/hbase-archetypes/hbase-archetype-builder/plugin-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/plugins.html b/hbase-archetypes/hbase-archetype-builder/plugins.html
index df49b50..0def15d 100644
--- a/hbase-archetypes/hbase-archetype-builder/plugins.html
+++ b/hbase-archetypes/hbase-archetype-builder/plugins.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/project-info.html b/hbase-archetypes/hbase-archetype-builder/project-info.html
index 7c4438c..c3f519c 100644
--- a/hbase-archetypes/hbase-archetype-builder/project-info.html
+++ b/hbase-archetypes/hbase-archetype-builder/project-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/project-summary.html b/hbase-archetypes/hbase-archetype-builder/project-summary.html
index 725bdb9..d8ab99a 100644
--- a/hbase-archetypes/hbase-archetype-builder/project-summary.html
+++ b/hbase-archetypes/hbase-archetype-builder/project-summary.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/source-repository.html b/hbase-archetypes/hbase-archetype-builder/source-repository.html
index 9199c5a..fe380a9 100644
--- a/hbase-archetypes/hbase-archetype-builder/source-repository.html
+++ b/hbase-archetypes/hbase-archetype-builder/source-repository.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/team-list.html b/hbase-archetypes/hbase-archetype-builder/team-list.html
index 0b6d029..cf2cd3e 100644
--- a/hbase-archetypes/hbase-archetype-builder/team-list.html
+++ b/hbase-archetypes/hbase-archetype-builder/team-list.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/checkstyle.html b/hbase-archetypes/hbase-client-project/checkstyle.html
index d5e0fde..beb0a04 100644
--- a/hbase-archetypes/hbase-client-project/checkstyle.html
+++ b/hbase-archetypes/hbase-client-project/checkstyle.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependencies.html b/hbase-archetypes/hbase-client-project/dependencies.html
index f8c3be7..570ce93 100644
--- a/hbase-archetypes/hbase-client-project/dependencies.html
+++ b/hbase-archetypes/hbase-client-project/dependencies.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependency-convergence.html b/hbase-archetypes/hbase-client-project/dependency-convergence.html
index b56a77e..bdd5425 100644
--- a/hbase-archetypes/hbase-client-project/dependency-convergence.html
+++ b/hbase-archetypes/hbase-client-project/dependency-convergence.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependency-info.html b/hbase-archetypes/hbase-client-project/dependency-info.html
index aca9e0e..ed8b4b9 100644
--- a/hbase-archetypes/hbase-client-project/dependency-info.html
+++ b/hbase-archetypes/hbase-client-project/dependency-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependency-management.html b/hbase-archetypes/hbase-client-project/dependency-management.html
index da9f559..1a15f3c 100644
--- a/hbase-archetypes/hbase-client-project/dependency-management.html
+++ b/hbase-archetypes/hbase-client-project/dependency-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/index.html b/hbase-archetypes/hbase-client-project/index.html
index 030d558..3e518a3 100644
--- a/hbase-archetypes/hbase-client-project/index.html
+++ b/hbase-archetypes/hbase-client-project/index.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/integration.html b/hbase-archetypes/hbase-client-project/integration.html
index 65d6a2d..dc0e9cf 100644
--- a/hbase-archetypes/hbase-client-project/integration.html
+++ b/hbase-archetypes/hbase-client-project/integration.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/issue-tracking.html b/hbase-archetypes/hbase-client-project/issue-tracking.html
index 30a7844..aabf5c0 100644
--- a/hbase-archetypes/hbase-client-project/issue-tracking.html
+++ b/hbase-archetypes/hbase-client-project/issue-tracking.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/license.html b/hbase-archetypes/hbase-client-project/license.html
index fe870dc..b569831 100644
--- a/hbase-archetypes/hbase-client-project/license.html
+++ b/hbase-archetypes/hbase-client-project/license.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/mail-lists.html b/hbase-archetypes/hbase-client-project/mail-lists.html
index d288a2c..5e44b17 100644
--- a/hbase-archetypes/hbase-client-project/mail-lists.html
+++ b/hbase-archetypes/hbase-client-project/mail-lists.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/plugin-management.html b/hbase-archetypes/hbase-client-project/plugin-management.html
index 07a01b4..06b7d27 100644
--- a/hbase-archetypes/hbase-client-project/plugin-management.html
+++ b/hbase-archetypes/hbase-client-project/plugin-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/plugins.html b/hbase-archetypes/hbase-client-project/plugins.html
index a60470b..683e393 100644
--- a/hbase-archetypes/hbase-client-project/plugins.html
+++ b/hbase-archetypes/hbase-client-project/plugins.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/project-info.html b/hbase-archetypes/hbase-client-project/project-info.html
index cbf612c..698df0a 100644
--- a/hbase-archetypes/hbase-client-project/project-info.html
+++ b/hbase-archetypes/hbase-client-project/project-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/project-reports.html b/hbase-archetypes/hbase-client-project/project-reports.html
index 1990790..b80447d 100644
--- a/hbase-archetypes/hbase-client-project/project-reports.html
+++ b/hbase-archetypes/hbase-client-project/project-reports.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/project-summary.html b/hbase-archetypes/hbase-client-project/project-summary.html
index a9ebd86..fd01cbb 100644
--- a/hbase-archetypes/hbase-client-project/project-summary.html
+++ b/hbase-archetypes/hbase-client-project/project-summary.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/source-repository.html b/hbase-archetypes/hbase-client-project/source-repository.html
index 29b602a..93d8959 100644
--- a/hbase-archetypes/hbase-client-project/source-repository.html
+++ b/hbase-archetypes/hbase-client-project/source-repository.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-client-project/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/team-list.html b/hbase-archetypes/hbase-client-project/team-list.html
index ef1731f..64199af 100644
--- a/hbase-archetypes/hbase-client-project/team-list.html
+++ b/hbase-archetypes/hbase-client-project/team-list.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/checkstyle.html b/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
index 6fe6ac6..d51a944 100644
--- a/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
+++ b/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependencies.html b/hbase-archetypes/hbase-shaded-client-project/dependencies.html
index 2a519d2..91b355a 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependencies.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependencies.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html b/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
index 9b24a4d..cd9610b 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependency-info.html b/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
index 76b6002..f9caf15 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependency-management.html b/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
index c1373d3..6f0629b 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/index.html b/hbase-archetypes/hbase-shaded-client-project/index.html
index b087e0e..dfa19c7 100644
--- a/hbase-archetypes/hbase-shaded-client-project/index.html
+++ b/hbase-archetypes/hbase-shaded-client-project/index.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/integration.html b/hbase-archetypes/hbase-shaded-client-project/integration.html
index 1539d5a..98a4fda 100644
--- a/hbase-archetypes/hbase-shaded-client-project/integration.html
+++ b/hbase-archetypes/hbase-shaded-client-project/integration.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html b/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
index c7e040e..a2a1155 100644
--- a/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
+++ b/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/license.html b/hbase-archetypes/hbase-shaded-client-project/license.html
index 618e2ae..9abe7cd 100644
--- a/hbase-archetypes/hbase-shaded-client-project/license.html
+++ b/hbase-archetypes/hbase-shaded-client-project/license.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/mail-lists.html b/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
index 2ec2ead..84ec3ba 100644
--- a/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
+++ b/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/plugin-management.html b/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
index 47b27ff..3ea5298 100644
--- a/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
+++ b/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/plugins.html b/hbase-archetypes/hbase-shaded-client-project/plugins.html
index 9ed0fc1..35b401c 100644
--- a/hbase-archetypes/hbase-shaded-client-project/plugins.html
+++ b/hbase-archetypes/hbase-shaded-client-project/plugins.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/project-info.html b/hbase-archetypes/hbase-shaded-client-project/project-info.html
index 7e97444..c4be500 100644
--- a/hbase-archetypes/hbase-shaded-client-project/project-info.html
+++ b/hbase-archetypes/hbase-shaded-client-project/project-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/project-reports.html b/hbase-archetypes/hbase-shaded-client-project/project-reports.html
index 73e3847..e4fd7a7 100644
--- a/hbase-archetypes/hbase-shaded-client-project/project-reports.html
+++ b/hbase-archetypes/hbase-shaded-client-project/project-reports.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/project-summary.html b/hbase-archetypes/hbase-shaded-client-project/project-summary.html
index 2277345..7f9df88 100644
--- a/hbase-archetypes/hbase-shaded-client-project/project-summary.html
+++ b/hbase-archetypes/hbase-shaded-client-project/project-summary.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/source-repository.html b/hbase-archetypes/hbase-shaded-client-project/source-repository.html
index c23fdc7..582d663 100644
--- a/hbase-archetypes/hbase-shaded-client-project/source-repository.html
+++ b/hbase-archetypes/hbase-shaded-client-project/source-repository.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-shaded-client-project/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/team-list.html b/hbase-archetypes/hbase-shaded-client-project/team-list.html
index 3fb79fc..8a2d01d 100644
--- a/hbase-archetypes/hbase-shaded-client-project/team-list.html
+++ b/hbase-archetypes/hbase-shaded-client-project/team-list.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/index.html b/hbase-archetypes/index.html
index 480bdbc..b382370 100644
--- a/hbase-archetypes/index.html
+++ b/hbase-archetypes/index.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/integration.html b/hbase-archetypes/integration.html
index 760d10f..55d6fdf 100644
--- a/hbase-archetypes/integration.html
+++ b/hbase-archetypes/integration.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/issue-tracking.html b/hbase-archetypes/issue-tracking.html
index 338bf1d..4131b5b 100644
--- a/hbase-archetypes/issue-tracking.html
+++ b/hbase-archetypes/issue-tracking.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/license.html b/hbase-archetypes/license.html
index f43717d..21a5052 100644
--- a/hbase-archetypes/license.html
+++ b/hbase-archetypes/license.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
[11/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
index b727f8b..2d9519b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -69,15 +69,15 @@
<span class="sourceLineNo">061</span> requiredArguments = {<a name="line.61"></a>
<span class="sourceLineNo">062</span> @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.62"></a>
<span class="sourceLineNo">063</span> optionalArguments = {<a name="line.63"></a>
-<span class="sourceLineNo">064</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span> @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span> @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span> @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span> @org.jamon.annotations.Argument(name = "frags", type = "Map<String,Integer>"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span> @org.jamon.annotations.Argument(name = "servers", type = "List<ServerName>"),<a name="line.70"></a>
-<span class="sourceLineNo">071</span> @org.jamon.annotations.Argument(name = "deadServers", type = "Set<ServerName>"),<a name="line.71"></a>
-<span class="sourceLineNo">072</span> @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean")})<a name="line.72"></a>
+<span class="sourceLineNo">064</span> @org.jamon.annotations.Argument(name = "frags", type = "Map<String,Integer>"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span> @org.jamon.annotations.Argument(name = "servers", type = "List<ServerName>"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span> @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span> @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span> @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span> @org.jamon.annotations.Argument(name = "deadServers", type = "Set<ServerName>"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.70"></a>
+<span class="sourceLineNo">071</span> @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.71"></a>
+<span class="sourceLineNo">072</span> @org.jamon.annotations.Argument(name = "filter", type = "String")})<a name="line.72"></a>
<span class="sourceLineNo">073</span>public class MasterStatusTmpl<a name="line.73"></a>
<span class="sourceLineNo">074</span> extends org.jamon.AbstractTemplateProxy<a name="line.74"></a>
<span class="sourceLineNo">075</span>{<a name="line.75"></a>
@@ -118,159 +118,159 @@
<span class="sourceLineNo">110</span> return m_master;<a name="line.110"></a>
<span class="sourceLineNo">111</span> }<a name="line.111"></a>
<span class="sourceLineNo">112</span> private HMaster m_master;<a name="line.112"></a>
-<span class="sourceLineNo">113</span> // 26, 1<a name="line.113"></a>
-<span class="sourceLineNo">114</span> public void setFilter(String filter)<a name="line.114"></a>
+<span class="sourceLineNo">113</span> // 21, 1<a name="line.113"></a>
+<span class="sourceLineNo">114</span> public void setFrags(Map<String,Integer> frags)<a name="line.114"></a>
<span class="sourceLineNo">115</span> {<a name="line.115"></a>
-<span class="sourceLineNo">116</span> // 26, 1<a name="line.116"></a>
-<span class="sourceLineNo">117</span> m_filter = filter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> m_filter__IsNotDefault = true;<a name="line.118"></a>
+<span class="sourceLineNo">116</span> // 21, 1<a name="line.116"></a>
+<span class="sourceLineNo">117</span> m_frags = frags;<a name="line.117"></a>
+<span class="sourceLineNo">118</span> m_frags__IsNotDefault = true;<a name="line.118"></a>
<span class="sourceLineNo">119</span> }<a name="line.119"></a>
-<span class="sourceLineNo">120</span> public String getFilter()<a name="line.120"></a>
+<span class="sourceLineNo">120</span> public Map<String,Integer> getFrags()<a name="line.120"></a>
<span class="sourceLineNo">121</span> {<a name="line.121"></a>
-<span class="sourceLineNo">122</span> return m_filter;<a name="line.122"></a>
+<span class="sourceLineNo">122</span> return m_frags;<a name="line.122"></a>
<span class="sourceLineNo">123</span> }<a name="line.123"></a>
-<span class="sourceLineNo">124</span> private String m_filter;<a name="line.124"></a>
-<span class="sourceLineNo">125</span> public boolean getFilter__IsNotDefault()<a name="line.125"></a>
+<span class="sourceLineNo">124</span> private Map<String,Integer> m_frags;<a name="line.124"></a>
+<span class="sourceLineNo">125</span> public boolean getFrags__IsNotDefault()<a name="line.125"></a>
<span class="sourceLineNo">126</span> {<a name="line.126"></a>
-<span class="sourceLineNo">127</span> return m_filter__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">127</span> return m_frags__IsNotDefault;<a name="line.127"></a>
<span class="sourceLineNo">128</span> }<a name="line.128"></a>
-<span class="sourceLineNo">129</span> private boolean m_filter__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span> // 22, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span> public void setMetaLocation(ServerName metaLocation)<a name="line.131"></a>
+<span class="sourceLineNo">129</span> private boolean m_frags__IsNotDefault;<a name="line.129"></a>
+<span class="sourceLineNo">130</span> // 23, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span> public void setServers(List<ServerName> servers)<a name="line.131"></a>
<span class="sourceLineNo">132</span> {<a name="line.132"></a>
-<span class="sourceLineNo">133</span> // 22, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span> m_metaLocation = metaLocation;<a name="line.134"></a>
-<span class="sourceLineNo">135</span> m_metaLocation__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span> // 23, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span> m_servers = servers;<a name="line.134"></a>
+<span class="sourceLineNo">135</span> m_servers__IsNotDefault = true;<a name="line.135"></a>
<span class="sourceLineNo">136</span> }<a name="line.136"></a>
-<span class="sourceLineNo">137</span> public ServerName getMetaLocation()<a name="line.137"></a>
+<span class="sourceLineNo">137</span> public List<ServerName> getServers()<a name="line.137"></a>
<span class="sourceLineNo">138</span> {<a name="line.138"></a>
-<span class="sourceLineNo">139</span> return m_metaLocation;<a name="line.139"></a>
+<span class="sourceLineNo">139</span> return m_servers;<a name="line.139"></a>
<span class="sourceLineNo">140</span> }<a name="line.140"></a>
-<span class="sourceLineNo">141</span> private ServerName m_metaLocation;<a name="line.141"></a>
-<span class="sourceLineNo">142</span> public boolean getMetaLocation__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span> private List<ServerName> m_servers;<a name="line.141"></a>
+<span class="sourceLineNo">142</span> public boolean getServers__IsNotDefault()<a name="line.142"></a>
<span class="sourceLineNo">143</span> {<a name="line.143"></a>
-<span class="sourceLineNo">144</span> return m_metaLocation__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span> return m_servers__IsNotDefault;<a name="line.144"></a>
<span class="sourceLineNo">145</span> }<a name="line.145"></a>
-<span class="sourceLineNo">146</span> private boolean m_metaLocation__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span> // 28, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span> public void setServerManager(ServerManager serverManager)<a name="line.148"></a>
+<span class="sourceLineNo">146</span> private boolean m_servers__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span> // 25, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span> public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.148"></a>
<span class="sourceLineNo">149</span> {<a name="line.149"></a>
-<span class="sourceLineNo">150</span> // 28, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span> m_serverManager = serverManager;<a name="line.151"></a>
-<span class="sourceLineNo">152</span> m_serverManager__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span> // 25, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span> m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.151"></a>
+<span class="sourceLineNo">152</span> m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.152"></a>
<span class="sourceLineNo">153</span> }<a name="line.153"></a>
-<span class="sourceLineNo">154</span> public ServerManager getServerManager()<a name="line.154"></a>
+<span class="sourceLineNo">154</span> public boolean getCatalogJanitorEnabled()<a name="line.154"></a>
<span class="sourceLineNo">155</span> {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> return m_serverManager;<a name="line.156"></a>
+<span class="sourceLineNo">156</span> return m_catalogJanitorEnabled;<a name="line.156"></a>
<span class="sourceLineNo">157</span> }<a name="line.157"></a>
-<span class="sourceLineNo">158</span> private ServerManager m_serverManager;<a name="line.158"></a>
-<span class="sourceLineNo">159</span> public boolean getServerManager__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span> private boolean m_catalogJanitorEnabled;<a name="line.158"></a>
+<span class="sourceLineNo">159</span> public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.159"></a>
<span class="sourceLineNo">160</span> {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> return m_serverManager__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span> return m_catalogJanitorEnabled__IsNotDefault;<a name="line.161"></a>
<span class="sourceLineNo">162</span> }<a name="line.162"></a>
-<span class="sourceLineNo">163</span> private boolean m_serverManager__IsNotDefault;<a name="line.163"></a>
-<span class="sourceLineNo">164</span> // 27, 1<a name="line.164"></a>
-<span class="sourceLineNo">165</span> public void setFormat(String format)<a name="line.165"></a>
+<span class="sourceLineNo">163</span> private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span> // 22, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span> public void setMetaLocation(ServerName metaLocation)<a name="line.165"></a>
<span class="sourceLineNo">166</span> {<a name="line.166"></a>
-<span class="sourceLineNo">167</span> // 27, 1<a name="line.167"></a>
-<span class="sourceLineNo">168</span> m_format = format;<a name="line.168"></a>
-<span class="sourceLineNo">169</span> m_format__IsNotDefault = true;<a name="line.169"></a>
+<span class="sourceLineNo">167</span> // 22, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span> m_metaLocation = metaLocation;<a name="line.168"></a>
+<span class="sourceLineNo">169</span> m_metaLocation__IsNotDefault = true;<a name="line.169"></a>
<span class="sourceLineNo">170</span> }<a name="line.170"></a>
-<span class="sourceLineNo">171</span> public String getFormat()<a name="line.171"></a>
+<span class="sourceLineNo">171</span> public ServerName getMetaLocation()<a name="line.171"></a>
<span class="sourceLineNo">172</span> {<a name="line.172"></a>
-<span class="sourceLineNo">173</span> return m_format;<a name="line.173"></a>
+<span class="sourceLineNo">173</span> return m_metaLocation;<a name="line.173"></a>
<span class="sourceLineNo">174</span> }<a name="line.174"></a>
-<span class="sourceLineNo">175</span> private String m_format;<a name="line.175"></a>
-<span class="sourceLineNo">176</span> public boolean getFormat__IsNotDefault()<a name="line.176"></a>
+<span class="sourceLineNo">175</span> private ServerName m_metaLocation;<a name="line.175"></a>
+<span class="sourceLineNo">176</span> public boolean getMetaLocation__IsNotDefault()<a name="line.176"></a>
<span class="sourceLineNo">177</span> {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> return m_format__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span> return m_metaLocation__IsNotDefault;<a name="line.178"></a>
<span class="sourceLineNo">179</span> }<a name="line.179"></a>
-<span class="sourceLineNo">180</span> private boolean m_format__IsNotDefault;<a name="line.180"></a>
-<span class="sourceLineNo">181</span> // 29, 1<a name="line.181"></a>
-<span class="sourceLineNo">182</span> public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.182"></a>
+<span class="sourceLineNo">180</span> private boolean m_metaLocation__IsNotDefault;<a name="line.180"></a>
+<span class="sourceLineNo">181</span> // 28, 1<a name="line.181"></a>
+<span class="sourceLineNo">182</span> public void setServerManager(ServerManager serverManager)<a name="line.182"></a>
<span class="sourceLineNo">183</span> {<a name="line.183"></a>
-<span class="sourceLineNo">184</span> // 29, 1<a name="line.184"></a>
-<span class="sourceLineNo">185</span> m_assignmentManager = assignmentManager;<a name="line.185"></a>
-<span class="sourceLineNo">186</span> m_assignmentManager__IsNotDefault = true;<a name="line.186"></a>
+<span class="sourceLineNo">184</span> // 28, 1<a name="line.184"></a>
+<span class="sourceLineNo">185</span> m_serverManager = serverManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span> m_serverManager__IsNotDefault = true;<a name="line.186"></a>
<span class="sourceLineNo">187</span> }<a name="line.187"></a>
-<span class="sourceLineNo">188</span> public AssignmentManager getAssignmentManager()<a name="line.188"></a>
+<span class="sourceLineNo">188</span> public ServerManager getServerManager()<a name="line.188"></a>
<span class="sourceLineNo">189</span> {<a name="line.189"></a>
-<span class="sourceLineNo">190</span> return m_assignmentManager;<a name="line.190"></a>
+<span class="sourceLineNo">190</span> return m_serverManager;<a name="line.190"></a>
<span class="sourceLineNo">191</span> }<a name="line.191"></a>
-<span class="sourceLineNo">192</span> private AssignmentManager m_assignmentManager;<a name="line.192"></a>
-<span class="sourceLineNo">193</span> public boolean getAssignmentManager__IsNotDefault()<a name="line.193"></a>
+<span class="sourceLineNo">192</span> private ServerManager m_serverManager;<a name="line.192"></a>
+<span class="sourceLineNo">193</span> public boolean getServerManager__IsNotDefault()<a name="line.193"></a>
<span class="sourceLineNo">194</span> {<a name="line.194"></a>
-<span class="sourceLineNo">195</span> return m_assignmentManager__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span> return m_serverManager__IsNotDefault;<a name="line.195"></a>
<span class="sourceLineNo">196</span> }<a name="line.196"></a>
-<span class="sourceLineNo">197</span> private boolean m_assignmentManager__IsNotDefault;<a name="line.197"></a>
-<span class="sourceLineNo">198</span> // 21, 1<a name="line.198"></a>
-<span class="sourceLineNo">199</span> public void setFrags(Map<String,Integer> frags)<a name="line.199"></a>
+<span class="sourceLineNo">197</span> private boolean m_serverManager__IsNotDefault;<a name="line.197"></a>
+<span class="sourceLineNo">198</span> // 24, 1<a name="line.198"></a>
+<span class="sourceLineNo">199</span> public void setDeadServers(Set<ServerName> deadServers)<a name="line.199"></a>
<span class="sourceLineNo">200</span> {<a name="line.200"></a>
-<span class="sourceLineNo">201</span> // 21, 1<a name="line.201"></a>
-<span class="sourceLineNo">202</span> m_frags = frags;<a name="line.202"></a>
-<span class="sourceLineNo">203</span> m_frags__IsNotDefault = true;<a name="line.203"></a>
+<span class="sourceLineNo">201</span> // 24, 1<a name="line.201"></a>
+<span class="sourceLineNo">202</span> m_deadServers = deadServers;<a name="line.202"></a>
+<span class="sourceLineNo">203</span> m_deadServers__IsNotDefault = true;<a name="line.203"></a>
<span class="sourceLineNo">204</span> }<a name="line.204"></a>
-<span class="sourceLineNo">205</span> public Map<String,Integer> getFrags()<a name="line.205"></a>
+<span class="sourceLineNo">205</span> public Set<ServerName> getDeadServers()<a name="line.205"></a>
<span class="sourceLineNo">206</span> {<a name="line.206"></a>
-<span class="sourceLineNo">207</span> return m_frags;<a name="line.207"></a>
+<span class="sourceLineNo">207</span> return m_deadServers;<a name="line.207"></a>
<span class="sourceLineNo">208</span> }<a name="line.208"></a>
-<span class="sourceLineNo">209</span> private Map<String,Integer> m_frags;<a name="line.209"></a>
-<span class="sourceLineNo">210</span> public boolean getFrags__IsNotDefault()<a name="line.210"></a>
+<span class="sourceLineNo">209</span> private Set<ServerName> m_deadServers;<a name="line.209"></a>
+<span class="sourceLineNo">210</span> public boolean getDeadServers__IsNotDefault()<a name="line.210"></a>
<span class="sourceLineNo">211</span> {<a name="line.211"></a>
-<span class="sourceLineNo">212</span> return m_frags__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">212</span> return m_deadServers__IsNotDefault;<a name="line.212"></a>
<span class="sourceLineNo">213</span> }<a name="line.213"></a>
-<span class="sourceLineNo">214</span> private boolean m_frags__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span> // 23, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span> public void setServers(List<ServerName> servers)<a name="line.216"></a>
+<span class="sourceLineNo">214</span> private boolean m_deadServers__IsNotDefault;<a name="line.214"></a>
+<span class="sourceLineNo">215</span> // 27, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span> public void setFormat(String format)<a name="line.216"></a>
<span class="sourceLineNo">217</span> {<a name="line.217"></a>
-<span class="sourceLineNo">218</span> // 23, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span> m_servers = servers;<a name="line.219"></a>
-<span class="sourceLineNo">220</span> m_servers__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span> // 27, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span> m_format = format;<a name="line.219"></a>
+<span class="sourceLineNo">220</span> m_format__IsNotDefault = true;<a name="line.220"></a>
<span class="sourceLineNo">221</span> }<a name="line.221"></a>
-<span class="sourceLineNo">222</span> public List<ServerName> getServers()<a name="line.222"></a>
+<span class="sourceLineNo">222</span> public String getFormat()<a name="line.222"></a>
<span class="sourceLineNo">223</span> {<a name="line.223"></a>
-<span class="sourceLineNo">224</span> return m_servers;<a name="line.224"></a>
+<span class="sourceLineNo">224</span> return m_format;<a name="line.224"></a>
<span class="sourceLineNo">225</span> }<a name="line.225"></a>
-<span class="sourceLineNo">226</span> private List<ServerName> m_servers;<a name="line.226"></a>
-<span class="sourceLineNo">227</span> public boolean getServers__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private String m_format;<a name="line.226"></a>
+<span class="sourceLineNo">227</span> public boolean getFormat__IsNotDefault()<a name="line.227"></a>
<span class="sourceLineNo">228</span> {<a name="line.228"></a>
-<span class="sourceLineNo">229</span> return m_servers__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span> return m_format__IsNotDefault;<a name="line.229"></a>
<span class="sourceLineNo">230</span> }<a name="line.230"></a>
-<span class="sourceLineNo">231</span> private boolean m_servers__IsNotDefault;<a name="line.231"></a>
-<span class="sourceLineNo">232</span> // 24, 1<a name="line.232"></a>
-<span class="sourceLineNo">233</span> public void setDeadServers(Set<ServerName> deadServers)<a name="line.233"></a>
+<span class="sourceLineNo">231</span> private boolean m_format__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">232</span> // 29, 1<a name="line.232"></a>
+<span class="sourceLineNo">233</span> public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.233"></a>
<span class="sourceLineNo">234</span> {<a name="line.234"></a>
-<span class="sourceLineNo">235</span> // 24, 1<a name="line.235"></a>
-<span class="sourceLineNo">236</span> m_deadServers = deadServers;<a name="line.236"></a>
-<span class="sourceLineNo">237</span> m_deadServers__IsNotDefault = true;<a name="line.237"></a>
+<span class="sourceLineNo">235</span> // 29, 1<a name="line.235"></a>
+<span class="sourceLineNo">236</span> m_assignmentManager = assignmentManager;<a name="line.236"></a>
+<span class="sourceLineNo">237</span> m_assignmentManager__IsNotDefault = true;<a name="line.237"></a>
<span class="sourceLineNo">238</span> }<a name="line.238"></a>
-<span class="sourceLineNo">239</span> public Set<ServerName> getDeadServers()<a name="line.239"></a>
+<span class="sourceLineNo">239</span> public AssignmentManager getAssignmentManager()<a name="line.239"></a>
<span class="sourceLineNo">240</span> {<a name="line.240"></a>
-<span class="sourceLineNo">241</span> return m_deadServers;<a name="line.241"></a>
+<span class="sourceLineNo">241</span> return m_assignmentManager;<a name="line.241"></a>
<span class="sourceLineNo">242</span> }<a name="line.242"></a>
-<span class="sourceLineNo">243</span> private Set<ServerName> m_deadServers;<a name="line.243"></a>
-<span class="sourceLineNo">244</span> public boolean getDeadServers__IsNotDefault()<a name="line.244"></a>
+<span class="sourceLineNo">243</span> private AssignmentManager m_assignmentManager;<a name="line.243"></a>
+<span class="sourceLineNo">244</span> public boolean getAssignmentManager__IsNotDefault()<a name="line.244"></a>
<span class="sourceLineNo">245</span> {<a name="line.245"></a>
-<span class="sourceLineNo">246</span> return m_deadServers__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">246</span> return m_assignmentManager__IsNotDefault;<a name="line.246"></a>
<span class="sourceLineNo">247</span> }<a name="line.247"></a>
-<span class="sourceLineNo">248</span> private boolean m_deadServers__IsNotDefault;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> // 25, 1<a name="line.249"></a>
-<span class="sourceLineNo">250</span> public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.250"></a>
+<span class="sourceLineNo">248</span> private boolean m_assignmentManager__IsNotDefault;<a name="line.248"></a>
+<span class="sourceLineNo">249</span> // 26, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span> public void setFilter(String filter)<a name="line.250"></a>
<span class="sourceLineNo">251</span> {<a name="line.251"></a>
-<span class="sourceLineNo">252</span> // 25, 1<a name="line.252"></a>
-<span class="sourceLineNo">253</span> m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.253"></a>
-<span class="sourceLineNo">254</span> m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.254"></a>
+<span class="sourceLineNo">252</span> // 26, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span> m_filter = filter;<a name="line.253"></a>
+<span class="sourceLineNo">254</span> m_filter__IsNotDefault = true;<a name="line.254"></a>
<span class="sourceLineNo">255</span> }<a name="line.255"></a>
-<span class="sourceLineNo">256</span> public boolean getCatalogJanitorEnabled()<a name="line.256"></a>
+<span class="sourceLineNo">256</span> public String getFilter()<a name="line.256"></a>
<span class="sourceLineNo">257</span> {<a name="line.257"></a>
-<span class="sourceLineNo">258</span> return m_catalogJanitorEnabled;<a name="line.258"></a>
+<span class="sourceLineNo">258</span> return m_filter;<a name="line.258"></a>
<span class="sourceLineNo">259</span> }<a name="line.259"></a>
-<span class="sourceLineNo">260</span> private boolean m_catalogJanitorEnabled;<a name="line.260"></a>
-<span class="sourceLineNo">261</span> public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.261"></a>
+<span class="sourceLineNo">260</span> private String m_filter;<a name="line.260"></a>
+<span class="sourceLineNo">261</span> public boolean getFilter__IsNotDefault()<a name="line.261"></a>
<span class="sourceLineNo">262</span> {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> return m_catalogJanitorEnabled__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span> return m_filter__IsNotDefault;<a name="line.263"></a>
<span class="sourceLineNo">264</span> }<a name="line.264"></a>
-<span class="sourceLineNo">265</span> private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span> private boolean m_filter__IsNotDefault;<a name="line.265"></a>
<span class="sourceLineNo">266</span> }<a name="line.266"></a>
<span class="sourceLineNo">267</span> @Override<a name="line.267"></a>
<span class="sourceLineNo">268</span> protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.268"></a>
@@ -282,66 +282,66 @@
<span class="sourceLineNo">274</span> return (ImplData) super.getImplData();<a name="line.274"></a>
<span class="sourceLineNo">275</span> }<a name="line.275"></a>
<span class="sourceLineNo">276</span> <a name="line.276"></a>
-<span class="sourceLineNo">277</span> protected String filter;<a name="line.277"></a>
-<span class="sourceLineNo">278</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.278"></a>
+<span class="sourceLineNo">277</span> protected Map<String,Integer> frags;<a name="line.277"></a>
+<span class="sourceLineNo">278</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map<String,Integer> p_frags)<a name="line.278"></a>
<span class="sourceLineNo">279</span> {<a name="line.279"></a>
-<span class="sourceLineNo">280</span> (getImplData()).setFilter(p_filter);<a name="line.280"></a>
+<span class="sourceLineNo">280</span> (getImplData()).setFrags(p_frags);<a name="line.280"></a>
<span class="sourceLineNo">281</span> return this;<a name="line.281"></a>
<span class="sourceLineNo">282</span> }<a name="line.282"></a>
<span class="sourceLineNo">283</span> <a name="line.283"></a>
-<span class="sourceLineNo">284</span> protected ServerName metaLocation;<a name="line.284"></a>
-<span class="sourceLineNo">285</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.285"></a>
+<span class="sourceLineNo">284</span> protected List<ServerName> servers;<a name="line.284"></a>
+<span class="sourceLineNo">285</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List<ServerName> p_servers)<a name="line.285"></a>
<span class="sourceLineNo">286</span> {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> (getImplData()).setMetaLocation(p_metaLocation);<a name="line.287"></a>
+<span class="sourceLineNo">287</span> (getImplData()).setServers(p_servers);<a name="line.287"></a>
<span class="sourceLineNo">288</span> return this;<a name="line.288"></a>
<span class="sourceLineNo">289</span> }<a name="line.289"></a>
<span class="sourceLineNo">290</span> <a name="line.290"></a>
-<span class="sourceLineNo">291</span> protected ServerManager serverManager;<a name="line.291"></a>
-<span class="sourceLineNo">292</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.292"></a>
+<span class="sourceLineNo">291</span> protected boolean catalogJanitorEnabled;<a name="line.291"></a>
+<span class="sourceLineNo">292</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.292"></a>
<span class="sourceLineNo">293</span> {<a name="line.293"></a>
-<span class="sourceLineNo">294</span> (getImplData()).setServerManager(p_serverManager);<a name="line.294"></a>
+<span class="sourceLineNo">294</span> (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.294"></a>
<span class="sourceLineNo">295</span> return this;<a name="line.295"></a>
<span class="sourceLineNo">296</span> }<a name="line.296"></a>
<span class="sourceLineNo">297</span> <a name="line.297"></a>
-<span class="sourceLineNo">298</span> protected String format;<a name="line.298"></a>
-<span class="sourceLineNo">299</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.299"></a>
+<span class="sourceLineNo">298</span> protected ServerName metaLocation;<a name="line.298"></a>
+<span class="sourceLineNo">299</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.299"></a>
<span class="sourceLineNo">300</span> {<a name="line.300"></a>
-<span class="sourceLineNo">301</span> (getImplData()).setFormat(p_format);<a name="line.301"></a>
+<span class="sourceLineNo">301</span> (getImplData()).setMetaLocation(p_metaLocation);<a name="line.301"></a>
<span class="sourceLineNo">302</span> return this;<a name="line.302"></a>
<span class="sourceLineNo">303</span> }<a name="line.303"></a>
<span class="sourceLineNo">304</span> <a name="line.304"></a>
-<span class="sourceLineNo">305</span> protected AssignmentManager assignmentManager;<a name="line.305"></a>
-<span class="sourceLineNo">306</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.306"></a>
+<span class="sourceLineNo">305</span> protected ServerManager serverManager;<a name="line.305"></a>
+<span class="sourceLineNo">306</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.306"></a>
<span class="sourceLineNo">307</span> {<a name="line.307"></a>
-<span class="sourceLineNo">308</span> (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.308"></a>
+<span class="sourceLineNo">308</span> (getImplData()).setServerManager(p_serverManager);<a name="line.308"></a>
<span class="sourceLineNo">309</span> return this;<a name="line.309"></a>
<span class="sourceLineNo">310</span> }<a name="line.310"></a>
<span class="sourceLineNo">311</span> <a name="line.311"></a>
-<span class="sourceLineNo">312</span> protected Map<String,Integer> frags;<a name="line.312"></a>
-<span class="sourceLineNo">313</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map<String,Integer> p_frags)<a name="line.313"></a>
+<span class="sourceLineNo">312</span> protected Set<ServerName> deadServers;<a name="line.312"></a>
+<span class="sourceLineNo">313</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set<ServerName> p_deadServers)<a name="line.313"></a>
<span class="sourceLineNo">314</span> {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> (getImplData()).setFrags(p_frags);<a name="line.315"></a>
+<span class="sourceLineNo">315</span> (getImplData()).setDeadServers(p_deadServers);<a name="line.315"></a>
<span class="sourceLineNo">316</span> return this;<a name="line.316"></a>
<span class="sourceLineNo">317</span> }<a name="line.317"></a>
<span class="sourceLineNo">318</span> <a name="line.318"></a>
-<span class="sourceLineNo">319</span> protected List<ServerName> servers;<a name="line.319"></a>
-<span class="sourceLineNo">320</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List<ServerName> p_servers)<a name="line.320"></a>
+<span class="sourceLineNo">319</span> protected String format;<a name="line.319"></a>
+<span class="sourceLineNo">320</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.320"></a>
<span class="sourceLineNo">321</span> {<a name="line.321"></a>
-<span class="sourceLineNo">322</span> (getImplData()).setServers(p_servers);<a name="line.322"></a>
+<span class="sourceLineNo">322</span> (getImplData()).setFormat(p_format);<a name="line.322"></a>
<span class="sourceLineNo">323</span> return this;<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> protected Set<ServerName> deadServers;<a name="line.326"></a>
-<span class="sourceLineNo">327</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set<ServerName> p_deadServers)<a name="line.327"></a>
+<span class="sourceLineNo">326</span> protected AssignmentManager assignmentManager;<a name="line.326"></a>
+<span class="sourceLineNo">327</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.327"></a>
<span class="sourceLineNo">328</span> {<a name="line.328"></a>
-<span class="sourceLineNo">329</span> (getImplData()).setDeadServers(p_deadServers);<a name="line.329"></a>
+<span class="sourceLineNo">329</span> (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.329"></a>
<span class="sourceLineNo">330</span> return this;<a name="line.330"></a>
<span class="sourceLineNo">331</span> }<a name="line.331"></a>
<span class="sourceLineNo">332</span> <a name="line.332"></a>
-<span class="sourceLineNo">333</span> protected boolean catalogJanitorEnabled;<a name="line.333"></a>
-<span class="sourceLineNo">334</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.334"></a>
+<span class="sourceLineNo">333</span> protected String filter;<a name="line.333"></a>
+<span class="sourceLineNo">334</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.334"></a>
<span class="sourceLineNo">335</span> {<a name="line.335"></a>
-<span class="sourceLineNo">336</span> (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.336"></a>
+<span class="sourceLineNo">336</span> (getImplData()).setFilter(p_filter);<a name="line.336"></a>
<span class="sourceLineNo">337</span> return this;<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>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
index a9c9b71..2f09ffa 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
@@ -70,15 +70,15 @@
<span class="sourceLineNo">062</span><a name="line.62"></a>
<span class="sourceLineNo">063</span>{<a name="line.63"></a>
<span class="sourceLineNo">064</span> private final HMaster master;<a name="line.64"></a>
-<span class="sourceLineNo">065</span> private final String filter;<a name="line.65"></a>
-<span class="sourceLineNo">066</span> private final ServerName metaLocation;<a name="line.66"></a>
-<span class="sourceLineNo">067</span> private final ServerManager serverManager;<a name="line.67"></a>
-<span class="sourceLineNo">068</span> private final String format;<a name="line.68"></a>
-<span class="sourceLineNo">069</span> private final AssignmentManager assignmentManager;<a name="line.69"></a>
-<span class="sourceLineNo">070</span> private final Map<String,Integer> frags;<a name="line.70"></a>
-<span class="sourceLineNo">071</span> private final List<ServerName> servers;<a name="line.71"></a>
-<span class="sourceLineNo">072</span> private final Set<ServerName> deadServers;<a name="line.72"></a>
-<span class="sourceLineNo">073</span> private final boolean catalogJanitorEnabled;<a name="line.73"></a>
+<span class="sourceLineNo">065</span> private final Map<String,Integer> frags;<a name="line.65"></a>
+<span class="sourceLineNo">066</span> private final List<ServerName> servers;<a name="line.66"></a>
+<span class="sourceLineNo">067</span> private final boolean catalogJanitorEnabled;<a name="line.67"></a>
+<span class="sourceLineNo">068</span> private final ServerName metaLocation;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> private final ServerManager serverManager;<a name="line.69"></a>
+<span class="sourceLineNo">070</span> private final Set<ServerName> deadServers;<a name="line.70"></a>
+<span class="sourceLineNo">071</span> private final String format;<a name="line.71"></a>
+<span class="sourceLineNo">072</span> private final AssignmentManager assignmentManager;<a name="line.72"></a>
+<span class="sourceLineNo">073</span> private final String filter;<a name="line.73"></a>
<span class="sourceLineNo">074</span> // 69, 1<a name="line.74"></a>
<span class="sourceLineNo">075</span> <a name="line.75"></a>
<span class="sourceLineNo">076</span> public String formatZKString() {<a name="line.76"></a>
@@ -108,41 +108,41 @@
<span class="sourceLineNo">100</span><a name="line.100"></a>
<span class="sourceLineNo">101</span> protected static org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData p_implData)<a name="line.101"></a>
<span class="sourceLineNo">102</span> {<a name="line.102"></a>
-<span class="sourceLineNo">103</span> if(! p_implData.getFilter__IsNotDefault())<a name="line.103"></a>
+<span class="sourceLineNo">103</span> if(! p_implData.getFrags__IsNotDefault())<a name="line.103"></a>
<span class="sourceLineNo">104</span> {<a name="line.104"></a>
-<span class="sourceLineNo">105</span> p_implData.setFilter("general");<a name="line.105"></a>
+<span class="sourceLineNo">105</span> p_implData.setFrags(null);<a name="line.105"></a>
<span class="sourceLineNo">106</span> }<a name="line.106"></a>
-<span class="sourceLineNo">107</span> if(! p_implData.getMetaLocation__IsNotDefault())<a name="line.107"></a>
+<span class="sourceLineNo">107</span> if(! p_implData.getServers__IsNotDefault())<a name="line.107"></a>
<span class="sourceLineNo">108</span> {<a name="line.108"></a>
-<span class="sourceLineNo">109</span> p_implData.setMetaLocation(null);<a name="line.109"></a>
+<span class="sourceLineNo">109</span> p_implData.setServers(null);<a name="line.109"></a>
<span class="sourceLineNo">110</span> }<a name="line.110"></a>
-<span class="sourceLineNo">111</span> if(! p_implData.getServerManager__IsNotDefault())<a name="line.111"></a>
+<span class="sourceLineNo">111</span> if(! p_implData.getCatalogJanitorEnabled__IsNotDefault())<a name="line.111"></a>
<span class="sourceLineNo">112</span> {<a name="line.112"></a>
-<span class="sourceLineNo">113</span> p_implData.setServerManager(null);<a name="line.113"></a>
+<span class="sourceLineNo">113</span> p_implData.setCatalogJanitorEnabled(true);<a name="line.113"></a>
<span class="sourceLineNo">114</span> }<a name="line.114"></a>
-<span class="sourceLineNo">115</span> if(! p_implData.getFormat__IsNotDefault())<a name="line.115"></a>
+<span class="sourceLineNo">115</span> if(! p_implData.getMetaLocation__IsNotDefault())<a name="line.115"></a>
<span class="sourceLineNo">116</span> {<a name="line.116"></a>
-<span class="sourceLineNo">117</span> p_implData.setFormat("html");<a name="line.117"></a>
+<span class="sourceLineNo">117</span> p_implData.setMetaLocation(null);<a name="line.117"></a>
<span class="sourceLineNo">118</span> }<a name="line.118"></a>
-<span class="sourceLineNo">119</span> if(! p_implData.getAssignmentManager__IsNotDefault())<a name="line.119"></a>
+<span class="sourceLineNo">119</span> if(! p_implData.getServerManager__IsNotDefault())<a name="line.119"></a>
<span class="sourceLineNo">120</span> {<a name="line.120"></a>
-<span class="sourceLineNo">121</span> p_implData.setAssignmentManager(null);<a name="line.121"></a>
+<span class="sourceLineNo">121</span> p_implData.setServerManager(null);<a name="line.121"></a>
<span class="sourceLineNo">122</span> }<a name="line.122"></a>
-<span class="sourceLineNo">123</span> if(! p_implData.getFrags__IsNotDefault())<a name="line.123"></a>
+<span class="sourceLineNo">123</span> if(! p_implData.getDeadServers__IsNotDefault())<a name="line.123"></a>
<span class="sourceLineNo">124</span> {<a name="line.124"></a>
-<span class="sourceLineNo">125</span> p_implData.setFrags(null);<a name="line.125"></a>
+<span class="sourceLineNo">125</span> p_implData.setDeadServers(null);<a name="line.125"></a>
<span class="sourceLineNo">126</span> }<a name="line.126"></a>
-<span class="sourceLineNo">127</span> if(! p_implData.getServers__IsNotDefault())<a name="line.127"></a>
+<span class="sourceLineNo">127</span> if(! p_implData.getFormat__IsNotDefault())<a name="line.127"></a>
<span class="sourceLineNo">128</span> {<a name="line.128"></a>
-<span class="sourceLineNo">129</span> p_implData.setServers(null);<a name="line.129"></a>
+<span class="sourceLineNo">129</span> p_implData.setFormat("html");<a name="line.129"></a>
<span class="sourceLineNo">130</span> }<a name="line.130"></a>
-<span class="sourceLineNo">131</span> if(! p_implData.getDeadServers__IsNotDefault())<a name="line.131"></a>
+<span class="sourceLineNo">131</span> if(! p_implData.getAssignmentManager__IsNotDefault())<a name="line.131"></a>
<span class="sourceLineNo">132</span> {<a name="line.132"></a>
-<span class="sourceLineNo">133</span> p_implData.setDeadServers(null);<a name="line.133"></a>
+<span class="sourceLineNo">133</span> p_implData.setAssignmentManager(null);<a name="line.133"></a>
<span class="sourceLineNo">134</span> }<a name="line.134"></a>
-<span class="sourceLineNo">135</span> if(! p_implData.getCatalogJanitorEnabled__IsNotDefault())<a name="line.135"></a>
+<span class="sourceLineNo">135</span> if(! p_implData.getFilter__IsNotDefault())<a name="line.135"></a>
<span class="sourceLineNo">136</span> {<a name="line.136"></a>
-<span class="sourceLineNo">137</span> p_implData.setCatalogJanitorEnabled(true);<a name="line.137"></a>
+<span class="sourceLineNo">137</span> p_implData.setFilter("general");<a name="line.137"></a>
<span class="sourceLineNo">138</span> }<a name="line.138"></a>
<span class="sourceLineNo">139</span> return p_implData;<a name="line.139"></a>
<span class="sourceLineNo">140</span> }<a name="line.140"></a>
@@ -150,15 +150,15 @@
<span class="sourceLineNo">142</span> {<a name="line.142"></a>
<span class="sourceLineNo">143</span> super(p_templateManager, __jamon_setOptionalArguments(p_implData));<a name="line.143"></a>
<span class="sourceLineNo">144</span> master = p_implData.getMaster();<a name="line.144"></a>
-<span class="sourceLineNo">145</span> filter = p_implData.getFilter();<a name="line.145"></a>
-<span class="sourceLineNo">146</span> metaLocation = p_implData.getMetaLocation();<a name="line.146"></a>
-<span class="sourceLineNo">147</span> serverManager = p_implData.getServerManager();<a name="line.147"></a>
-<span class="sourceLineNo">148</span> format = p_implData.getFormat();<a name="line.148"></a>
-<span class="sourceLineNo">149</span> assignmentManager = p_implData.getAssignmentManager();<a name="line.149"></a>
-<span class="sourceLineNo">150</span> frags = p_implData.getFrags();<a name="line.150"></a>
-<span class="sourceLineNo">151</span> servers = p_implData.getServers();<a name="line.151"></a>
-<span class="sourceLineNo">152</span> deadServers = p_implData.getDeadServers();<a name="line.152"></a>
-<span class="sourceLineNo">153</span> catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();<a name="line.153"></a>
+<span class="sourceLineNo">145</span> frags = p_implData.getFrags();<a name="line.145"></a>
+<span class="sourceLineNo">146</span> servers = p_implData.getServers();<a name="line.146"></a>
+<span class="sourceLineNo">147</span> catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();<a name="line.147"></a>
+<span class="sourceLineNo">148</span> metaLocation = p_implData.getMetaLocation();<a name="line.148"></a>
+<span class="sourceLineNo">149</span> serverManager = p_implData.getServerManager();<a name="line.149"></a>
+<span class="sourceLineNo">150</span> deadServers = p_implData.getDeadServers();<a name="line.150"></a>
+<span class="sourceLineNo">151</span> format = p_implData.getFormat();<a name="line.151"></a>
+<span class="sourceLineNo">152</span> assignmentManager = p_implData.getAssignmentManager();<a name="line.152"></a>
+<span class="sourceLineNo">153</span> filter = p_implData.getFilter();<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> @Override public void renderNoFlush(final java.io.Writer jamonWriter)<a name="line.156"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index c7010e6..f477ba5 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Export Control
@@ -348,7 +348,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: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/checkstyle.html b/hbase-annotations/checkstyle.html
index ce66294..230f6a8 100644
--- a/hbase-annotations/checkstyle.html
+++ b/hbase-annotations/checkstyle.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependencies.html b/hbase-annotations/dependencies.html
index db9cfa6..f890247 100644
--- a/hbase-annotations/dependencies.html
+++ b/hbase-annotations/dependencies.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-convergence.html b/hbase-annotations/dependency-convergence.html
index 43dfbf5..5e0595e 100644
--- a/hbase-annotations/dependency-convergence.html
+++ b/hbase-annotations/dependency-convergence.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-info.html b/hbase-annotations/dependency-info.html
index b1bb0be..7b8e77c 100644
--- a/hbase-annotations/dependency-info.html
+++ b/hbase-annotations/dependency-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-management.html b/hbase-annotations/dependency-management.html
index dc93749..a5a0081 100644
--- a/hbase-annotations/dependency-management.html
+++ b/hbase-annotations/dependency-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/index.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/index.html b/hbase-annotations/index.html
index abe9bc7..ab29fe8 100644
--- a/hbase-annotations/index.html
+++ b/hbase-annotations/index.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/integration.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/integration.html b/hbase-annotations/integration.html
index 9000f7a..5cbf437 100644
--- a/hbase-annotations/integration.html
+++ b/hbase-annotations/integration.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/issue-tracking.html b/hbase-annotations/issue-tracking.html
index 79a25f0..d781dfd 100644
--- a/hbase-annotations/issue-tracking.html
+++ b/hbase-annotations/issue-tracking.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/license.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/license.html b/hbase-annotations/license.html
index f1b1496..a56b4f4 100644
--- a/hbase-annotations/license.html
+++ b/hbase-annotations/license.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/mail-lists.html b/hbase-annotations/mail-lists.html
index 2691311..6cb47dc 100644
--- a/hbase-annotations/mail-lists.html
+++ b/hbase-annotations/mail-lists.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugin-management.html b/hbase-annotations/plugin-management.html
index a1878ee..a535504 100644
--- a/hbase-annotations/plugin-management.html
+++ b/hbase-annotations/plugin-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugins.html b/hbase-annotations/plugins.html
index 043e24e..812a128 100644
--- a/hbase-annotations/plugins.html
+++ b/hbase-annotations/plugins.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-info.html b/hbase-annotations/project-info.html
index de5aae0..98c5f9f 100644
--- a/hbase-annotations/project-info.html
+++ b/hbase-annotations/project-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-reports.html b/hbase-annotations/project-reports.html
index 5961634..7cbddcb 100644
--- a/hbase-annotations/project-reports.html
+++ b/hbase-annotations/project-reports.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-summary.html b/hbase-annotations/project-summary.html
index ef3f840..1ab4140 100644
--- a/hbase-annotations/project-summary.html
+++ b/hbase-annotations/project-summary.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/source-repository.html b/hbase-annotations/source-repository.html
index a849a6a..0beeadf 100644
--- a/hbase-annotations/source-repository.html
+++ b/hbase-annotations/source-repository.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-annotations/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/team-list.html b/hbase-annotations/team-list.html
index f47b9d0..96fe2c9 100644
--- a/hbase-annotations/team-list.html
+++ b/hbase-annotations/team-list.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependencies.html b/hbase-archetypes/dependencies.html
index 36a1748..1c84072 100644
--- a/hbase-archetypes/dependencies.html
+++ b/hbase-archetypes/dependencies.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-convergence.html b/hbase-archetypes/dependency-convergence.html
index 8e013f2..d0e4a57 100644
--- a/hbase-archetypes/dependency-convergence.html
+++ b/hbase-archetypes/dependency-convergence.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-info.html b/hbase-archetypes/dependency-info.html
index 2c2e32f..62f8f22 100644
--- a/hbase-archetypes/dependency-info.html
+++ b/hbase-archetypes/dependency-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-management.html b/hbase-archetypes/dependency-management.html
index da3cb3d..2e93352 100644
--- a/hbase-archetypes/dependency-management.html
+++ b/hbase-archetypes/dependency-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependencies.html b/hbase-archetypes/hbase-archetype-builder/dependencies.html
index 276b228..6fe75db 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependencies.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependencies.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html b/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
index 207b229..5705c66 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/hbase-archetypes/hbase-archetype-builder/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependency-info.html b/hbase-archetypes/hbase-archetype-builder/dependency-info.html
index 894f894..03285a4 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependency-info.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependency-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-13 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-15 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-04-13</span>
+ <span id="publishDate">Last Published: 2017-04-15</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
[27/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/procedure2/SequentialProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/SequentialProcedure.html b/devapidocs/org/apache/hadoop/hbase/procedure2/SequentialProcedure.html
index 504aab6..3a4dc6b 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/SequentialProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/SequentialProcedure.html
@@ -237,7 +237,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
<!-- -->
</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#abort-TEnvironment-">abort</a>, <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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime--">elapsedTime</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#execute-TEnvironment-">execute</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#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#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#getStartTime--">getStartTime</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedu
re.html#getState--">getState</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-TEnvironment-">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#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#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/pro
cedure2/Procedure.html#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</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#rollback-TEnvironment-">rollback</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-">set
Failure</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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringState-java.lang.StringBuilder-">toStringState</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#abort-TEnvironment-">abort</a>, <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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime--">elapsedTime</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#execute-TEnvironment-">execute</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#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#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-TEnvironment-">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#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#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/h
base/procedure2/Procedure.html#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</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#rollback-TEnvironment-">rollback</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.Throwab
le-">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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringState-java.lang.StringBuilder-">toStringState</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--">was
Executed</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 0bb404e..ba29d65 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html
@@ -373,7 +373,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a hre
f="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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 hr
ef="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../org/apache/hadoop/hbase/proc
edure2/Procedure.html#getState--">getState</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-TEnvironment-">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#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#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/ha
doop/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.No
nceKey-">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#setStartTime-long-">setStartTime</a>, <a href="../../../../../org/apac
he/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#setTimeout-int-">setTimeout</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a hre
f="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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 hr
ef="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</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#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/P
rocedure.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-TEnvironment-">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#haveSamePar
ent-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#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#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/a
pache/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.Pro
cedureProtos.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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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--">toStringDeta
ils</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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/procedure2/TwoPhaseProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/TwoPhaseProcedure.html b/devapidocs/org/apache/hadoop/hbase/procedure2/TwoPhaseProcedure.html
index c3f4ed8..fd2a077 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/TwoPhaseProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/TwoPhaseProcedure.html
@@ -180,7 +180,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
<!-- -->
</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#abort-TEnvironment-">abort</a>, <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#childrenCountDown--">childrenCountDown</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#deserializeStateData-java.io.InputStream-">deserializeStateData</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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#execute-TEnvironment-">execute</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.h
tml#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#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#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="../../../../../o
rg/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#getStartTime--">getStartTime</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</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-TEnvironment-">hasLock</a>, <a href="../../../../../org/apache/hadoo
p/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#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--">isInit
ializing</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#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</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#rollback-TEnvironment-">rollback</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData-java.io.OutputStream-">serializeStateData</a>, <a href="../../../../../org/apache/hadoop/h
base/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.hado
op.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#setStartTime-long-">setStartTime</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#setTimeout-int-">s
etTimeout</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringState-java.lang.StringBuilder-">toStringState</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#abort-TEnvironment-">abort</a>, <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#childrenCountDown--">childrenCountDown</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#deserializeStateData-java.io.InputStream-">deserializeStateData</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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#execute-TEnvironment-">execute</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getChildrenLatch--">getChildrenLatch</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.h
tml#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#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#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="../../../../../o
rg/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-TEnvironment-">hasLock</a>, <a href="../../../../../org/apac
he/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#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#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#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</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#rollback-TEnvironment-">rollback</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData-java.io.OutputStream-">serializeStateData</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.apa
che.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#se
tTimeout-int-">setTimeout</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringState-java.lang.StringBuilder-">t
oStringState</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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 ef42cc2..ddc1f12 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -189,8 +189,8 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.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>
<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>
<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>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 c71a7aa..b743cba 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -178,11 +178,11 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.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/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/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/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/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>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 d2298ef..9ce54c4 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -668,20 +668,20 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.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/StoreScanner.StoreScannerCompactionRace.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">StoreScanner.StoreScannerCompactionRace</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/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/RegionOpeningState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">RegionOpeningState</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/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/ImmutableSegment.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ImmutableSegment.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactor.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactor.Action</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/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/MemStoreCompactor.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactor.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ImmutableSegment.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ImmutableSegment.Type</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/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/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.FlushResult.Result</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/RegionOpeningState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">RegionOpeningState</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/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/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
index 7586289..777d49b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
@@ -125,10 +125,10 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
+<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.DropDeletesInOutput.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">StripeCompactionScanQueryMatcher.DropDeletesInOutput</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteCompare</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</span></a></li>
<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.DropDeletesInOutput.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">StripeCompactionScanQueryMatcher.DropDeletesInOutput</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 1d8853b..377757c 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -135,9 +135,9 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.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/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/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/a949969b/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 1c19e45..e40986a 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="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.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/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>
</ul>
</li>
</ul>
[08/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index fc21a77..e8ebdab 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -138,6 +138,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.TestWaitChild.html#abort-java.lang.Void-">abort(Void)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.TestWaitChild.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureExecution.TestWaitingProcedure.TestWaitChild</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#abort-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">abort(TestProcedureMetrics.TestProcEnv)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html#abort-org.apache.hadoop.hbase.procedure2.TestProcedureNonce.TestProcEnv-">abort(TestProcedureNonce.TestProcEnv)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce.TestSingleStepProcedure</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html#abort">abort</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.BaseTestStepProcedure</a></dt>
@@ -2144,6 +2146,10 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.html#beforeTestMethod--">beforeTestMethod()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionServerMetrics</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#beginCount">beginCount</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#beginCount">beginCount</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.html#benchmarkAlgorithm-org.apache.hadoop.hbase.io.compress.Compression.Algorithm-java.lang.String-byte:A-int-int-">benchmarkAlgorithm(Compression.Algorithm, String, byte[], int, int)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.html" title="class in org.apache.hadoop.hbase.regionserver">DataBlockEncodingTool</a></dt>
<dd>
<div class="block">Check decompress performance of a given algorithm and print it.</div>
@@ -9443,6 +9449,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecutor.BusyWaitProcedure.html#execute-org.apache.hadoop.hbase.procedure2.TestProcedureExecutor.TestProcEnv-">execute(TestProcedureExecutor.TestProcEnv)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecutor.BusyWaitProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureExecutor.BusyWaitProcedure</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#execute-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">execute(TestProcedureMetrics.TestProcEnv)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html#execute-org.apache.hadoop.hbase.procedure2.TestProcedureNonce.TestProcEnv-">execute(TestProcedureNonce.TestProcEnv)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce.TestSingleStepProcedure</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html#execute-org.apache.hadoop.hbase.procedure2.TestProcedureRecovery.TestProcEnv-">execute(TestProcedureRecovery.TestProcEnv)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.BaseTestStepProcedure</a></dt>
@@ -9702,6 +9710,10 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestMultiVersionConcurrencyControl.Writer.html#failed">failed</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestMultiVersionConcurrencyControl.Writer.html" title="class in org.apache.hadoop.hbase.regionserver">TestMultiVersionConcurrencyControl.Writer</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#failedCount">failedCount</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#failedCount">failedCount</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncSingleRequestRpcRetryingCaller.html#failedFuture--">failedFuture()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncSingleRequestRpcRetryingCaller.html" title="class in org.apache.hadoop.hbase.client">TestAsyncSingleRequestRpcRetryingCaller</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorExceptionWithAbort.FailedInitializationObserver.html#FailedInitializationObserver--">FailedInitializationObserver()</a></span> - Constructor for class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorExceptionWithAbort.FailedInitializationObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestRegionServerCoprocessorExceptionWithAbort.FailedInitializationObserver</a></dt>
@@ -10965,6 +10977,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.html#fs">fs</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureExecution</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#fs">fs</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html#fs">fs</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html#fs">fs</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery</a></dt>
@@ -15390,6 +15404,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html#htu">htu</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureInMemoryChore</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#htu">htu</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html#htu">htu</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html#htu">htu</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery</a></dt>
@@ -18658,6 +18674,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureInMemoryChore</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery</a></dt>
@@ -19208,6 +19226,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.html#logDir">logDir</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureExecution</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#logDir">logDir</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html#logDir">logDir</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html#logDir">logDir</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery</a></dt>
@@ -25065,6 +25085,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html#PROCEDURE_EXECUTOR_SLOTS">PROCEDURE_EXECUTOR_SLOTS</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureInMemoryChore</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#PROCEDURE_EXECUTOR_SLOTS">PROCEDURE_EXECUTOR_SLOTS</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html#PROCEDURE_EXECUTOR_SLOTS">PROCEDURE_EXECUTOR_SLOTS</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html#PROCEDURE_EXECUTOR_SLOTS">PROCEDURE_EXECUTOR_SLOTS</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery</a></dt>
@@ -25085,6 +25107,18 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureTestingUtility.InjectAbortOnLoadListener.html#procedureLoaded-long-">procedureLoaded(long)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureTestingUtility.InjectAbortOnLoadListener.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureTestingUtility.InjectAbortOnLoadListener</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#ProcedureMetrics--">ProcedureMetrics()</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#ProcedureMetrics-boolean-">ProcedureMetrics(boolean)</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#ProcedureMetrics-boolean-boolean-">ProcedureMetrics(boolean, boolean)</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#ProcedureMetrics-boolean-boolean-int-">ProcedureMetrics(boolean, boolean, int)</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#ProcedureMetrics-boolean-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.ProcedureMetrics:A-">ProcedureMetrics(boolean, TestProcedureMetrics.ProcedureMetrics[])</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#ProcedureMetrics-boolean-boolean-int-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.ProcedureMetrics:A-">ProcedureMetrics(boolean, boolean, int, TestProcedureMetrics.ProcedureMetrics[])</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.html#procedureScheduler">procedureScheduler</a></span> - Variable in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureSchedulerPerformanceEvaluation</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">ProcedureTestingUtility</span></a> - Class in <a href="org/apache/hadoop/hbase/procedure2/package-summary.html">org.apache.hadoop.hbase.procedure2</a></dt>
@@ -25129,6 +25163,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html#procEnv">procEnv</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureInMemoryChore</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#procEnv">procEnv</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html#procEnv">procEnv</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html#procEnv">procEnv</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery</a></dt>
@@ -25247,6 +25283,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html#procExecutor">procExecutor</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureInMemoryChore</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#procExecutor">procExecutor</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html#procExecutor">procExecutor</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html#procExecutor">procExecutor</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery</a></dt>
@@ -25295,6 +25333,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html#procStore">procStore</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureInMemoryChore</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#procStore">procStore</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html#procStore">procStore</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html#procStore">procStore</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery</a></dt>
@@ -27465,6 +27505,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.TestWaitChild.html#rollback-java.lang.Void-">rollback(Void)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.TestWaitChild.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureExecution.TestWaitingProcedure.TestWaitChild</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#rollback-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">rollback(TestProcedureMetrics.TestProcEnv)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html#rollback-org.apache.hadoop.hbase.procedure2.TestProcedureNonce.TestProcEnv-">rollback(TestProcedureNonce.TestProcEnv)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce.TestSingleStepProcedure</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html#rollback-org.apache.hadoop.hbase.procedure2.TestProcedureRecovery.TestProcEnv-">rollback(TestProcedureRecovery.TestProcEnv)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.BaseTestStepProcedure</a></dt>
@@ -30340,6 +30382,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html#setUp--">setUp()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureInMemoryChore</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#setUp--">setUp()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html#setUp--">setUp()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html#setUp--">setUp()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery</a></dt>
@@ -33348,6 +33392,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestSequentialProcedure.html#subProcs">subProcs</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestSequentialProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureExecution.TestSequentialProcedure</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#subprocs">subprocs</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/TestSingleColumnValueFilter.html#substrFilter">substrFilter</a></span> - Variable in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TestSingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">TestSingleColumnValueFilter</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/TestSingleColumnValueFilter.html#substrFilterNew--">substrFilterNew()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TestSingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">TestSingleColumnValueFilter</a></dt>
@@ -33356,6 +33402,12 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncProcess.html#success">success</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncProcess.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#success">success</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#successCount">successCount</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#successCount">successCount</a></span> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestHRegionFileSystem.MockFileSystem.html#successRetryCount">successRetryCount</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestHRegionFileSystem.MockFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">TestHRegionFileSystem.MockFileSystem</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/ColumnAggregationEndpoint.html#sum-com.google.protobuf.RpcController-org.apache.hadoop.hbase.coprocessor.protobuf.generated.ColumnAggregationProtos.SumRequest-com.google.protobuf.RpcCallback-">sum(RpcController, ColumnAggregationProtos.SumRequest, RpcCallback<ColumnAggregationProtos.SumResponse>)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/ColumnAggregationEndpoint.html" title="class in org.apache.hadoop.hbase.coprocessor">ColumnAggregationEndpoint</a></dt>
@@ -34652,6 +34704,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html#tearDown--">tearDown()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureInMemoryChore</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#tearDown--">tearDown()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html#tearDown--">tearDown()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html#tearDown--">tearDown()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery</a></dt>
@@ -40406,6 +40460,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.html#testDir">testDir</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureExecution</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#testDir">testDir</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html#testDir">testDir</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.html#testDir">testDir</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureReplayOrder</a></dt>
@@ -45129,6 +45185,14 @@
<dd>
<div class="block">Run the scan to completetion and check the metric against the specified value</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#testMetricForFailedYiledProcedure--">testMetricForFailedYiledProcedure()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#testMetricForProcedureWithChildren--">testMetricForProcedureWithChildren()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#testMetricForSimpleProcedure--">testMetricForSimpleProcedure()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#testMetricForYieldProcedure--">testMetricForYieldProcedure()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/metrics/TestMetricRegistriesLoader.html" title="class in org.apache.hadoop.hbase.metrics"><span class="typeNameLink">TestMetricRegistriesLoader</span></a> - Class in <a href="org/apache/hadoop/hbase/metrics/package-summary.html">org.apache.hadoop.hbase.metrics</a></dt>
<dd>
<div class="block">Test class for <code>MetricRegistriesLoader</code>.</div>
@@ -45147,6 +45211,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestMetricsConnection.html#TestMetricsConnection--">TestMetricsConnection()</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestMetricsConnection.html" title="class in org.apache.hadoop.hbase.client">TestMetricsConnection</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#testMetricsForFailedProcedure--">testMetricsForFailedProcedure()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/TestMetricsHeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestMetricsHeapMemoryManager</span></a> - Class in <a href="org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
<dd>
<div class="block">Unit test version of rs metrics tests.</div>
@@ -47329,6 +47395,14 @@
<dd>
<div class="block">Helper <code>Procedure</code> who's phase for each step is just empty</div>
</dd>
+<dt><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureMetrics</span></a> - Class in <a href="org/apache/hadoop/hbase/procedure2/package-summary.html">org.apache.hadoop.hbase.procedure2</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#TestProcedureMetrics--">TestProcedureMetrics()</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureMetrics.ProcedureMetrics</span></a> - Class in <a href="org/apache/hadoop/hbase/procedure2/package-summary.html">org.apache.hadoop.hbase.procedure2</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureMetrics.TestProcEnv</span></a> - Class in <a href="org/apache/hadoop/hbase/procedure2/package-summary.html">org.apache.hadoop.hbase.procedure2</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureUtil.TestProcedureNoDefaultConstructor.html#TestProcedureNoDefaultConstructor-int-">TestProcedureNoDefaultConstructor(int)</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureUtil.TestProcedureNoDefaultConstructor.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureUtil.TestProcedureNoDefaultConstructor</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureNonce</span></a> - Class in <a href="org/apache/hadoop/hbase/procedure2/package-summary.html">org.apache.hadoop.hbase.procedure2</a></dt>
@@ -47425,6 +47499,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html#TestProcEnv--">TestProcEnv()</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureInMemoryChore.TestProcEnv</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html#TestProcEnv--">TestProcEnv()</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestProcEnv.html#TestProcEnv--">TestProcEnv()</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce.TestProcEnv</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestProcEnv.html#TestProcEnv--">TestProcEnv()</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.TestProcEnv</a></dt>
@@ -54720,6 +54796,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestChildProcedures.TestProcEnv.html#toggleKillBeforeStoreUpdate">toggleKillBeforeStoreUpdate</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestChildProcedures.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestChildProcedures.TestProcEnv</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html#toggleKillBeforeStoreUpdate">toggleKillBeforeStoreUpdate</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/model/TestModelBase.html#toJSON-T-">toJSON(T)</a></span> - Method in class org.apache.hadoop.hbase.rest.model.<a href="org/apache/hadoop/hbase/rest/model/TestModelBase.html" title="class in org.apache.hadoop.hbase.rest.model">TestModelBase</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/token/TestTokenAuthentication.TokenServer.html#TokenServer-org.apache.hadoop.conf.Configuration-">TokenServer(Configuration)</a></span> - Constructor for class org.apache.hadoop.hbase.security.token.<a href="org/apache/hadoop/hbase/security/token/TestTokenAuthentication.TokenServer.html" title="class in org.apache.hadoop.hbase.security.token">TestTokenAuthentication.TokenServer</a></dt>
@@ -54912,6 +54990,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestChildProcedures.TestProcEnv.html#triggerRollbackOnChild">triggerRollbackOnChild</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestChildProcedures.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestChildProcedures.TestProcEnv</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html#triggerRollbackOnChild">triggerRollbackOnChild</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#triggerTableCacheRefresh-boolean-org.apache.hadoop.hbase.TableName...-">triggerTableCacheRefresh(boolean, TableName...)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaThrottle</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#triggerUserCacheRefresh-boolean-org.apache.hadoop.hbase.TableName...-">triggerUserCacheRefresh(boolean, TableName...)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaThrottle</a></dt>
@@ -55191,6 +55271,10 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.html#updateMetricsMap--">updateMetricsMap()</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionServerReadRequestMetrics</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#updateMetricsOnFinish-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-long-boolean-">updateMetricsOnFinish(TestProcedureMetrics.TestProcEnv, long, boolean)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#updateMetricsOnSubmit-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">updateMetricsOnSubmit(TestProcedureMetrics.TestProcEnv)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestTags.TestCoprocessorForTags.html#updateMutationAddingTags-org.apache.hadoop.hbase.client.Mutation-">updateMutationAddingTags(Mutation)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestTags.TestCoprocessorForTags.html" title="class in org.apache.hadoop.hbase.regionserver">TestTags.TestCoprocessorForTags</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/LoadTestTool.html#updatePercent">updatePercent</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/LoadTestTool.html" title="class in org.apache.hadoop.hbase.util">LoadTestTool</a></dt>
@@ -58162,10 +58246,16 @@ the order they are declared.</div>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.html#yield">yield</a></span> - Variable in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureSchedulerPerformanceEvaluation</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#yield">yield</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestScheduler.html#yield-org.apache.hadoop.hbase.procedure2.Procedure-">yield(Procedure)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestScheduler.html" title="class in org.apache.hadoop.hbase.procedure2">TestYieldProcedures.TestScheduler</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestScheduler.html#yieldCalls">yieldCalls</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestScheduler.html" title="class in org.apache.hadoop.hbase.procedure2">TestYieldProcedures.TestScheduler</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#yieldCount">yieldCount</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#yieldNum">yieldNum</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestTableSnapshotScanner.html#yyy">yyy</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestTableSnapshotScanner.html" title="class in org.apache.hadoop.hbase.client">TestTableSnapshotScanner</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestTableSnapshotInputFormat.html#yyy">yyy</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestTableSnapshotInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">TestTableSnapshotInputFormat</a></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseCommonTestingUtility.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseCommonTestingUtility.html b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseCommonTestingUtility.html
index 1875e19..7f3f9cf 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseCommonTestingUtility.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseCommonTestingUtility.html
@@ -243,10 +243,14 @@
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HBaseCommonTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseCommonTestingUtility</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestProcedureInMemoryChore.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html#htu">htu</a></span></code> </td>
+<td class="colLast"><span class="typeNameLabel">TestProcedureMetrics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#htu">htu</a></span></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HBaseCommonTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseCommonTestingUtility</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TestProcedureInMemoryChore.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html#htu">htu</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HBaseCommonTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseCommonTestingUtility</a></code></td>
<td class="colLast"><span class="typeNameLabel">TestProcedureRecovery.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html#htu">htu</a></span></code> </td>
</tr>
</tbody>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index ee52e3c..2b17459 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -158,8 +158,8 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/TagUsage.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">TagUsage</span></a></li>
<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">TestCacheOnWrite.CacheOnWriteType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/TagUsage.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">TagUsage</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.RegionProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.RegionProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.RegionProcedure.html
index c90fadd..4b2c85a 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.RegionProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.RegionProcedure.html
@@ -259,7 +259,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Test
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateTimestamp, wasExecuted</code></l
i>
+<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateMetricsOnFinish, updateM
etricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.TableProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.TableProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.TableProcedure.html
index ff20330..bf5e45a 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.TableProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.TableProcedure.html
@@ -247,7 +247,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Test
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateTimestamp, wasExecuted</code></l
i>
+<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateMetricsOnFinish, updateM
etricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestNamespaceProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestNamespaceProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestNamespaceProcedure.html
index 960566b..58b68c3 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestNamespaceProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestNamespaceProcedure.html
@@ -259,7 +259,7 @@ implements org.apache.hadoop.hbase.master.procedure.TableProcedureInterface</pre
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateTimestamp, wasExecuted</code></l
i>
+<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateMetricsOnFinish, updateM
etricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestRegionProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestRegionProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestRegionProcedure.html
index 40f7e29..047ce06 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestRegionProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestRegionProcedure.html
@@ -282,7 +282,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Test
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateTimestamp, wasExecuted</code></l
i>
+<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateMetricsOnFinish, updateM
etricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestTableProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestTableProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestTableProcedure.html
index 192c18b..04b9eab 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestTableProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestTableProcedure.html
@@ -276,7 +276,7 @@ implements org.apache.hadoop.hbase.master.procedure.TableProcedureInterface</pre
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateTimestamp, wasExecuted</code></l
i>
+<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateMetricsOnFinish, updateM
etricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestTableProcedureWithEvent.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestTableProcedureWithEvent.html b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestTableProcedureWithEvent.html
index e110e3a..17ddbb5 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestTableProcedureWithEvent.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.TestTableProcedureWithEvent.html
@@ -255,7 +255,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Test
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateTimestamp, wasExecuted</code></l
i>
+<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateMetricsOnFinish, updateM
etricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 3b2186a..4d7b960 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -541,15 +541,15 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.<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/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/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/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/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/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/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/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/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/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/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.RoleCommand.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.RoleCommand</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.NoopProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.NoopProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.NoopProcedure.html
index 54cb95e..03865e2 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.NoopProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.NoopProcedure.html
@@ -219,7 +219,7 @@ extends org.apache.hadoop.hbase.procedure2.Procedure<TEnv></pre>
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStr
ingState, updateTimestamp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleS
B, toStringState, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.TestProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.TestProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.TestProcedure.html
index 1bebb24..a79451b 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.TestProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.TestProcedure.html
@@ -268,7 +268,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTest
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimestamp,
wasExecuted</code></li>
+<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateMe
tricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestChildProcedures.TestChildProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestChildProcedures.TestChildProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestChildProcedures.TestChildProcedure.html
index 7362472..749e289 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestChildProcedures.TestChildProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestChildProcedures.TestChildProcedure.html
@@ -219,7 +219,7 @@ extends org.apache.hadoop.hbase.procedure2.SequentialProcedure<<a href="../..
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimesta
mp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updat
eMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
[19/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureExecutorListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureExecutorListener.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureExecutorListener.html
index a1495ff..0c11099 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureExecutorListener.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureExecutorListener.html
@@ -839,1019 +839,1030 @@
<span class="sourceLineNo">831</span> private long pushProcedure(final Procedure proc) {<a name="line.831"></a>
<span class="sourceLineNo">832</span> final long currentProcId = proc.getProcId();<a name="line.832"></a>
<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span> // Create the rollback stack for the procedure<a name="line.834"></a>
-<span class="sourceLineNo">835</span> RootProcedureState stack = new RootProcedureState();<a name="line.835"></a>
-<span class="sourceLineNo">836</span> rollbackStack.put(currentProcId, stack);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span> // Submit the new subprocedures<a name="line.838"></a>
-<span class="sourceLineNo">839</span> assert !procedures.containsKey(currentProcId);<a name="line.839"></a>
-<span class="sourceLineNo">840</span> procedures.put(currentProcId, proc);<a name="line.840"></a>
-<span class="sourceLineNo">841</span> sendProcedureAddedNotification(currentProcId);<a name="line.841"></a>
-<span class="sourceLineNo">842</span> scheduler.addBack(proc);<a name="line.842"></a>
-<span class="sourceLineNo">843</span> return proc.getProcId();<a name="line.843"></a>
-<span class="sourceLineNo">844</span> }<a name="line.844"></a>
-<span class="sourceLineNo">845</span><a name="line.845"></a>
-<span class="sourceLineNo">846</span> /**<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * Send an abort notification the specified procedure.<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.848"></a>
-<span class="sourceLineNo">849</span> * @param procId the procedure to abort<a name="line.849"></a>
-<span class="sourceLineNo">850</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.850"></a>
-<span class="sourceLineNo">851</span> */<a name="line.851"></a>
-<span class="sourceLineNo">852</span> public boolean abort(final long procId) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span> return abort(procId, true);<a name="line.853"></a>
-<span class="sourceLineNo">854</span> }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span> /**<a name="line.856"></a>
-<span class="sourceLineNo">857</span> * Send an abort notification the specified procedure.<a name="line.857"></a>
-<span class="sourceLineNo">858</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.858"></a>
-<span class="sourceLineNo">859</span> * @param procId the procedure to abort<a name="line.859"></a>
-<span class="sourceLineNo">860</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.860"></a>
-<span class="sourceLineNo">861</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.861"></a>
-<span class="sourceLineNo">862</span> */<a name="line.862"></a>
-<span class="sourceLineNo">863</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.863"></a>
-<span class="sourceLineNo">864</span> final Procedure proc = procedures.get(procId);<a name="line.864"></a>
-<span class="sourceLineNo">865</span> if (proc != null) {<a name="line.865"></a>
-<span class="sourceLineNo">866</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.866"></a>
-<span class="sourceLineNo">867</span> return false;<a name="line.867"></a>
-<span class="sourceLineNo">868</span> }<a name="line.868"></a>
-<span class="sourceLineNo">869</span> return proc.abort(getEnvironment());<a name="line.869"></a>
-<span class="sourceLineNo">870</span> }<a name="line.870"></a>
-<span class="sourceLineNo">871</span> return false;<a name="line.871"></a>
-<span class="sourceLineNo">872</span> }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span> // ==========================================================================<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // Executor query helpers<a name="line.875"></a>
-<span class="sourceLineNo">876</span> // ==========================================================================<a name="line.876"></a>
-<span class="sourceLineNo">877</span> public Procedure getProcedure(final long procId) {<a name="line.877"></a>
-<span class="sourceLineNo">878</span> return procedures.get(procId);<a name="line.878"></a>
-<span class="sourceLineNo">879</span> }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span> final Procedure proc = getProcedure(procId);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> if (clazz.isInstance(proc)) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span> return (T)proc;<a name="line.884"></a>
-<span class="sourceLineNo">885</span> }<a name="line.885"></a>
-<span class="sourceLineNo">886</span> return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span> }<a name="line.887"></a>
-<span class="sourceLineNo">888</span><a name="line.888"></a>
-<span class="sourceLineNo">889</span> public ProcedureInfo getResult(final long procId) {<a name="line.889"></a>
-<span class="sourceLineNo">890</span> return completed.get(procId);<a name="line.890"></a>
-<span class="sourceLineNo">891</span> }<a name="line.891"></a>
-<span class="sourceLineNo">892</span><a name="line.892"></a>
-<span class="sourceLineNo">893</span> /**<a name="line.893"></a>
-<span class="sourceLineNo">894</span> * Return true if the procedure is finished.<a name="line.894"></a>
-<span class="sourceLineNo">895</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.895"></a>
-<span class="sourceLineNo">896</span> * Use getResult() to check the state or get the result data.<a name="line.896"></a>
-<span class="sourceLineNo">897</span> * @param procId the ID of the procedure to check<a name="line.897"></a>
-<span class="sourceLineNo">898</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.898"></a>
-<span class="sourceLineNo">899</span> */<a name="line.899"></a>
-<span class="sourceLineNo">900</span> public boolean isFinished(final long procId) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span> return !procedures.containsKey(procId);<a name="line.901"></a>
-<span class="sourceLineNo">902</span> }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span> /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span> * Return true if the procedure is started.<a name="line.905"></a>
-<span class="sourceLineNo">906</span> * @param procId the ID of the procedure to check<a name="line.906"></a>
-<span class="sourceLineNo">907</span> * @return true if the procedure execution is started, otherwise false.<a name="line.907"></a>
-<span class="sourceLineNo">908</span> */<a name="line.908"></a>
-<span class="sourceLineNo">909</span> public boolean isStarted(final long procId) {<a name="line.909"></a>
-<span class="sourceLineNo">910</span> final Procedure proc = procedures.get(procId);<a name="line.910"></a>
-<span class="sourceLineNo">911</span> if (proc == null) {<a name="line.911"></a>
-<span class="sourceLineNo">912</span> return completed.get(procId) != null;<a name="line.912"></a>
-<span class="sourceLineNo">913</span> }<a name="line.913"></a>
-<span class="sourceLineNo">914</span> return proc.wasExecuted();<a name="line.914"></a>
-<span class="sourceLineNo">915</span> }<a name="line.915"></a>
-<span class="sourceLineNo">916</span><a name="line.916"></a>
-<span class="sourceLineNo">917</span> /**<a name="line.917"></a>
-<span class="sourceLineNo">918</span> * Mark the specified completed procedure, as ready to remove.<a name="line.918"></a>
-<span class="sourceLineNo">919</span> * @param procId the ID of the procedure to remove<a name="line.919"></a>
-<span class="sourceLineNo">920</span> */<a name="line.920"></a>
-<span class="sourceLineNo">921</span> public void removeResult(final long procId) {<a name="line.921"></a>
-<span class="sourceLineNo">922</span> final ProcedureInfo result = completed.get(procId);<a name="line.922"></a>
-<span class="sourceLineNo">923</span> if (result == null) {<a name="line.923"></a>
-<span class="sourceLineNo">924</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.924"></a>
-<span class="sourceLineNo">925</span> if (LOG.isDebugEnabled()) {<a name="line.925"></a>
-<span class="sourceLineNo">926</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.926"></a>
-<span class="sourceLineNo">927</span> }<a name="line.927"></a>
-<span class="sourceLineNo">928</span> return;<a name="line.928"></a>
-<span class="sourceLineNo">929</span> }<a name="line.929"></a>
-<span class="sourceLineNo">930</span><a name="line.930"></a>
-<span class="sourceLineNo">931</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.931"></a>
-<span class="sourceLineNo">932</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span><a name="line.934"></a>
-<span class="sourceLineNo">935</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.935"></a>
-<span class="sourceLineNo">936</span> ProcedureInfo result = completed.get(procId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span> Procedure proc = null;<a name="line.937"></a>
-<span class="sourceLineNo">938</span> if (result == null) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span> proc = procedures.get(procId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span> if (proc == null) {<a name="line.940"></a>
-<span class="sourceLineNo">941</span> result = completed.get(procId);<a name="line.941"></a>
-<span class="sourceLineNo">942</span> }<a name="line.942"></a>
-<span class="sourceLineNo">943</span> }<a name="line.943"></a>
-<span class="sourceLineNo">944</span> return new Pair(result, proc);<a name="line.944"></a>
-<span class="sourceLineNo">945</span> }<a name="line.945"></a>
-<span class="sourceLineNo">946</span><a name="line.946"></a>
-<span class="sourceLineNo">947</span> /**<a name="line.947"></a>
-<span class="sourceLineNo">948</span> * Check if the user is this procedure's owner<a name="line.948"></a>
-<span class="sourceLineNo">949</span> * @param procId the target procedure<a name="line.949"></a>
-<span class="sourceLineNo">950</span> * @param user the user<a name="line.950"></a>
-<span class="sourceLineNo">951</span> * @return true if the user is the owner of the procedure,<a name="line.951"></a>
-<span class="sourceLineNo">952</span> * false otherwise or the owner is unknown.<a name="line.952"></a>
-<span class="sourceLineNo">953</span> */<a name="line.953"></a>
-<span class="sourceLineNo">954</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> if (user == null) return false;<a name="line.955"></a>
-<span class="sourceLineNo">956</span><a name="line.956"></a>
-<span class="sourceLineNo">957</span> final Procedure proc = procedures.get(procId);<a name="line.957"></a>
-<span class="sourceLineNo">958</span> if (proc != null) {<a name="line.958"></a>
-<span class="sourceLineNo">959</span> return proc.getOwner().equals(user.getShortName());<a name="line.959"></a>
-<span class="sourceLineNo">960</span> }<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.962"></a>
-<span class="sourceLineNo">963</span> if (procInfo == null) {<a name="line.963"></a>
-<span class="sourceLineNo">964</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.964"></a>
-<span class="sourceLineNo">965</span> // At this time, we cannot check the owner of the procedure<a name="line.965"></a>
-<span class="sourceLineNo">966</span> return false;<a name="line.966"></a>
-<span class="sourceLineNo">967</span> }<a name="line.967"></a>
-<span class="sourceLineNo">968</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.968"></a>
-<span class="sourceLineNo">969</span> }<a name="line.969"></a>
-<span class="sourceLineNo">970</span><a name="line.970"></a>
-<span class="sourceLineNo">971</span> /**<a name="line.971"></a>
-<span class="sourceLineNo">972</span> * List procedures.<a name="line.972"></a>
-<span class="sourceLineNo">973</span> * @return the procedures in a list<a name="line.973"></a>
-<span class="sourceLineNo">974</span> */<a name="line.974"></a>
-<span class="sourceLineNo">975</span> public List<ProcedureInfo> listProcedures() {<a name="line.975"></a>
-<span class="sourceLineNo">976</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.976"></a>
-<span class="sourceLineNo">977</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.977"></a>
-<span class="sourceLineNo">978</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.978"></a>
-<span class="sourceLineNo">979</span> }<a name="line.979"></a>
-<span class="sourceLineNo">980</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.981"></a>
-<span class="sourceLineNo">982</span> // it could complete after we walk through procedures list and insert into<a name="line.982"></a>
-<span class="sourceLineNo">983</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.983"></a>
-<span class="sourceLineNo">984</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.984"></a>
-<span class="sourceLineNo">985</span> procedureLists.add(e.getValue());<a name="line.985"></a>
-<span class="sourceLineNo">986</span> }<a name="line.986"></a>
-<span class="sourceLineNo">987</span> return procedureLists;<a name="line.987"></a>
-<span class="sourceLineNo">988</span> }<a name="line.988"></a>
-<span class="sourceLineNo">989</span><a name="line.989"></a>
-<span class="sourceLineNo">990</span> // ==========================================================================<a name="line.990"></a>
-<span class="sourceLineNo">991</span> // Listeners helpers<a name="line.991"></a>
-<span class="sourceLineNo">992</span> // ==========================================================================<a name="line.992"></a>
-<span class="sourceLineNo">993</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.993"></a>
-<span class="sourceLineNo">994</span> this.listeners.add(listener);<a name="line.994"></a>
-<span class="sourceLineNo">995</span> }<a name="line.995"></a>
-<span class="sourceLineNo">996</span><a name="line.996"></a>
-<span class="sourceLineNo">997</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.997"></a>
-<span class="sourceLineNo">998</span> return this.listeners.remove(listener);<a name="line.998"></a>
-<span class="sourceLineNo">999</span> }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span><a name="line.1000"></a>
-<span class="sourceLineNo">1001</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> if (!this.listeners.isEmpty()) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> try {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> listener.procedureLoaded(procId);<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span> } catch (Throwable e) {<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> }<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> }<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span><a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span> if (!this.listeners.isEmpty()) {<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> try {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> listener.procedureAdded(procId);<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> } catch (Throwable e) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> }<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span> }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span><a name="line.1024"></a>
-<span class="sourceLineNo">1025</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span> if (!this.listeners.isEmpty()) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span> try {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span> listener.procedureFinished(procId);<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> } catch (Throwable e) {<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span> }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span> }<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span> }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span> // ==========================================================================<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span> // Procedure IDs helpers<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span> // ==========================================================================<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span> private long nextProcId() {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span> long procId = lastProcId.incrementAndGet();<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span> if (procId < 0) {<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span> procId = lastProcId.get();<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span> if (procId >= 0)<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span> break;<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span> }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span> while (procedures.containsKey(procId)) {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span> procId = lastProcId.incrementAndGet();<a name="line.1049"></a>
+<span class="sourceLineNo">834</span> // Update metrics on start of a procedure<a name="line.834"></a>
+<span class="sourceLineNo">835</span> proc.updateMetricsOnSubmit(getEnvironment());<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span> // Create the rollback stack for the procedure<a name="line.837"></a>
+<span class="sourceLineNo">838</span> RootProcedureState stack = new RootProcedureState();<a name="line.838"></a>
+<span class="sourceLineNo">839</span> rollbackStack.put(currentProcId, stack);<a name="line.839"></a>
+<span class="sourceLineNo">840</span><a name="line.840"></a>
+<span class="sourceLineNo">841</span> // Submit the new subprocedures<a name="line.841"></a>
+<span class="sourceLineNo">842</span> assert !procedures.containsKey(currentProcId);<a name="line.842"></a>
+<span class="sourceLineNo">843</span> procedures.put(currentProcId, proc);<a name="line.843"></a>
+<span class="sourceLineNo">844</span> sendProcedureAddedNotification(currentProcId);<a name="line.844"></a>
+<span class="sourceLineNo">845</span> scheduler.addBack(proc);<a name="line.845"></a>
+<span class="sourceLineNo">846</span> return proc.getProcId();<a name="line.846"></a>
+<span class="sourceLineNo">847</span> }<a name="line.847"></a>
+<span class="sourceLineNo">848</span><a name="line.848"></a>
+<span class="sourceLineNo">849</span> /**<a name="line.849"></a>
+<span class="sourceLineNo">850</span> * Send an abort notification the specified procedure.<a name="line.850"></a>
+<span class="sourceLineNo">851</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.851"></a>
+<span class="sourceLineNo">852</span> * @param procId the procedure to abort<a name="line.852"></a>
+<span class="sourceLineNo">853</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.853"></a>
+<span class="sourceLineNo">854</span> */<a name="line.854"></a>
+<span class="sourceLineNo">855</span> public boolean abort(final long procId) {<a name="line.855"></a>
+<span class="sourceLineNo">856</span> return abort(procId, true);<a name="line.856"></a>
+<span class="sourceLineNo">857</span> }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span> /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span> * Send an abort notification the specified procedure.<a name="line.860"></a>
+<span class="sourceLineNo">861</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.861"></a>
+<span class="sourceLineNo">862</span> * @param procId the procedure to abort<a name="line.862"></a>
+<span class="sourceLineNo">863</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.863"></a>
+<span class="sourceLineNo">864</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.864"></a>
+<span class="sourceLineNo">865</span> */<a name="line.865"></a>
+<span class="sourceLineNo">866</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.866"></a>
+<span class="sourceLineNo">867</span> final Procedure proc = procedures.get(procId);<a name="line.867"></a>
+<span class="sourceLineNo">868</span> if (proc != null) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.869"></a>
+<span class="sourceLineNo">870</span> return false;<a name="line.870"></a>
+<span class="sourceLineNo">871</span> }<a name="line.871"></a>
+<span class="sourceLineNo">872</span> return proc.abort(getEnvironment());<a name="line.872"></a>
+<span class="sourceLineNo">873</span> }<a name="line.873"></a>
+<span class="sourceLineNo">874</span> return false;<a name="line.874"></a>
+<span class="sourceLineNo">875</span> }<a name="line.875"></a>
+<span class="sourceLineNo">876</span><a name="line.876"></a>
+<span class="sourceLineNo">877</span> // ==========================================================================<a name="line.877"></a>
+<span class="sourceLineNo">878</span> // Executor query helpers<a name="line.878"></a>
+<span class="sourceLineNo">879</span> // ==========================================================================<a name="line.879"></a>
+<span class="sourceLineNo">880</span> public Procedure getProcedure(final long procId) {<a name="line.880"></a>
+<span class="sourceLineNo">881</span> return procedures.get(procId);<a name="line.881"></a>
+<span class="sourceLineNo">882</span> }<a name="line.882"></a>
+<span class="sourceLineNo">883</span><a name="line.883"></a>
+<span class="sourceLineNo">884</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span> final Procedure proc = getProcedure(procId);<a name="line.885"></a>
+<span class="sourceLineNo">886</span> if (clazz.isInstance(proc)) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span> return (T)proc;<a name="line.887"></a>
+<span class="sourceLineNo">888</span> }<a name="line.888"></a>
+<span class="sourceLineNo">889</span> return null;<a name="line.889"></a>
+<span class="sourceLineNo">890</span> }<a name="line.890"></a>
+<span class="sourceLineNo">891</span><a name="line.891"></a>
+<span class="sourceLineNo">892</span> public ProcedureInfo getResult(final long procId) {<a name="line.892"></a>
+<span class="sourceLineNo">893</span> return completed.get(procId);<a name="line.893"></a>
+<span class="sourceLineNo">894</span> }<a name="line.894"></a>
+<span class="sourceLineNo">895</span><a name="line.895"></a>
+<span class="sourceLineNo">896</span> /**<a name="line.896"></a>
+<span class="sourceLineNo">897</span> * Return true if the procedure is finished.<a name="line.897"></a>
+<span class="sourceLineNo">898</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.898"></a>
+<span class="sourceLineNo">899</span> * Use getResult() to check the state or get the result data.<a name="line.899"></a>
+<span class="sourceLineNo">900</span> * @param procId the ID of the procedure to check<a name="line.900"></a>
+<span class="sourceLineNo">901</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.901"></a>
+<span class="sourceLineNo">902</span> */<a name="line.902"></a>
+<span class="sourceLineNo">903</span> public boolean isFinished(final long procId) {<a name="line.903"></a>
+<span class="sourceLineNo">904</span> return !procedures.containsKey(procId);<a name="line.904"></a>
+<span class="sourceLineNo">905</span> }<a name="line.905"></a>
+<span class="sourceLineNo">906</span><a name="line.906"></a>
+<span class="sourceLineNo">907</span> /**<a name="line.907"></a>
+<span class="sourceLineNo">908</span> * Return true if the procedure is started.<a name="line.908"></a>
+<span class="sourceLineNo">909</span> * @param procId the ID of the procedure to check<a name="line.909"></a>
+<span class="sourceLineNo">910</span> * @return true if the procedure execution is started, otherwise false.<a name="line.910"></a>
+<span class="sourceLineNo">911</span> */<a name="line.911"></a>
+<span class="sourceLineNo">912</span> public boolean isStarted(final long procId) {<a name="line.912"></a>
+<span class="sourceLineNo">913</span> final Procedure proc = procedures.get(procId);<a name="line.913"></a>
+<span class="sourceLineNo">914</span> if (proc == null) {<a name="line.914"></a>
+<span class="sourceLineNo">915</span> return completed.get(procId) != null;<a name="line.915"></a>
+<span class="sourceLineNo">916</span> }<a name="line.916"></a>
+<span class="sourceLineNo">917</span> return proc.wasExecuted();<a name="line.917"></a>
+<span class="sourceLineNo">918</span> }<a name="line.918"></a>
+<span class="sourceLineNo">919</span><a name="line.919"></a>
+<span class="sourceLineNo">920</span> /**<a name="line.920"></a>
+<span class="sourceLineNo">921</span> * Mark the specified completed procedure, as ready to remove.<a name="line.921"></a>
+<span class="sourceLineNo">922</span> * @param procId the ID of the procedure to remove<a name="line.922"></a>
+<span class="sourceLineNo">923</span> */<a name="line.923"></a>
+<span class="sourceLineNo">924</span> public void removeResult(final long procId) {<a name="line.924"></a>
+<span class="sourceLineNo">925</span> final ProcedureInfo result = completed.get(procId);<a name="line.925"></a>
+<span class="sourceLineNo">926</span> if (result == null) {<a name="line.926"></a>
+<span class="sourceLineNo">927</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.927"></a>
+<span class="sourceLineNo">928</span> if (LOG.isDebugEnabled()) {<a name="line.928"></a>
+<span class="sourceLineNo">929</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.929"></a>
+<span class="sourceLineNo">930</span> }<a name="line.930"></a>
+<span class="sourceLineNo">931</span> return;<a name="line.931"></a>
+<span class="sourceLineNo">932</span> }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.934"></a>
+<span class="sourceLineNo">935</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.935"></a>
+<span class="sourceLineNo">936</span> }<a name="line.936"></a>
+<span class="sourceLineNo">937</span><a name="line.937"></a>
+<span class="sourceLineNo">938</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.938"></a>
+<span class="sourceLineNo">939</span> ProcedureInfo result = completed.get(procId);<a name="line.939"></a>
+<span class="sourceLineNo">940</span> Procedure proc = null;<a name="line.940"></a>
+<span class="sourceLineNo">941</span> if (result == null) {<a name="line.941"></a>
+<span class="sourceLineNo">942</span> proc = procedures.get(procId);<a name="line.942"></a>
+<span class="sourceLineNo">943</span> if (proc == null) {<a name="line.943"></a>
+<span class="sourceLineNo">944</span> result = completed.get(procId);<a name="line.944"></a>
+<span class="sourceLineNo">945</span> }<a name="line.945"></a>
+<span class="sourceLineNo">946</span> }<a name="line.946"></a>
+<span class="sourceLineNo">947</span> return new Pair(result, proc);<a name="line.947"></a>
+<span class="sourceLineNo">948</span> }<a name="line.948"></a>
+<span class="sourceLineNo">949</span><a name="line.949"></a>
+<span class="sourceLineNo">950</span> /**<a name="line.950"></a>
+<span class="sourceLineNo">951</span> * Check if the user is this procedure's owner<a name="line.951"></a>
+<span class="sourceLineNo">952</span> * @param procId the target procedure<a name="line.952"></a>
+<span class="sourceLineNo">953</span> * @param user the user<a name="line.953"></a>
+<span class="sourceLineNo">954</span> * @return true if the user is the owner of the procedure,<a name="line.954"></a>
+<span class="sourceLineNo">955</span> * false otherwise or the owner is unknown.<a name="line.955"></a>
+<span class="sourceLineNo">956</span> */<a name="line.956"></a>
+<span class="sourceLineNo">957</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span> if (user == null) return false;<a name="line.958"></a>
+<span class="sourceLineNo">959</span><a name="line.959"></a>
+<span class="sourceLineNo">960</span> final Procedure proc = procedures.get(procId);<a name="line.960"></a>
+<span class="sourceLineNo">961</span> if (proc != null) {<a name="line.961"></a>
+<span class="sourceLineNo">962</span> return proc.getOwner().equals(user.getShortName());<a name="line.962"></a>
+<span class="sourceLineNo">963</span> }<a name="line.963"></a>
+<span class="sourceLineNo">964</span><a name="line.964"></a>
+<span class="sourceLineNo">965</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.965"></a>
+<span class="sourceLineNo">966</span> if (procInfo == null) {<a name="line.966"></a>
+<span class="sourceLineNo">967</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.967"></a>
+<span class="sourceLineNo">968</span> // At this time, we cannot check the owner of the procedure<a name="line.968"></a>
+<span class="sourceLineNo">969</span> return false;<a name="line.969"></a>
+<span class="sourceLineNo">970</span> }<a name="line.970"></a>
+<span class="sourceLineNo">971</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.971"></a>
+<span class="sourceLineNo">972</span> }<a name="line.972"></a>
+<span class="sourceLineNo">973</span><a name="line.973"></a>
+<span class="sourceLineNo">974</span> /**<a name="line.974"></a>
+<span class="sourceLineNo">975</span> * List procedures.<a name="line.975"></a>
+<span class="sourceLineNo">976</span> * @return the procedures in a list<a name="line.976"></a>
+<span class="sourceLineNo">977</span> */<a name="line.977"></a>
+<span class="sourceLineNo">978</span> public List<ProcedureInfo> listProcedures() {<a name="line.978"></a>
+<span class="sourceLineNo">979</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.979"></a>
+<span class="sourceLineNo">980</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.980"></a>
+<span class="sourceLineNo">981</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.981"></a>
+<span class="sourceLineNo">982</span> }<a name="line.982"></a>
+<span class="sourceLineNo">983</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.984"></a>
+<span class="sourceLineNo">985</span> // it could complete after we walk through procedures list and insert into<a name="line.985"></a>
+<span class="sourceLineNo">986</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.986"></a>
+<span class="sourceLineNo">987</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.987"></a>
+<span class="sourceLineNo">988</span> procedureLists.add(e.getValue());<a name="line.988"></a>
+<span class="sourceLineNo">989</span> }<a name="line.989"></a>
+<span class="sourceLineNo">990</span> return procedureLists;<a name="line.990"></a>
+<span class="sourceLineNo">991</span> }<a name="line.991"></a>
+<span class="sourceLineNo">992</span><a name="line.992"></a>
+<span class="sourceLineNo">993</span> // ==========================================================================<a name="line.993"></a>
+<span class="sourceLineNo">994</span> // Listeners helpers<a name="line.994"></a>
+<span class="sourceLineNo">995</span> // ==========================================================================<a name="line.995"></a>
+<span class="sourceLineNo">996</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.996"></a>
+<span class="sourceLineNo">997</span> this.listeners.add(listener);<a name="line.997"></a>
+<span class="sourceLineNo">998</span> }<a name="line.998"></a>
+<span class="sourceLineNo">999</span><a name="line.999"></a>
+<span class="sourceLineNo">1000</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span> return this.listeners.remove(listener);<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span> }<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span><a name="line.1003"></a>
+<span class="sourceLineNo">1004</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span> if (!this.listeners.isEmpty()) {<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span> try {<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span> listener.procedureLoaded(procId);<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span> } catch (Throwable e) {<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span> }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span> }<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span> }<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span><a name="line.1015"></a>
+<span class="sourceLineNo">1016</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span> if (!this.listeners.isEmpty()) {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span> try {<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span> listener.procedureAdded(procId);<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span> } catch (Throwable e) {<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span> }<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> }<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span> }<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span><a name="line.1027"></a>
+<span class="sourceLineNo">1028</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span> if (!this.listeners.isEmpty()) {<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span> try {<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span> listener.procedureFinished(procId);<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span> } catch (Throwable e) {<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span> }<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span> }<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span> }<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span><a name="line.1039"></a>
+<span class="sourceLineNo">1040</span> // ==========================================================================<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span> // Procedure IDs helpers<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span> // ==========================================================================<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span> private long nextProcId() {<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span> long procId = lastProcId.incrementAndGet();<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span> if (procId < 0) {<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span> procId = lastProcId.get();<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span> if (procId >= 0)<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span> break;<a name="line.1049"></a>
<span class="sourceLineNo">1050</span> }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span> }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span> return procId;<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span><a name="line.1055"></a>
-<span class="sourceLineNo">1056</span> @VisibleForTesting<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span> protected long getLastProcId() {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span> return lastProcId.get();<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span> }<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span><a name="line.1060"></a>
-<span class="sourceLineNo">1061</span> @VisibleForTesting<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span> public Set<Long> getActiveProcIds() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span> return procedures.keySet();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span> }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span><a name="line.1065"></a>
-<span class="sourceLineNo">1066</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span> }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span><a name="line.1069"></a>
-<span class="sourceLineNo">1070</span> // ==========================================================================<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span> // Executions<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span> // ==========================================================================<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span> private void executeProcedure(final Procedure proc) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span> if (rootProcId == null) {<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span> executeRollback(proc);<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span> return;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span> }<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span><a name="line.1080"></a>
-<span class="sourceLineNo">1081</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span> if (procStack == null) return;<a name="line.1082"></a>
+<span class="sourceLineNo">1051</span> while (procedures.containsKey(procId)) {<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span> procId = lastProcId.incrementAndGet();<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span> }<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span> return procId;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span> }<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span><a name="line.1058"></a>
+<span class="sourceLineNo">1059</span> @VisibleForTesting<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span> protected long getLastProcId() {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span> return lastProcId.get();<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span> }<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span> @VisibleForTesting<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span> public Set<Long> getActiveProcIds() {<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span> return procedures.keySet();<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span> }<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span><a name="line.1068"></a>
+<span class="sourceLineNo">1069</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span> }<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span><a name="line.1072"></a>
+<span class="sourceLineNo">1073</span> // ==========================================================================<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span> // Executions<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span> // ==========================================================================<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span> private void executeProcedure(final Procedure proc) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span> if (rootProcId == null) {<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span> executeRollback(proc);<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span> return;<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span> }<a name="line.1082"></a>
<span class="sourceLineNo">1083</span><a name="line.1083"></a>
-<span class="sourceLineNo">1084</span> do {<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span> // Try to acquire the execution<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span> if (!procStack.acquire(proc)) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span> if (procStack.setRollback()) {<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span> case LOCK_ACQUIRED:<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span> break;<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span> case LOCK_YIELD_WAIT:<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span> procStack.unsetRollback();<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span> scheduler.yield(proc);<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span> break;<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span> case LOCK_EVENT_WAIT:<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span> procStack.unsetRollback();<a name="line.1097"></a>
+<span class="sourceLineNo">1084</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span> if (procStack == null) return;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span><a name="line.1086"></a>
+<span class="sourceLineNo">1087</span> do {<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span> // Try to acquire the execution<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span> if (!procStack.acquire(proc)) {<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span> if (procStack.setRollback()) {<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span> case LOCK_ACQUIRED:<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span> break;<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span> case LOCK_YIELD_WAIT:<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span> procStack.unsetRollback();<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span> scheduler.yield(proc);<a name="line.1097"></a>
<span class="sourceLineNo">1098</span> break;<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span> default:<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span> throw new UnsupportedOperationException();<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> }<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span> } else {<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span> // if we can't rollback means that some child is still running.<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span> // the rollback will be executed after all the children are done.<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> if (!proc.wasExecuted()) {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> switch (executeRollback(proc)) {<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> case LOCK_ACQUIRED:<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> break;<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> case LOCK_YIELD_WAIT:<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span> scheduler.yield(proc);<a name="line.1111"></a>
+<span class="sourceLineNo">1099</span> case LOCK_EVENT_WAIT:<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span> procStack.unsetRollback();<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span> break;<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span> default:<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span> throw new UnsupportedOperationException();<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span> }<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span> } else {<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span> // if we can't rollback means that some child is still running.<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> // the rollback will be executed after all the children are done.<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> if (!proc.wasExecuted()) {<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> switch (executeRollback(proc)) {<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> case LOCK_ACQUIRED:<a name="line.1111"></a>
<span class="sourceLineNo">1112</span> break;<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> case LOCK_EVENT_WAIT:<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> break;<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> default:<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span> throw new UnsupportedOperationException();<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> }<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> }<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> }<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> break;<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span><a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> // Execute the procedure<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> switch (acquireLock(proc)) {<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> case LOCK_ACQUIRED:<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> execProcedure(procStack, proc);<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span> releaseLock(proc, false);<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> break;<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> case LOCK_YIELD_WAIT:<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> scheduler.yield(proc);<a name="line.1131"></a>
+<span class="sourceLineNo">1113</span> case LOCK_YIELD_WAIT:<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> scheduler.yield(proc);<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> break;<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> case LOCK_EVENT_WAIT:<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> break;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span> default:<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> throw new UnsupportedOperationException();<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> }<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> }<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> break;<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> }<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> // Execute the procedure<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> switch (acquireLock(proc)) {<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> case LOCK_ACQUIRED:<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span> execProcedure(procStack, proc);<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> releaseLock(proc, false);<a name="line.1131"></a>
<span class="sourceLineNo">1132</span> break;<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> case LOCK_EVENT_WAIT:<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> // someone will wake us up when the lock is available<a name="line.1134"></a>
+<span class="sourceLineNo">1133</span> case LOCK_YIELD_WAIT:<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> scheduler.yield(proc);<a name="line.1134"></a>
<span class="sourceLineNo">1135</span> break;<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> default:<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> throw new UnsupportedOperationException();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> procStack.release(proc);<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> // allows to kill the executor before something is stored to the wal.<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span> // useful to test the procedure recovery.<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (testing != null && !isRunning()) {<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> break;<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span> }<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> if (proc.isSuccess()) {<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> if (LOG.isDebugEnabled()) {<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> }<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> // Finalize the procedure state<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span> if (proc.getProcId() == rootProcId) {<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> procedureFinished(proc);<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> } else {<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> execCompletionCleanup(proc);<a name="line.1155"></a>
+<span class="sourceLineNo">1136</span> case LOCK_EVENT_WAIT:<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> // someone will wake us up when the lock is available<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> break;<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> default:<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> throw new UnsupportedOperationException();<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> }<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> procStack.release(proc);<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span><a name="line.1143"></a>
+<span class="sourceLineNo">1144</span> // allows to kill the executor before something is stored to the wal.<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> // useful to test the procedure recovery.<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> if (testing != null && !isRunning()) {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span> break;<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> }<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> if (proc.isSuccess()) {<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span> // update metrics on finishing the procedure<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> proc.updateMetricsOnFinish(getEnvironment(), proc.elapsedTime(), true);<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span><a name="line.1153"></a>
+<span class="sourceLineNo">1154</span> if (LOG.isDebugEnabled()) {<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1155"></a>
<span class="sourceLineNo">1156</span> }<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> break;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> } while (procStack.isFailed());<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span> }<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span><a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> private LockState acquireLock(final Procedure proc) {<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> final TEnvironment env = getEnvironment();<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> // hasLock() is used in conjunction with holdLock().<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> return LockState.LOCK_ACQUIRED;<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> }<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> return proc.doAcquireLock(env);<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> }<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> final TEnvironment env = getEnvironment();<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // for how the framework works, we know that we will always have the lock<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span> if (force || !proc.holdLock(env)) {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> proc.doReleaseLock(env);<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> }<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span> }<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span><a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> /**<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> * Execute the rollback of the full procedure stack.<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> * finished to user, and the result will be the fatal exception.<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> */<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> if (exception == null) {<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> exception = procStack.getException();<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span> rootProc.setFailure(exception);<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> store.update(rootProc);<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> }<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span><a name="line.1195"></a>
-<span class="sourceLineNo">1196</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span><a name="line.1198"></a>
-<span class="sourceLineNo">1199</span> int stackTail = subprocStack.size();<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> boolean reuseLock = false;<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> while (stackTail --> 0) {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span><a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> LockState lockState;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> // queue waiting for the lock availability<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span> return lockState;<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> }<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> lockState = executeRollback(proc);<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // If the next procedure is the same to this one<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> // we can avoid to lock/unlock each step<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span> if (!reuseLock) {<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> releaseLock(proc, false);<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> }<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span><a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // allows to kill the executor before something is stored to the wal.<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // useful to test the procedure recovery.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> if (abortRollback) {<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> return lockState;<a name="line.1226"></a>
+<span class="sourceLineNo">1157</span> // Finalize the procedure state<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> if (proc.getProcId() == rootProcId) {<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> procedureFinished(proc);<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> } else {<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> execCompletionCleanup(proc);<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span> }<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> break;<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> }<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> } while (procStack.isFailed());<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> }<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span><a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> private LockState acquireLock(final Procedure proc) {<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> final TEnvironment env = getEnvironment();<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> // hasLock() is used in conjunction with holdLock().<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> return LockState.LOCK_ACQUIRED;<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> }<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> return proc.doAcquireLock(env);<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> }<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span><a name="line.1178"></a>
+<span class="sourceLineNo">1179</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> final TEnvironment env = getEnvironment();<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> // for how the framework works, we know that we will always have the lock<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> if (force || !proc.holdLock(env)) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> proc.doReleaseLock(env);<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> }<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span> }<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span><a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> /**<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> * Execute the rollback of the full procedure stack.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> * finished to user, and the result will be the fatal exception.<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> */<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> if (exception == null) {<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> exception = procStack.getException();<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span> rootProc.setFailure(exception);<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> store.update(rootProc);<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span><a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> int stackTail = subprocStack.size();<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> boolean reuseLock = false;<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> while (stackTail --> 0) {<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span><a name="line.1209"></a>
+<span class="sourceLineNo">1210</span> LockState lockState;<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> // queue waiting for the lock availability<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> return lockState;<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> }<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span><a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> lockState = executeRollback(proc);<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span><a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> // If the next procedure is the same to this one<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> // we can avoid to lock/unlock each step<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> if (!reuseLock) {<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> releaseLock(proc, false);<a name="line.1226"></a>
<span class="sourceLineNo">1227</span> }<a name="line.1227"></a>
<span class="sourceLineNo">1228</span><a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> subprocStack.remove(stackTail);<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span><a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> // if the procedure is kind enough to pass the slot to someone else, yield<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span> if (proc.isYieldAfterExecutionStep(getEnvironment())) {<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> }<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span><a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> if (proc != rootProc) {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> execCompletionCleanup(proc);<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span> }<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span><a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> // Finalize the procedure state<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> LOG.info("Rolled back " + rootProc +<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> " exec-time=" + StringUtils.humanTimeDiff(rootProc.elapsedTime()));<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> procedureFinished(rootProc);<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> return LockState.LOCK_ACQUIRED;<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span> }<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> /**<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> * Execute the rollback of the procedure step.<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> * It updates the store with the new state (stack index)<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> * or will remove completly the procedure in case it is a child.<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> */<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span> private LockState executeRollback(final Procedure proc) {<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> try {<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> proc.doRollback(getEnvironment());<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> } catch (IOException e) {<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> if (LOG.isDebugEnabled()) {<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> LOG.debug("Roll back attempt failed for " + proc, e);<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> }<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> } catch (InterruptedException e) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> handleInterruptedException(proc, e);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span> } catch (Throwable e) {<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> // Catch NullPointerExceptions or similar errors...<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> LOG.fatal("CODE-BUG: Uncatched runtime exception for procedure: " + proc, e);<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> }<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span><a name="line.1268"></a>
-<span class="sourceLineNo">1269</span> // allows to kill the executor before something is stored to the wal.<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> // useful to test the procedure recovery.<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> if (testing != null && testing.shouldKillBeforeStoreUpdate()) {<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> LOG.debug("TESTING: Kill before store update");<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span> stop();<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> }<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> if (proc.removeStackIndex()) {<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> proc.setState(ProcedureState.ROLLEDBACK);<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span> if (proc.hasParent()) {<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> store.delete(proc.getProcId());<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> procedures.remove(proc.getProcId());<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> } else {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> final long[] childProcIds = rollbackStack.get(proc.getProcId()).getSubprocedureIds();<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> if (childProcIds != null) {<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span> store.delete(proc, childProcIds);<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> } else {<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> store.update(proc);<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> }<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> } else {<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span> store.update(proc);<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> }<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span><a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> return LockState.LOCK_ACQUIRED;<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span><a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> * Executes the specified procedure<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> * - calls the doExecute() of the procedure<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> * - if the procedure execution didn't fail (e.g. invalid user input)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> * - ...and returned subprocedures<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span> * - the subprocedures are initialized.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> * - the subprocedures are added to the store<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> * - the subprocedures are added to the runnable queue<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> * - the procedure is now in a WAITING state, waiting for the subprocedures to complete<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span> * - ...if there are no subprocedure<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> * - the procedure completed successfully<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> * - if there is a parent (WAITING)<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> * - the parent state will be set to RUNNABLE<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span> * - in case of failure<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> * - the store is updated with the new state<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> * - the executor (caller of this method) will start the rollback of the procedure<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> */<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span> private void execProcedure(final RootProcedureState procStack, final Procedure procedure) {<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> Preconditions.checkArgument(procedure.getState() == ProcedureState.RUNNABLE);<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span><a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> // Execute the procedure<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> boolean suspended = false;<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> boolean reExecute = false;<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> Procedure[] subprocs = null;<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> do {<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> reExecute = false;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> try {<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span> subprocs = procedure.doExecute(getEnvironment());<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (subprocs != null && subprocs.length == 0) {<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> subprocs = null;<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span> }<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> } catch (ProcedureSuspendedException e) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> suspended = true;<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> } catch (ProcedureYieldException e) {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> if (LOG.isTraceEnabled()) {<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> LOG.trace("Yield " + procedure + ": " + e.getMessage());<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span> }<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> scheduler.yield(procedure);<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> return;<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> } catch (InterruptedException e) {<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> handleInterruptedException(procedure, e);<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> scheduler.yield(procedure);<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span> return;<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> } catch (Throwable e) {<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // Catch NullPointerExceptions or similar errors...<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> String msg = "CODE-BUG: Uncaught runtime exception: " + procedure;<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> LOG.error(msg, e);<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> procedure.setFailure(new RemoteProcedureException(msg, e));<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span> }<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span><a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> if (!procedure.isFailed()) {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> if (subprocs != null) {<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span> if (subprocs.length == 1 && subprocs[0] == procedure) {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span> // quick-shortcut for a state machine like procedure<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> subprocs = null;<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> reExecute = true;<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> } else {
<TRUNCATED>
[28/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html
index 7b7fb58..ec84c50 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html
@@ -126,7 +126,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1720">ProcedureExecutor.StoppableThread</a>
+<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1731">ProcedureExecutor.StoppableThread</a>
extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></pre>
</li>
</ul>
@@ -237,7 +237,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?
<ul class="blockListLast">
<li class="blockList">
<h4>StoppableThread</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html#line.1721">StoppableThread</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ThreadGroup.html?is-external=true" title="class or interface in java.lang">ThreadGroup</a> group,
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html#line.1732">StoppableThread</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ThreadGroup.html?is-external=true" title="class or interface in java.lang">ThreadGroup</a> group,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</pre>
</li>
</ul>
@@ -255,7 +255,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?
<ul class="blockList">
<li class="blockList">
<h4>sendStopSignal</h4>
-<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html#line.1725">sendStopSignal</a>()</pre>
+<pre>public abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html#line.1736">sendStopSignal</a>()</pre>
</li>
</ul>
<a name="awaitTermination--">
@@ -264,7 +264,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?
<ul class="blockListLast">
<li class="blockList">
<h4>awaitTermination</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html#line.1727">awaitTermination</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html#line.1738">awaitTermination</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html
index 55bebbf..924cb85 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private final class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1612">ProcedureExecutor.TimeoutExecutorThread</a>
+<pre>private final class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1623">ProcedureExecutor.TimeoutExecutorThread</a>
extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.StoppableThread</a></pre>
</li>
</ul>
@@ -283,7 +283,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockListLast">
<li class="blockList">
<h4>queue</h4>
-<pre>private final <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/DelayQueue.html?is-external=true" title="class or interface in java.util.concurrent">DelayQueue</a><<a href="../../../../../org/apache/hadoop/hbase/procedure2/util/DelayedUtil.DelayedWithTimeout.html" title="interface in org.apache.hadoop.hbase.procedure2.util">DelayedUtil.DelayedWithTimeout</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1613">queue</a></pre>
+<pre>private final <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/DelayQueue.html?is-external=true" title="class or interface in java.util.concurrent">DelayQueue</a><<a href="../../../../../org/apache/hadoop/hbase/procedure2/util/DelayedUtil.DelayedWithTimeout.html" title="interface in org.apache.hadoop.hbase.procedure2.util">DelayedUtil.DelayedWithTimeout</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1624">queue</a></pre>
</li>
</ul>
</li>
@@ -300,7 +300,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockListLast">
<li class="blockList">
<h4>TimeoutExecutorThread</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1615">TimeoutExecutorThread</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ThreadGroup.html?is-external=true" title="class or interface in java.lang">ThreadGroup</a> group)</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1626">TimeoutExecutorThread</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ThreadGroup.html?is-external=true" title="class or interface in java.lang">ThreadGroup</a> group)</pre>
</li>
</ul>
</li>
@@ -317,7 +317,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>sendStopSignal</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1620">sendStopSignal</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1631">sendStopSignal</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html#sendStopSignal--">sendStopSignal</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.StoppableThread</a></code></dd>
@@ -330,7 +330,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>run</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1625">run</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1636">run</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code> in interface <code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
@@ -345,7 +345,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1650">add</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.InlineChore</a> chore)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1661">add</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.InlineChore</a> chore)</pre>
</li>
</ul>
<a name="add-org.apache.hadoop.hbase.procedure2.Procedure-">
@@ -354,7 +354,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1655">add</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> procedure)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1666">add</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> procedure)</pre>
</li>
</ul>
<a name="remove-org.apache.hadoop.hbase.procedure2.Procedure-">
@@ -363,7 +363,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1660">remove</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> procedure)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1671">remove</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> procedure)</pre>
</li>
</ul>
<a name="execInlineChore-org.apache.hadoop.hbase.procedure2.ProcedureExecutor.InlineChore-">
@@ -372,7 +372,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>execInlineChore</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1664">execInlineChore</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.InlineChore</a> chore)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1675">execInlineChore</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.InlineChore</a> chore)</pre>
</li>
</ul>
<a name="execDelayedProcedure-org.apache.hadoop.hbase.procedure2.ProcedureExecutor.DelayedProcedure-">
@@ -381,7 +381,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>execDelayedProcedure</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1669">execDelayedProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.DelayedProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.DelayedProcedure</a> delayed)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1680">execDelayedProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.DelayedProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.DelayedProcedure</a> delayed)</pre>
</li>
</ul>
<a name="executeInMemoryChore-org.apache.hadoop.hbase.procedure2.ProcedureInMemoryChore-">
@@ -390,7 +390,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>executeInMemoryChore</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1687">executeInMemoryChore</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureInMemoryChore.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureInMemoryChore</a> chore)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1698">executeInMemoryChore</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureInMemoryChore.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureInMemoryChore</a> chore)</pre>
</li>
</ul>
<a name="executeTimedoutProcedure-org.apache.hadoop.hbase.procedure2.Procedure-">
@@ -399,7 +399,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockListLast">
<li class="blockList">
<h4>executeTimedoutProcedure</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1700">executeTimedoutProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html#line.1711">executeTimedoutProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html
index e92db8c..ed88a9c 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private final class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1770">ProcedureExecutor.WorkerMonitor</a>
+<pre>private final class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1781">ProcedureExecutor.WorkerMonitor</a>
extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.InlineChore</a></pre>
</li>
</ul>
@@ -277,7 +277,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>WORKER_MONITOR_INTERVAL_CONF_KEY</h4>
-<pre>public static final <a href="http://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/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1771">WORKER_MONITOR_INTERVAL_CONF_KEY</a></pre>
+<pre>public static final <a href="http://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/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1782">WORKER_MONITOR_INTERVAL_CONF_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.procedure2.ProcedureExecutor.WorkerMonitor.WORKER_MONITOR_INTERVAL_CONF_KEY">Constant Field Values</a></dd>
@@ -290,7 +290,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_WORKER_MONITOR_INTERVAL</h4>
-<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1773">DEFAULT_WORKER_MONITOR_INTERVAL</a></pre>
+<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1784">DEFAULT_WORKER_MONITOR_INTERVAL</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.procedure2.ProcedureExecutor.WorkerMonitor.DEFAULT_WORKER_MONITOR_INTERVAL">Constant Field Values</a></dd>
@@ -303,7 +303,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>WORKER_STUCK_THRESHOLD_CONF_KEY</h4>
-<pre>public static final <a href="http://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/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1775">WORKER_STUCK_THRESHOLD_CONF_KEY</a></pre>
+<pre>public static final <a href="http://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/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1786">WORKER_STUCK_THRESHOLD_CONF_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.procedure2.ProcedureExecutor.WorkerMonitor.WORKER_STUCK_THRESHOLD_CONF_KEY">Constant Field Values</a></dd>
@@ -316,7 +316,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_WORKER_STUCK_THRESHOLD</h4>
-<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1777">DEFAULT_WORKER_STUCK_THRESHOLD</a></pre>
+<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1788">DEFAULT_WORKER_STUCK_THRESHOLD</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.procedure2.ProcedureExecutor.WorkerMonitor.DEFAULT_WORKER_STUCK_THRESHOLD">Constant Field Values</a></dd>
@@ -329,7 +329,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>WORKER_ADD_STUCK_PERCENTAGE_CONF_KEY</h4>
-<pre>public static final <a href="http://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/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1779">WORKER_ADD_STUCK_PERCENTAGE_CONF_KEY</a></pre>
+<pre>public static final <a href="http://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/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1790">WORKER_ADD_STUCK_PERCENTAGE_CONF_KEY</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.procedure2.ProcedureExecutor.WorkerMonitor.WORKER_ADD_STUCK_PERCENTAGE_CONF_KEY">Constant Field Values</a></dd>
@@ -342,7 +342,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_WORKER_ADD_STUCK_PERCENTAGE</h4>
-<pre>private static final float <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1781">DEFAULT_WORKER_ADD_STUCK_PERCENTAGE</a></pre>
+<pre>private static final float <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1792">DEFAULT_WORKER_ADD_STUCK_PERCENTAGE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.procedure2.ProcedureExecutor.WorkerMonitor.DEFAULT_WORKER_ADD_STUCK_PERCENTAGE">Constant Field Values</a></dd>
@@ -355,7 +355,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>addWorkerStuckPercentage</h4>
-<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1783">addWorkerStuckPercentage</a></pre>
+<pre>private float <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1794">addWorkerStuckPercentage</a></pre>
</li>
</ul>
<a name="timeoutInterval">
@@ -364,7 +364,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>timeoutInterval</h4>
-<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1784">timeoutInterval</a></pre>
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1795">timeoutInterval</a></pre>
</li>
</ul>
<a name="stuckThreshold">
@@ -373,7 +373,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockListLast">
<li class="blockList">
<h4>stuckThreshold</h4>
-<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1785">stuckThreshold</a></pre>
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1796">stuckThreshold</a></pre>
</li>
</ul>
</li>
@@ -390,7 +390,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockListLast">
<li class="blockList">
<h4>WorkerMonitor</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1787">WorkerMonitor</a>()</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1798">WorkerMonitor</a>()</pre>
</li>
</ul>
</li>
@@ -407,7 +407,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>run</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1792">run</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1803">run</a>()</pre>
</li>
</ul>
<a name="checkForStuckWorkers--">
@@ -416,7 +416,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>checkForStuckWorkers</h4>
-<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1800">checkForStuckWorkers</a>()</pre>
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1811">checkForStuckWorkers</a>()</pre>
</li>
</ul>
<a name="checkThreadCount-int-">
@@ -425,7 +425,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>checkThreadCount</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1816">checkThreadCount</a>(int stuckCount)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1827">checkThreadCount</a>(int stuckCount)</pre>
</li>
</ul>
<a name="refreshConfig--">
@@ -434,7 +434,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>refreshConfig</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1832">refreshConfig</a>()</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1843">refreshConfig</a>()</pre>
</li>
</ul>
<a name="getTimeoutInterval--">
@@ -443,7 +443,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockListLast">
<li class="blockList">
<h4>getTimeoutInterval</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1842">getTimeoutInterval</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html#line.1853">getTimeoutInterval</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html#getTimeoutInterval--">getTimeoutInterval</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.InlineChore</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html
index 559cec9..17788a6 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private final class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1559">ProcedureExecutor.WorkerThread</a>
+<pre>private final class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1570">ProcedureExecutor.WorkerThread</a>
extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.StoppableThread</a></pre>
</li>
</ul>
@@ -263,7 +263,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockListLast">
<li class="blockList">
<h4>executionStartTime</h4>
-<pre>private final <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html#line.1560">executionStartTime</a></pre>
+<pre>private final <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html#line.1571">executionStartTime</a></pre>
</li>
</ul>
</li>
@@ -280,7 +280,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockListLast">
<li class="blockList">
<h4>WorkerThread</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html#line.1562">WorkerThread</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ThreadGroup.html?is-external=true" title="class or interface in java.lang">ThreadGroup</a> group)</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html#line.1573">WorkerThread</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ThreadGroup.html?is-external=true" title="class or interface in java.lang">ThreadGroup</a> group)</pre>
</li>
</ul>
</li>
@@ -297,7 +297,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>sendStopSignal</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html#line.1567">sendStopSignal</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html#line.1578">sendStopSignal</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html#sendStopSignal--">sendStopSignal</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.StoppableThread</a></code></dd>
@@ -310,7 +310,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>run</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html#line.1572">run</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html#line.1583">run</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code> in interface <code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
@@ -325,7 +325,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockList">
<li class="blockList">
<h4>getCurrentRunTime</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html#line.1599">getCurrentRunTime</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html#line.1610">getCurrentRunTime</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the time since the current procedure is running</dd>
@@ -338,7 +338,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExec
<ul class="blockListLast">
<li class="blockList">
<h4>keepAlive</h4>
-<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html#line.1603">keepAlive</a>(long lastUpdate)</pre>
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerThread.html#line.1614">keepAlive</a>(long lastUpdate)</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html
index 87e1cbb..75c29de 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html
@@ -1306,7 +1306,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>abort</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.852">abort</a>(long procId)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.855">abort</a>(long procId)</pre>
<div class="block">Send an abort notification the specified procedure.
Depending on the procedure implementation the abort can be considered or ignored.</div>
<dl>
@@ -1323,7 +1323,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>abort</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.863">abort</a>(long procId,
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.866">abort</a>(long procId,
boolean mayInterruptIfRunning)</pre>
<div class="block">Send an abort notification the specified procedure.
Depending on the procedure implementation the abort can be considered or ignored.</div>
@@ -1342,7 +1342,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>getProcedure</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.877">getProcedure</a>(long procId)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.880">getProcedure</a>(long procId)</pre>
</li>
</ul>
<a name="getProcedure-java.lang.Class-long-">
@@ -1351,7 +1351,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>getProcedure</h4>
-<pre>public <T extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>> T <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.881">getProcedure</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><T> clazz,
+<pre>public <T extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>> T <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.884">getProcedure</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><T> clazz,
long procId)</pre>
</li>
</ul>
@@ -1361,7 +1361,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>getResult</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.889">getResult</a>(long procId)</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.892">getResult</a>(long procId)</pre>
</li>
</ul>
<a name="isFinished-long-">
@@ -1370,7 +1370,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>isFinished</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.900">isFinished</a>(long procId)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.903">isFinished</a>(long procId)</pre>
<div class="block">Return true if the procedure is finished.
The state may be "completed successfully" or "failed and rolledback".
Use getResult() to check the state or get the result data.</div>
@@ -1388,7 +1388,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>isStarted</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.909">isStarted</a>(long procId)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.912">isStarted</a>(long procId)</pre>
<div class="block">Return true if the procedure is started.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -1404,7 +1404,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>removeResult</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.921">removeResult</a>(long procId)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.924">removeResult</a>(long procId)</pre>
<div class="block">Mark the specified completed procedure, as ready to remove.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -1418,7 +1418,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>getResultOrProcedure</h4>
-<pre>public <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/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.935">getResultOrProcedure</a>(long procId)</pre>
+<pre>public <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/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.938">getResultOrProcedure</a>(long procId)</pre>
</li>
</ul>
<a name="isProcedureOwner-long-org.apache.hadoop.hbase.security.User-">
@@ -1427,7 +1427,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>isProcedureOwner</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.954">isProcedureOwner</a>(long procId,
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.957">isProcedureOwner</a>(long procId,
<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> user)</pre>
<div class="block">Check if the user is this procedure's owner</div>
<dl>
@@ -1446,7 +1446,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>listProcedures</h4>
-<pre>public <a href="http://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/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.975">listProcedures</a>()</pre>
+<pre>public <a href="http://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/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.978">listProcedures</a>()</pre>
<div class="block">List procedures.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -1460,7 +1460,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>registerListener</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.993">registerListener</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureExecutorListener.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.ProcedureExecutorListener</a> listener)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.996">registerListener</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureExecutorListener.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.ProcedureExecutorListener</a> listener)</pre>
</li>
</ul>
<a name="unregisterListener-org.apache.hadoop.hbase.procedure2.ProcedureExecutor.ProcedureExecutorListener-">
@@ -1469,7 +1469,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>unregisterListener</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.997">unregisterListener</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureExecutorListener.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.ProcedureExecutorListener</a> listener)</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1000">unregisterListener</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.ProcedureExecutorListener.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureExecutor.ProcedureExecutorListener</a> listener)</pre>
</li>
</ul>
<a name="sendProcedureLoadedNotification-long-">
@@ -1478,7 +1478,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>sendProcedureLoadedNotification</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1001">sendProcedureLoadedNotification</a>(long procId)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1004">sendProcedureLoadedNotification</a>(long procId)</pre>
</li>
</ul>
<a name="sendProcedureAddedNotification-long-">
@@ -1487,7 +1487,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>sendProcedureAddedNotification</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1013">sendProcedureAddedNotification</a>(long procId)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1016">sendProcedureAddedNotification</a>(long procId)</pre>
</li>
</ul>
<a name="sendProcedureFinishedNotification-long-">
@@ -1496,7 +1496,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>sendProcedureFinishedNotification</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1025">sendProcedureFinishedNotification</a>(long procId)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1028">sendProcedureFinishedNotification</a>(long procId)</pre>
</li>
</ul>
<a name="nextProcId--">
@@ -1505,7 +1505,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>nextProcId</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1040">nextProcId</a>()</pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1043">nextProcId</a>()</pre>
</li>
</ul>
<a name="getLastProcId--">
@@ -1514,7 +1514,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>getLastProcId</h4>
-<pre>protected long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1057">getLastProcId</a>()</pre>
+<pre>protected long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1060">getLastProcId</a>()</pre>
</li>
</ul>
<a name="getActiveProcIds--">
@@ -1523,7 +1523,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>getActiveProcIds</h4>
-<pre>public <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="http://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/procedure2/ProcedureExecutor.html#line.1062">getActiveProcIds</a>()</pre>
+<pre>public <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="http://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/procedure2/ProcedureExecutor.html#line.1065">getActiveProcIds</a>()</pre>
</li>
</ul>
<a name="getRootProcedureId-org.apache.hadoop.hbase.procedure2.Procedure-">
@@ -1532,7 +1532,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>getRootProcedureId</h4>
-<pre>private <a href="http://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/procedure2/ProcedureExecutor.html#line.1066">getRootProcedureId</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
+<pre>private <a href="http://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/procedure2/ProcedureExecutor.html#line.1069">getRootProcedureId</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
</li>
</ul>
<a name="executeProcedure-org.apache.hadoop.hbase.procedure2.Procedure-">
@@ -1541,7 +1541,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>executeProcedure</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1073">executeProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1076">executeProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
</li>
</ul>
<a name="acquireLock-org.apache.hadoop.hbase.procedure2.Procedure-">
@@ -1550,7 +1550,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>acquireLock</h4>
-<pre>private <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/procedure2/ProcedureExecutor.html#line.1162">acquireLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
+<pre>private <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/procedure2/ProcedureExecutor.html#line.1168">acquireLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
</li>
</ul>
<a name="releaseLock-org.apache.hadoop.hbase.procedure2.Procedure-boolean-">
@@ -1559,7 +1559,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>releaseLock</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1173">releaseLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1179">releaseLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc,
boolean force)</pre>
</li>
</ul>
@@ -1569,7 +1569,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>executeRollback</h4>
-<pre>private <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/procedure2/ProcedureExecutor.html#line.1187">executeRollback</a>(long rootProcId,
+<pre>private <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/procedure2/ProcedureExecutor.html#line.1193">executeRollback</a>(long rootProcId,
<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a> procStack)</pre>
<div class="block">Execute the rollback of the full procedure stack.
Once the procedure is rolledback, the root-procedure will be visible as
@@ -1582,7 +1582,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>executeRollback</h4>
-<pre>private <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/procedure2/ProcedureExecutor.html#line.1253">executeRollback</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
+<pre>private <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/procedure2/ProcedureExecutor.html#line.1259">executeRollback</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
<div class="block">Execute the rollback of the procedure step.
It updates the store with the new state (stack index)
or will remove completly the procedure in case it is a child.</div>
@@ -1594,7 +1594,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>execProcedure</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1314">execProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a> procStack,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1324">execProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a> procStack,
<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> procedure)</pre>
<div class="block">Executes the specified procedure
- calls the doExecute() of the procedure
@@ -1619,7 +1619,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>initializeChildren</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1408">initializeChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a> procStack,
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1418">initializeChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a> procStack,
<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> procedure,
<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>[] subprocs)</pre>
</li>
@@ -1630,7 +1630,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>submitChildrenProcedures</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1444">submitChildrenProcedures</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>[] subprocs)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1454">submitChildrenProcedures</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>[] subprocs)</pre>
</li>
</ul>
<a name="countDownChildren-org.apache.hadoop.hbase.procedure2.RootProcedureState-org.apache.hadoop.hbase.procedure2.Procedure-">
@@ -1639,7 +1639,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>countDownChildren</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1453">countDownChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a> procStack,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1464">countDownChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a> procStack,
<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> procedure)</pre>
</li>
</ul>
@@ -1649,7 +1649,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>updateStoreOnExec</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1477">updateStoreOnExec</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a> procStack,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1488">updateStoreOnExec</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a> procStack,
<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> procedure,
<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>[] subprocs)</pre>
</li>
@@ -1660,7 +1660,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>handleInterruptedException</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1505">handleInterruptedException</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1516">handleInterruptedException</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a> e)</pre>
</li>
</ul>
@@ -1670,7 +1670,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>execCompletionCleanup</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1517">execCompletionCleanup</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1528">execCompletionCleanup</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
</li>
</ul>
<a name="procedureFinished-org.apache.hadoop.hbase.procedure2.Procedure-">
@@ -1679,7 +1679,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockListLast">
<li class="blockList">
<h4>procedureFinished</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1530">procedureFinished</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1541">procedureFinished</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureInMemoryChore.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureInMemoryChore.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureInMemoryChore.html
index a2df950..20481ff 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureInMemoryChore.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureInMemoryChore.html
@@ -243,7 +243,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a hre
f="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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 hr
ef="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../org/apache/hadoop/hbase/proc
edure2/Procedure.html#getState--">getState</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-TEnvironment-">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#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#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/ha
doop/hbase/procedure2/Procedure.html#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</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#setLastUpda
te-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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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-">t
oStringClassDetails</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#toStringState-java.lang.StringBuilder-">toStringState</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a hre
f="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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 hr
ef="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</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#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/P
rocedure.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-TEnvironment-">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#haveSamePar
ent-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#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#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/a
pache/hadoop/hbase/procedure2/Procedure.html#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</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#set
LastUpdate-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-">setStackInd
exes</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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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.S
tringBuilder-">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#toStringState-java.lang.StringBuilder-">toStringState</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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
[02/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html
index a3ba133..9e2d08d 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html
@@ -27,180 +27,179 @@
<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.procedure2;<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.util.ArrayList;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.commons.logging.Log;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.commons.logging.LogFactory;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.fs.FileSystem;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.fs.Path;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HBaseCommonTestingUtility;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.junit.After;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.junit.Before;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.junit.Test;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.junit.experimental.categories.Category;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>import static org.junit.Assert.assertEquals;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import static org.junit.Assert.assertTrue;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>@Category({MasterTests.class, SmallTests.class})<a name="line.43"></a>
-<span class="sourceLineNo">044</span>public class TestStateMachineProcedure {<a name="line.44"></a>
-<span class="sourceLineNo">045</span> private static final Log LOG = LogFactory.getLog(TestStateMachineProcedure.class);<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span> private static final Exception TEST_FAILURE_EXCEPTION = new Exception("test failure") {<a name="line.47"></a>
-<span class="sourceLineNo">048</span> @Override<a name="line.48"></a>
-<span class="sourceLineNo">049</span> public boolean equals(final Object other) {<a name="line.49"></a>
-<span class="sourceLineNo">050</span> if (this == other) return true;<a name="line.50"></a>
-<span class="sourceLineNo">051</span> if (!(other instanceof Exception)) return false;<a name="line.51"></a>
-<span class="sourceLineNo">052</span> // we are going to serialize the exception in the test,<a name="line.52"></a>
-<span class="sourceLineNo">053</span> // so the instance comparison will not match<a name="line.53"></a>
-<span class="sourceLineNo">054</span> return getMessage().equals(((Exception)other).getMessage());<a name="line.54"></a>
-<span class="sourceLineNo">055</span> }<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span> @Override<a name="line.57"></a>
-<span class="sourceLineNo">058</span> public int hashCode() {<a name="line.58"></a>
-<span class="sourceLineNo">059</span> return getMessage().hashCode();<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><a name="line.62"></a>
-<span class="sourceLineNo">063</span> private static final int PROCEDURE_EXECUTOR_SLOTS = 1;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span> private ProcedureExecutor<TestProcEnv> procExecutor;<a name="line.65"></a>
-<span class="sourceLineNo">066</span> private ProcedureStore procStore;<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span> private HBaseCommonTestingUtility htu;<a name="line.68"></a>
-<span class="sourceLineNo">069</span> private FileSystem fs;<a name="line.69"></a>
-<span class="sourceLineNo">070</span> private Path testDir;<a name="line.70"></a>
-<span class="sourceLineNo">071</span> private Path logDir;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span> @Before<a name="line.73"></a>
-<span class="sourceLineNo">074</span> public void setUp() throws IOException {<a name="line.74"></a>
-<span class="sourceLineNo">075</span> htu = new HBaseCommonTestingUtility();<a name="line.75"></a>
-<span class="sourceLineNo">076</span> testDir = htu.getDataTestDir();<a name="line.76"></a>
-<span class="sourceLineNo">077</span> fs = testDir.getFileSystem(htu.getConfiguration());<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span> logDir = new Path(testDir, "proc-logs");<a name="line.79"></a>
-<span class="sourceLineNo">080</span> procStore = ProcedureTestingUtility.createWalStore(htu.getConfiguration(), fs, logDir);<a name="line.80"></a>
-<span class="sourceLineNo">081</span> procExecutor = new ProcedureExecutor(htu.getConfiguration(), new TestProcEnv(), procStore);<a name="line.81"></a>
-<span class="sourceLineNo">082</span> procStore.start(PROCEDURE_EXECUTOR_SLOTS);<a name="line.82"></a>
-<span class="sourceLineNo">083</span> procExecutor.start(PROCEDURE_EXECUTOR_SLOTS, true);<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> @After<a name="line.86"></a>
-<span class="sourceLineNo">087</span> public void tearDown() throws IOException {<a name="line.87"></a>
-<span class="sourceLineNo">088</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, false);<a name="line.88"></a>
-<span class="sourceLineNo">089</span> assertTrue("expected executor to be running", procExecutor.isRunning());<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span> procExecutor.stop();<a name="line.91"></a>
-<span class="sourceLineNo">092</span> procStore.stop(false);<a name="line.92"></a>
-<span class="sourceLineNo">093</span> fs.delete(logDir, true);<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> @Test<a name="line.96"></a>
-<span class="sourceLineNo">097</span> public void testChildOnLastStep() {<a name="line.97"></a>
-<span class="sourceLineNo">098</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.98"></a>
-<span class="sourceLineNo">099</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.99"></a>
-<span class="sourceLineNo">100</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.100"></a>
-<span class="sourceLineNo">101</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.101"></a>
-<span class="sourceLineNo">102</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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> @Test<a name="line.105"></a>
-<span class="sourceLineNo">106</span> public void testChildOnLastStepDoubleExecution() throws Exception {<a name="line.106"></a>
-<span class="sourceLineNo">107</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.107"></a>
-<span class="sourceLineNo">108</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.108"></a>
-<span class="sourceLineNo">109</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId);<a name="line.109"></a>
-<span class="sourceLineNo">110</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.110"></a>
-<span class="sourceLineNo">111</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.111"></a>
-<span class="sourceLineNo">112</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<a name="line.112"></a>
-<span class="sourceLineNo">113</span> }<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span> @Test<a name="line.115"></a>
-<span class="sourceLineNo">116</span> public void testChildOnLastStepWithRollback() {<a name="line.116"></a>
-<span class="sourceLineNo">117</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.118"></a>
-<span class="sourceLineNo">119</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.119"></a>
-<span class="sourceLineNo">120</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.120"></a>
-<span class="sourceLineNo">121</span> assertEquals(3, procExecutor.getEnvironment().rollbackCount.get());<a name="line.121"></a>
-<span class="sourceLineNo">122</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.122"></a>
-<span class="sourceLineNo">123</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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 testChildOnLastStepWithRollbackDoubleExecution() throws Exception {<a name="line.127"></a>
-<span class="sourceLineNo">128</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.128"></a>
-<span class="sourceLineNo">129</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.129"></a>
-<span class="sourceLineNo">130</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.130"></a>
-<span class="sourceLineNo">131</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId, true);<a name="line.131"></a>
-<span class="sourceLineNo">132</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.132"></a>
-<span class="sourceLineNo">133</span> assertEquals(6, procExecutor.getEnvironment().rollbackCount.get());<a name="line.133"></a>
-<span class="sourceLineNo">134</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.134"></a>
-<span class="sourceLineNo">135</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<a name="line.135"></a>
-<span class="sourceLineNo">136</span> }<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span> public enum TestSMProcedureState { STEP_1, STEP_2 };<a name="line.138"></a>
-<span class="sourceLineNo">139</span> public static class TestSMProcedure<a name="line.139"></a>
-<span class="sourceLineNo">140</span> extends StateMachineProcedure<TestProcEnv, TestSMProcedureState> {<a name="line.140"></a>
-<span class="sourceLineNo">141</span> protected Flow executeFromState(TestProcEnv env, TestSMProcedureState state) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span> LOG.info("EXEC " + state + " " + this);<a name="line.142"></a>
-<span class="sourceLineNo">143</span> env.execCount.incrementAndGet();<a name="line.143"></a>
-<span class="sourceLineNo">144</span> switch (state) {<a name="line.144"></a>
-<span class="sourceLineNo">145</span> case STEP_1:<a name="line.145"></a>
-<span class="sourceLineNo">146</span> setNextState(TestSMProcedureState.STEP_2);<a name="line.146"></a>
-<span class="sourceLineNo">147</span> break;<a name="line.147"></a>
-<span class="sourceLineNo">148</span> case STEP_2:<a name="line.148"></a>
-<span class="sourceLineNo">149</span> addChildProcedure(new SimpleChildProcedure());<a name="line.149"></a>
-<span class="sourceLineNo">150</span> return Flow.NO_MORE_STATE;<a name="line.150"></a>
-<span class="sourceLineNo">151</span> }<a name="line.151"></a>
-<span class="sourceLineNo">152</span> return Flow.HAS_MORE_STATE;<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> protected void rollbackState(TestProcEnv env, TestSMProcedureState state) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> LOG.info("ROLLBACK " + state + " " + this);<a name="line.156"></a>
-<span class="sourceLineNo">157</span> env.rollbackCount.incrementAndGet();<a name="line.157"></a>
-<span class="sourceLineNo">158</span> }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span> protected TestSMProcedureState getState(int stateId) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> return TestSMProcedureState.values()[stateId];<a name="line.161"></a>
-<span class="sourceLineNo">162</span> }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span> protected int getStateId(TestSMProcedureState state) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span> return state.ordinal();<a name="line.165"></a>
-<span class="sourceLineNo">166</span> }<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span> protected TestSMProcedureState getInitialState() {<a name="line.168"></a>
-<span class="sourceLineNo">169</span> return TestSMProcedureState.STEP_1;<a name="line.169"></a>
-<span class="sourceLineNo">170</span> }<a name="line.170"></a>
-<span class="sourceLineNo">171</span> }<a name="line.171"></a>
-<span class="sourceLineNo">172</span><a name="line.172"></a>
-<span class="sourceLineNo">173</span> public static class SimpleChildProcedure extends NoopProcedure<TestProcEnv> {<a name="line.173"></a>
-<span class="sourceLineNo">174</span> protected Procedure[] execute(TestProcEnv env) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span> LOG.info("EXEC " + this);<a name="line.175"></a>
-<span class="sourceLineNo">176</span> env.execCount.incrementAndGet();<a name="line.176"></a>
-<span class="sourceLineNo">177</span> if (env.triggerChildRollback) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> setFailure("test-failure", TEST_FAILURE_EXCEPTION);<a name="line.178"></a>
-<span class="sourceLineNo">179</span> }<a name="line.179"></a>
-<span class="sourceLineNo">180</span> return null;<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> @Override<a name="line.183"></a>
-<span class="sourceLineNo">184</span> protected void rollback(TestProcEnv env) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span> LOG.info("ROLLBACK " + this);<a name="line.185"></a>
-<span class="sourceLineNo">186</span> env.rollbackCount.incrementAndGet();<a name="line.186"></a>
-<span class="sourceLineNo">187</span> }<a name="line.187"></a>
-<span class="sourceLineNo">188</span> }<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span> public class TestProcEnv {<a name="line.190"></a>
-<span class="sourceLineNo">191</span> AtomicInteger execCount = new AtomicInteger(0);<a name="line.191"></a>
-<span class="sourceLineNo">192</span> AtomicInteger rollbackCount = new AtomicInteger(0);<a name="line.192"></a>
-<span class="sourceLineNo">193</span> boolean triggerChildRollback = false;<a name="line.193"></a>
-<span class="sourceLineNo">194</span> }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>}<a name="line.195"></a>
+<span class="sourceLineNo">022</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.commons.logging.Log;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.commons.logging.LogFactory;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.fs.FileSystem;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.fs.Path;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.HBaseCommonTestingUtility;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.junit.After;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.junit.Before;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.junit.Test;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.junit.experimental.categories.Category;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>import static org.junit.Assert.assertEquals;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import static org.junit.Assert.assertTrue;<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>@Category({MasterTests.class, SmallTests.class})<a name="line.42"></a>
+<span class="sourceLineNo">043</span>public class TestStateMachineProcedure {<a name="line.43"></a>
+<span class="sourceLineNo">044</span> private static final Log LOG = LogFactory.getLog(TestStateMachineProcedure.class);<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span> private static final Exception TEST_FAILURE_EXCEPTION = new Exception("test failure") {<a name="line.46"></a>
+<span class="sourceLineNo">047</span> @Override<a name="line.47"></a>
+<span class="sourceLineNo">048</span> public boolean equals(final Object other) {<a name="line.48"></a>
+<span class="sourceLineNo">049</span> if (this == other) return true;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> if (!(other instanceof Exception)) return false;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> // we are going to serialize the exception in the test,<a name="line.51"></a>
+<span class="sourceLineNo">052</span> // so the instance comparison will not match<a name="line.52"></a>
+<span class="sourceLineNo">053</span> return getMessage().equals(((Exception)other).getMessage());<a name="line.53"></a>
+<span class="sourceLineNo">054</span> }<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span> @Override<a name="line.56"></a>
+<span class="sourceLineNo">057</span> public int hashCode() {<a name="line.57"></a>
+<span class="sourceLineNo">058</span> return getMessage().hashCode();<a name="line.58"></a>
+<span class="sourceLineNo">059</span> }<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> private static final int PROCEDURE_EXECUTOR_SLOTS = 1;<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span> private ProcedureExecutor<TestProcEnv> procExecutor;<a name="line.64"></a>
+<span class="sourceLineNo">065</span> private ProcedureStore procStore;<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span> private HBaseCommonTestingUtility htu;<a name="line.67"></a>
+<span class="sourceLineNo">068</span> private FileSystem fs;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> private Path testDir;<a name="line.69"></a>
+<span class="sourceLineNo">070</span> private Path logDir;<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span> @Before<a name="line.72"></a>
+<span class="sourceLineNo">073</span> public void setUp() throws IOException {<a name="line.73"></a>
+<span class="sourceLineNo">074</span> htu = new HBaseCommonTestingUtility();<a name="line.74"></a>
+<span class="sourceLineNo">075</span> testDir = htu.getDataTestDir();<a name="line.75"></a>
+<span class="sourceLineNo">076</span> fs = testDir.getFileSystem(htu.getConfiguration());<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span> logDir = new Path(testDir, "proc-logs");<a name="line.78"></a>
+<span class="sourceLineNo">079</span> procStore = ProcedureTestingUtility.createWalStore(htu.getConfiguration(), fs, logDir);<a name="line.79"></a>
+<span class="sourceLineNo">080</span> procExecutor = new ProcedureExecutor(htu.getConfiguration(), new TestProcEnv(), procStore);<a name="line.80"></a>
+<span class="sourceLineNo">081</span> procStore.start(PROCEDURE_EXECUTOR_SLOTS);<a name="line.81"></a>
+<span class="sourceLineNo">082</span> procExecutor.start(PROCEDURE_EXECUTOR_SLOTS, true);<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> @After<a name="line.85"></a>
+<span class="sourceLineNo">086</span> public void tearDown() throws IOException {<a name="line.86"></a>
+<span class="sourceLineNo">087</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, false);<a name="line.87"></a>
+<span class="sourceLineNo">088</span> assertTrue("expected executor to be running", procExecutor.isRunning());<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span> procExecutor.stop();<a name="line.90"></a>
+<span class="sourceLineNo">091</span> procStore.stop(false);<a name="line.91"></a>
+<span class="sourceLineNo">092</span> fs.delete(logDir, true);<a name="line.92"></a>
+<span class="sourceLineNo">093</span> }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span> @Test<a name="line.95"></a>
+<span class="sourceLineNo">096</span> public void testChildOnLastStep() {<a name="line.96"></a>
+<span class="sourceLineNo">097</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.97"></a>
+<span class="sourceLineNo">098</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.98"></a>
+<span class="sourceLineNo">099</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.99"></a>
+<span class="sourceLineNo">100</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.100"></a>
+<span class="sourceLineNo">101</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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> @Test<a name="line.104"></a>
+<span class="sourceLineNo">105</span> public void testChildOnLastStepDoubleExecution() throws Exception {<a name="line.105"></a>
+<span class="sourceLineNo">106</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.106"></a>
+<span class="sourceLineNo">107</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.107"></a>
+<span class="sourceLineNo">108</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId);<a name="line.108"></a>
+<span class="sourceLineNo">109</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.109"></a>
+<span class="sourceLineNo">110</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.110"></a>
+<span class="sourceLineNo">111</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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 testChildOnLastStepWithRollback() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.116"></a>
+<span class="sourceLineNo">117</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.117"></a>
+<span class="sourceLineNo">118</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.118"></a>
+<span class="sourceLineNo">119</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.119"></a>
+<span class="sourceLineNo">120</span> assertEquals(3, procExecutor.getEnvironment().rollbackCount.get());<a name="line.120"></a>
+<span class="sourceLineNo">121</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.121"></a>
+<span class="sourceLineNo">122</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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> @Test<a name="line.125"></a>
+<span class="sourceLineNo">126</span> public void testChildOnLastStepWithRollbackDoubleExecution() throws Exception {<a name="line.126"></a>
+<span class="sourceLineNo">127</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.127"></a>
+<span class="sourceLineNo">128</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.128"></a>
+<span class="sourceLineNo">129</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.129"></a>
+<span class="sourceLineNo">130</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId, true);<a name="line.130"></a>
+<span class="sourceLineNo">131</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.131"></a>
+<span class="sourceLineNo">132</span> assertEquals(6, procExecutor.getEnvironment().rollbackCount.get());<a name="line.132"></a>
+<span class="sourceLineNo">133</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.133"></a>
+<span class="sourceLineNo">134</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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> public enum TestSMProcedureState { STEP_1, STEP_2 };<a name="line.137"></a>
+<span class="sourceLineNo">138</span> public static class TestSMProcedure<a name="line.138"></a>
+<span class="sourceLineNo">139</span> extends StateMachineProcedure<TestProcEnv, TestSMProcedureState> {<a name="line.139"></a>
+<span class="sourceLineNo">140</span> protected Flow executeFromState(TestProcEnv env, TestSMProcedureState state) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span> LOG.info("EXEC " + state + " " + this);<a name="line.141"></a>
+<span class="sourceLineNo">142</span> env.execCount.incrementAndGet();<a name="line.142"></a>
+<span class="sourceLineNo">143</span> switch (state) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span> case STEP_1:<a name="line.144"></a>
+<span class="sourceLineNo">145</span> setNextState(TestSMProcedureState.STEP_2);<a name="line.145"></a>
+<span class="sourceLineNo">146</span> break;<a name="line.146"></a>
+<span class="sourceLineNo">147</span> case STEP_2:<a name="line.147"></a>
+<span class="sourceLineNo">148</span> addChildProcedure(new SimpleChildProcedure());<a name="line.148"></a>
+<span class="sourceLineNo">149</span> return Flow.NO_MORE_STATE;<a name="line.149"></a>
+<span class="sourceLineNo">150</span> }<a name="line.150"></a>
+<span class="sourceLineNo">151</span> return Flow.HAS_MORE_STATE;<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> protected void rollbackState(TestProcEnv env, TestSMProcedureState state) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span> LOG.info("ROLLBACK " + state + " " + this);<a name="line.155"></a>
+<span class="sourceLineNo">156</span> env.rollbackCount.incrementAndGet();<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> protected TestSMProcedureState getState(int stateId) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span> return TestSMProcedureState.values()[stateId];<a name="line.160"></a>
+<span class="sourceLineNo">161</span> }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span> protected int getStateId(TestSMProcedureState state) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span> return state.ordinal();<a name="line.164"></a>
+<span class="sourceLineNo">165</span> }<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span> protected TestSMProcedureState getInitialState() {<a name="line.167"></a>
+<span class="sourceLineNo">168</span> return TestSMProcedureState.STEP_1;<a name="line.168"></a>
+<span class="sourceLineNo">169</span> }<a name="line.169"></a>
+<span class="sourceLineNo">170</span> }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span> public static class SimpleChildProcedure extends NoopProcedure<TestProcEnv> {<a name="line.172"></a>
+<span class="sourceLineNo">173</span> protected Procedure[] execute(TestProcEnv env) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span> LOG.info("EXEC " + this);<a name="line.174"></a>
+<span class="sourceLineNo">175</span> env.execCount.incrementAndGet();<a name="line.175"></a>
+<span class="sourceLineNo">176</span> if (env.triggerChildRollback) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span> setFailure("test-failure", TEST_FAILURE_EXCEPTION);<a name="line.177"></a>
+<span class="sourceLineNo">178</span> }<a name="line.178"></a>
+<span class="sourceLineNo">179</span> return null;<a name="line.179"></a>
+<span class="sourceLineNo">180</span> }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span> @Override<a name="line.182"></a>
+<span class="sourceLineNo">183</span> protected void rollback(TestProcEnv env) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span> LOG.info("ROLLBACK " + this);<a name="line.184"></a>
+<span class="sourceLineNo">185</span> env.rollbackCount.incrementAndGet();<a name="line.185"></a>
+<span class="sourceLineNo">186</span> }<a name="line.186"></a>
+<span class="sourceLineNo">187</span> }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span> public class TestProcEnv {<a name="line.189"></a>
+<span class="sourceLineNo">190</span> AtomicInteger execCount = new AtomicInteger(0);<a name="line.190"></a>
+<span class="sourceLineNo">191</span> AtomicInteger rollbackCount = new AtomicInteger(0);<a name="line.191"></a>
+<span class="sourceLineNo">192</span> boolean triggerChildRollback = false;<a name="line.192"></a>
+<span class="sourceLineNo">193</span> }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>}<a name="line.194"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html
index a3ba133..9e2d08d 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html
@@ -27,180 +27,179 @@
<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.procedure2;<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.util.ArrayList;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.commons.logging.Log;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.commons.logging.LogFactory;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.fs.FileSystem;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.fs.Path;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HBaseCommonTestingUtility;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.junit.After;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.junit.Before;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.junit.Test;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.junit.experimental.categories.Category;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>import static org.junit.Assert.assertEquals;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import static org.junit.Assert.assertTrue;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>@Category({MasterTests.class, SmallTests.class})<a name="line.43"></a>
-<span class="sourceLineNo">044</span>public class TestStateMachineProcedure {<a name="line.44"></a>
-<span class="sourceLineNo">045</span> private static final Log LOG = LogFactory.getLog(TestStateMachineProcedure.class);<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span> private static final Exception TEST_FAILURE_EXCEPTION = new Exception("test failure") {<a name="line.47"></a>
-<span class="sourceLineNo">048</span> @Override<a name="line.48"></a>
-<span class="sourceLineNo">049</span> public boolean equals(final Object other) {<a name="line.49"></a>
-<span class="sourceLineNo">050</span> if (this == other) return true;<a name="line.50"></a>
-<span class="sourceLineNo">051</span> if (!(other instanceof Exception)) return false;<a name="line.51"></a>
-<span class="sourceLineNo">052</span> // we are going to serialize the exception in the test,<a name="line.52"></a>
-<span class="sourceLineNo">053</span> // so the instance comparison will not match<a name="line.53"></a>
-<span class="sourceLineNo">054</span> return getMessage().equals(((Exception)other).getMessage());<a name="line.54"></a>
-<span class="sourceLineNo">055</span> }<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span> @Override<a name="line.57"></a>
-<span class="sourceLineNo">058</span> public int hashCode() {<a name="line.58"></a>
-<span class="sourceLineNo">059</span> return getMessage().hashCode();<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><a name="line.62"></a>
-<span class="sourceLineNo">063</span> private static final int PROCEDURE_EXECUTOR_SLOTS = 1;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span> private ProcedureExecutor<TestProcEnv> procExecutor;<a name="line.65"></a>
-<span class="sourceLineNo">066</span> private ProcedureStore procStore;<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span> private HBaseCommonTestingUtility htu;<a name="line.68"></a>
-<span class="sourceLineNo">069</span> private FileSystem fs;<a name="line.69"></a>
-<span class="sourceLineNo">070</span> private Path testDir;<a name="line.70"></a>
-<span class="sourceLineNo">071</span> private Path logDir;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span> @Before<a name="line.73"></a>
-<span class="sourceLineNo">074</span> public void setUp() throws IOException {<a name="line.74"></a>
-<span class="sourceLineNo">075</span> htu = new HBaseCommonTestingUtility();<a name="line.75"></a>
-<span class="sourceLineNo">076</span> testDir = htu.getDataTestDir();<a name="line.76"></a>
-<span class="sourceLineNo">077</span> fs = testDir.getFileSystem(htu.getConfiguration());<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span> logDir = new Path(testDir, "proc-logs");<a name="line.79"></a>
-<span class="sourceLineNo">080</span> procStore = ProcedureTestingUtility.createWalStore(htu.getConfiguration(), fs, logDir);<a name="line.80"></a>
-<span class="sourceLineNo">081</span> procExecutor = new ProcedureExecutor(htu.getConfiguration(), new TestProcEnv(), procStore);<a name="line.81"></a>
-<span class="sourceLineNo">082</span> procStore.start(PROCEDURE_EXECUTOR_SLOTS);<a name="line.82"></a>
-<span class="sourceLineNo">083</span> procExecutor.start(PROCEDURE_EXECUTOR_SLOTS, true);<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> @After<a name="line.86"></a>
-<span class="sourceLineNo">087</span> public void tearDown() throws IOException {<a name="line.87"></a>
-<span class="sourceLineNo">088</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, false);<a name="line.88"></a>
-<span class="sourceLineNo">089</span> assertTrue("expected executor to be running", procExecutor.isRunning());<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span> procExecutor.stop();<a name="line.91"></a>
-<span class="sourceLineNo">092</span> procStore.stop(false);<a name="line.92"></a>
-<span class="sourceLineNo">093</span> fs.delete(logDir, true);<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> @Test<a name="line.96"></a>
-<span class="sourceLineNo">097</span> public void testChildOnLastStep() {<a name="line.97"></a>
-<span class="sourceLineNo">098</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.98"></a>
-<span class="sourceLineNo">099</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.99"></a>
-<span class="sourceLineNo">100</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.100"></a>
-<span class="sourceLineNo">101</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.101"></a>
-<span class="sourceLineNo">102</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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> @Test<a name="line.105"></a>
-<span class="sourceLineNo">106</span> public void testChildOnLastStepDoubleExecution() throws Exception {<a name="line.106"></a>
-<span class="sourceLineNo">107</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.107"></a>
-<span class="sourceLineNo">108</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.108"></a>
-<span class="sourceLineNo">109</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId);<a name="line.109"></a>
-<span class="sourceLineNo">110</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.110"></a>
-<span class="sourceLineNo">111</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.111"></a>
-<span class="sourceLineNo">112</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<a name="line.112"></a>
-<span class="sourceLineNo">113</span> }<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span> @Test<a name="line.115"></a>
-<span class="sourceLineNo">116</span> public void testChildOnLastStepWithRollback() {<a name="line.116"></a>
-<span class="sourceLineNo">117</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.118"></a>
-<span class="sourceLineNo">119</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.119"></a>
-<span class="sourceLineNo">120</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.120"></a>
-<span class="sourceLineNo">121</span> assertEquals(3, procExecutor.getEnvironment().rollbackCount.get());<a name="line.121"></a>
-<span class="sourceLineNo">122</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.122"></a>
-<span class="sourceLineNo">123</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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 testChildOnLastStepWithRollbackDoubleExecution() throws Exception {<a name="line.127"></a>
-<span class="sourceLineNo">128</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.128"></a>
-<span class="sourceLineNo">129</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.129"></a>
-<span class="sourceLineNo">130</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.130"></a>
-<span class="sourceLineNo">131</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId, true);<a name="line.131"></a>
-<span class="sourceLineNo">132</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.132"></a>
-<span class="sourceLineNo">133</span> assertEquals(6, procExecutor.getEnvironment().rollbackCount.get());<a name="line.133"></a>
-<span class="sourceLineNo">134</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.134"></a>
-<span class="sourceLineNo">135</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<a name="line.135"></a>
-<span class="sourceLineNo">136</span> }<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span> public enum TestSMProcedureState { STEP_1, STEP_2 };<a name="line.138"></a>
-<span class="sourceLineNo">139</span> public static class TestSMProcedure<a name="line.139"></a>
-<span class="sourceLineNo">140</span> extends StateMachineProcedure<TestProcEnv, TestSMProcedureState> {<a name="line.140"></a>
-<span class="sourceLineNo">141</span> protected Flow executeFromState(TestProcEnv env, TestSMProcedureState state) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span> LOG.info("EXEC " + state + " " + this);<a name="line.142"></a>
-<span class="sourceLineNo">143</span> env.execCount.incrementAndGet();<a name="line.143"></a>
-<span class="sourceLineNo">144</span> switch (state) {<a name="line.144"></a>
-<span class="sourceLineNo">145</span> case STEP_1:<a name="line.145"></a>
-<span class="sourceLineNo">146</span> setNextState(TestSMProcedureState.STEP_2);<a name="line.146"></a>
-<span class="sourceLineNo">147</span> break;<a name="line.147"></a>
-<span class="sourceLineNo">148</span> case STEP_2:<a name="line.148"></a>
-<span class="sourceLineNo">149</span> addChildProcedure(new SimpleChildProcedure());<a name="line.149"></a>
-<span class="sourceLineNo">150</span> return Flow.NO_MORE_STATE;<a name="line.150"></a>
-<span class="sourceLineNo">151</span> }<a name="line.151"></a>
-<span class="sourceLineNo">152</span> return Flow.HAS_MORE_STATE;<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> protected void rollbackState(TestProcEnv env, TestSMProcedureState state) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> LOG.info("ROLLBACK " + state + " " + this);<a name="line.156"></a>
-<span class="sourceLineNo">157</span> env.rollbackCount.incrementAndGet();<a name="line.157"></a>
-<span class="sourceLineNo">158</span> }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span> protected TestSMProcedureState getState(int stateId) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> return TestSMProcedureState.values()[stateId];<a name="line.161"></a>
-<span class="sourceLineNo">162</span> }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span> protected int getStateId(TestSMProcedureState state) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span> return state.ordinal();<a name="line.165"></a>
-<span class="sourceLineNo">166</span> }<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span> protected TestSMProcedureState getInitialState() {<a name="line.168"></a>
-<span class="sourceLineNo">169</span> return TestSMProcedureState.STEP_1;<a name="line.169"></a>
-<span class="sourceLineNo">170</span> }<a name="line.170"></a>
-<span class="sourceLineNo">171</span> }<a name="line.171"></a>
-<span class="sourceLineNo">172</span><a name="line.172"></a>
-<span class="sourceLineNo">173</span> public static class SimpleChildProcedure extends NoopProcedure<TestProcEnv> {<a name="line.173"></a>
-<span class="sourceLineNo">174</span> protected Procedure[] execute(TestProcEnv env) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span> LOG.info("EXEC " + this);<a name="line.175"></a>
-<span class="sourceLineNo">176</span> env.execCount.incrementAndGet();<a name="line.176"></a>
-<span class="sourceLineNo">177</span> if (env.triggerChildRollback) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> setFailure("test-failure", TEST_FAILURE_EXCEPTION);<a name="line.178"></a>
-<span class="sourceLineNo">179</span> }<a name="line.179"></a>
-<span class="sourceLineNo">180</span> return null;<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> @Override<a name="line.183"></a>
-<span class="sourceLineNo">184</span> protected void rollback(TestProcEnv env) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span> LOG.info("ROLLBACK " + this);<a name="line.185"></a>
-<span class="sourceLineNo">186</span> env.rollbackCount.incrementAndGet();<a name="line.186"></a>
-<span class="sourceLineNo">187</span> }<a name="line.187"></a>
-<span class="sourceLineNo">188</span> }<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span> public class TestProcEnv {<a name="line.190"></a>
-<span class="sourceLineNo">191</span> AtomicInteger execCount = new AtomicInteger(0);<a name="line.191"></a>
-<span class="sourceLineNo">192</span> AtomicInteger rollbackCount = new AtomicInteger(0);<a name="line.192"></a>
-<span class="sourceLineNo">193</span> boolean triggerChildRollback = false;<a name="line.193"></a>
-<span class="sourceLineNo">194</span> }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>}<a name="line.195"></a>
+<span class="sourceLineNo">022</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.commons.logging.Log;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.commons.logging.LogFactory;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.fs.FileSystem;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.fs.Path;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.HBaseCommonTestingUtility;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.junit.After;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.junit.Before;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.junit.Test;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.junit.experimental.categories.Category;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>import static org.junit.Assert.assertEquals;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import static org.junit.Assert.assertTrue;<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>@Category({MasterTests.class, SmallTests.class})<a name="line.42"></a>
+<span class="sourceLineNo">043</span>public class TestStateMachineProcedure {<a name="line.43"></a>
+<span class="sourceLineNo">044</span> private static final Log LOG = LogFactory.getLog(TestStateMachineProcedure.class);<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span> private static final Exception TEST_FAILURE_EXCEPTION = new Exception("test failure") {<a name="line.46"></a>
+<span class="sourceLineNo">047</span> @Override<a name="line.47"></a>
+<span class="sourceLineNo">048</span> public boolean equals(final Object other) {<a name="line.48"></a>
+<span class="sourceLineNo">049</span> if (this == other) return true;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> if (!(other instanceof Exception)) return false;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> // we are going to serialize the exception in the test,<a name="line.51"></a>
+<span class="sourceLineNo">052</span> // so the instance comparison will not match<a name="line.52"></a>
+<span class="sourceLineNo">053</span> return getMessage().equals(((Exception)other).getMessage());<a name="line.53"></a>
+<span class="sourceLineNo">054</span> }<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span> @Override<a name="line.56"></a>
+<span class="sourceLineNo">057</span> public int hashCode() {<a name="line.57"></a>
+<span class="sourceLineNo">058</span> return getMessage().hashCode();<a name="line.58"></a>
+<span class="sourceLineNo">059</span> }<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> private static final int PROCEDURE_EXECUTOR_SLOTS = 1;<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span> private ProcedureExecutor<TestProcEnv> procExecutor;<a name="line.64"></a>
+<span class="sourceLineNo">065</span> private ProcedureStore procStore;<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span> private HBaseCommonTestingUtility htu;<a name="line.67"></a>
+<span class="sourceLineNo">068</span> private FileSystem fs;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> private Path testDir;<a name="line.69"></a>
+<span class="sourceLineNo">070</span> private Path logDir;<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span> @Before<a name="line.72"></a>
+<span class="sourceLineNo">073</span> public void setUp() throws IOException {<a name="line.73"></a>
+<span class="sourceLineNo">074</span> htu = new HBaseCommonTestingUtility();<a name="line.74"></a>
+<span class="sourceLineNo">075</span> testDir = htu.getDataTestDir();<a name="line.75"></a>
+<span class="sourceLineNo">076</span> fs = testDir.getFileSystem(htu.getConfiguration());<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span> logDir = new Path(testDir, "proc-logs");<a name="line.78"></a>
+<span class="sourceLineNo">079</span> procStore = ProcedureTestingUtility.createWalStore(htu.getConfiguration(), fs, logDir);<a name="line.79"></a>
+<span class="sourceLineNo">080</span> procExecutor = new ProcedureExecutor(htu.getConfiguration(), new TestProcEnv(), procStore);<a name="line.80"></a>
+<span class="sourceLineNo">081</span> procStore.start(PROCEDURE_EXECUTOR_SLOTS);<a name="line.81"></a>
+<span class="sourceLineNo">082</span> procExecutor.start(PROCEDURE_EXECUTOR_SLOTS, true);<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> @After<a name="line.85"></a>
+<span class="sourceLineNo">086</span> public void tearDown() throws IOException {<a name="line.86"></a>
+<span class="sourceLineNo">087</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, false);<a name="line.87"></a>
+<span class="sourceLineNo">088</span> assertTrue("expected executor to be running", procExecutor.isRunning());<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span> procExecutor.stop();<a name="line.90"></a>
+<span class="sourceLineNo">091</span> procStore.stop(false);<a name="line.91"></a>
+<span class="sourceLineNo">092</span> fs.delete(logDir, true);<a name="line.92"></a>
+<span class="sourceLineNo">093</span> }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span> @Test<a name="line.95"></a>
+<span class="sourceLineNo">096</span> public void testChildOnLastStep() {<a name="line.96"></a>
+<span class="sourceLineNo">097</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.97"></a>
+<span class="sourceLineNo">098</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.98"></a>
+<span class="sourceLineNo">099</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.99"></a>
+<span class="sourceLineNo">100</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.100"></a>
+<span class="sourceLineNo">101</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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> @Test<a name="line.104"></a>
+<span class="sourceLineNo">105</span> public void testChildOnLastStepDoubleExecution() throws Exception {<a name="line.105"></a>
+<span class="sourceLineNo">106</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.106"></a>
+<span class="sourceLineNo">107</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.107"></a>
+<span class="sourceLineNo">108</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId);<a name="line.108"></a>
+<span class="sourceLineNo">109</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.109"></a>
+<span class="sourceLineNo">110</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.110"></a>
+<span class="sourceLineNo">111</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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 testChildOnLastStepWithRollback() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.116"></a>
+<span class="sourceLineNo">117</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.117"></a>
+<span class="sourceLineNo">118</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.118"></a>
+<span class="sourceLineNo">119</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.119"></a>
+<span class="sourceLineNo">120</span> assertEquals(3, procExecutor.getEnvironment().rollbackCount.get());<a name="line.120"></a>
+<span class="sourceLineNo">121</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.121"></a>
+<span class="sourceLineNo">122</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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> @Test<a name="line.125"></a>
+<span class="sourceLineNo">126</span> public void testChildOnLastStepWithRollbackDoubleExecution() throws Exception {<a name="line.126"></a>
+<span class="sourceLineNo">127</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.127"></a>
+<span class="sourceLineNo">128</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.128"></a>
+<span class="sourceLineNo">129</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.129"></a>
+<span class="sourceLineNo">130</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId, true);<a name="line.130"></a>
+<span class="sourceLineNo">131</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.131"></a>
+<span class="sourceLineNo">132</span> assertEquals(6, procExecutor.getEnvironment().rollbackCount.get());<a name="line.132"></a>
+<span class="sourceLineNo">133</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.133"></a>
+<span class="sourceLineNo">134</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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> public enum TestSMProcedureState { STEP_1, STEP_2 };<a name="line.137"></a>
+<span class="sourceLineNo">138</span> public static class TestSMProcedure<a name="line.138"></a>
+<span class="sourceLineNo">139</span> extends StateMachineProcedure<TestProcEnv, TestSMProcedureState> {<a name="line.139"></a>
+<span class="sourceLineNo">140</span> protected Flow executeFromState(TestProcEnv env, TestSMProcedureState state) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span> LOG.info("EXEC " + state + " " + this);<a name="line.141"></a>
+<span class="sourceLineNo">142</span> env.execCount.incrementAndGet();<a name="line.142"></a>
+<span class="sourceLineNo">143</span> switch (state) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span> case STEP_1:<a name="line.144"></a>
+<span class="sourceLineNo">145</span> setNextState(TestSMProcedureState.STEP_2);<a name="line.145"></a>
+<span class="sourceLineNo">146</span> break;<a name="line.146"></a>
+<span class="sourceLineNo">147</span> case STEP_2:<a name="line.147"></a>
+<span class="sourceLineNo">148</span> addChildProcedure(new SimpleChildProcedure());<a name="line.148"></a>
+<span class="sourceLineNo">149</span> return Flow.NO_MORE_STATE;<a name="line.149"></a>
+<span class="sourceLineNo">150</span> }<a name="line.150"></a>
+<span class="sourceLineNo">151</span> return Flow.HAS_MORE_STATE;<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> protected void rollbackState(TestProcEnv env, TestSMProcedureState state) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span> LOG.info("ROLLBACK " + state + " " + this);<a name="line.155"></a>
+<span class="sourceLineNo">156</span> env.rollbackCount.incrementAndGet();<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> protected TestSMProcedureState getState(int stateId) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span> return TestSMProcedureState.values()[stateId];<a name="line.160"></a>
+<span class="sourceLineNo">161</span> }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span> protected int getStateId(TestSMProcedureState state) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span> return state.ordinal();<a name="line.164"></a>
+<span class="sourceLineNo">165</span> }<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span> protected TestSMProcedureState getInitialState() {<a name="line.167"></a>
+<span class="sourceLineNo">168</span> return TestSMProcedureState.STEP_1;<a name="line.168"></a>
+<span class="sourceLineNo">169</span> }<a name="line.169"></a>
+<span class="sourceLineNo">170</span> }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span> public static class SimpleChildProcedure extends NoopProcedure<TestProcEnv> {<a name="line.172"></a>
+<span class="sourceLineNo">173</span> protected Procedure[] execute(TestProcEnv env) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span> LOG.info("EXEC " + this);<a name="line.174"></a>
+<span class="sourceLineNo">175</span> env.execCount.incrementAndGet();<a name="line.175"></a>
+<span class="sourceLineNo">176</span> if (env.triggerChildRollback) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span> setFailure("test-failure", TEST_FAILURE_EXCEPTION);<a name="line.177"></a>
+<span class="sourceLineNo">178</span> }<a name="line.178"></a>
+<span class="sourceLineNo">179</span> return null;<a name="line.179"></a>
+<span class="sourceLineNo">180</span> }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span> @Override<a name="line.182"></a>
+<span class="sourceLineNo">183</span> protected void rollback(TestProcEnv env) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span> LOG.info("ROLLBACK " + this);<a name="line.184"></a>
+<span class="sourceLineNo">185</span> env.rollbackCount.incrementAndGet();<a name="line.185"></a>
+<span class="sourceLineNo">186</span> }<a name="line.186"></a>
+<span class="sourceLineNo">187</span> }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span> public class TestProcEnv {<a name="line.189"></a>
+<span class="sourceLineNo">190</span> AtomicInteger execCount = new AtomicInteger(0);<a name="line.190"></a>
+<span class="sourceLineNo">191</span> AtomicInteger rollbackCount = new AtomicInteger(0);<a name="line.191"></a>
+<span class="sourceLineNo">192</span> boolean triggerChildRollback = false;<a name="line.192"></a>
+<span class="sourceLineNo">193</span> }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>}<a name="line.194"></a>
[34/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html b/devapidocs/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html
index d8d8121..554e99b 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html
@@ -177,7 +177,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignm
<!-- -->
</a>
<h3>Fields inherited from interface org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html" title="interface in org.apache.hadoop.hbase.master">MetricsAssignmentManagerSource</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#ASSIGN_TIME_NAME">ASSIGN_TIME_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#BULK_ASSIGN_TIME_NAME">BULK_ASSIGN_TIME_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#METRICS_CONTEXT">METRICS_CONTEXT</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#METRICS_DESCRIPTION">METRICS_DESCRIPTION</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#METRICS_JMX_CONTEXT">METRICS_JMX_CONTEXT</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#METRICS_NAME">METRICS_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_COUNT_NAME">RIT_COUNT_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssi
gnmentManagerSource.html#RIT_COUNT_OVER_THRESHOLD_NAME">RIT_COUNT_OVER_THRESHOLD_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_DURATION_NAME">RIT_DURATION_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_OLDEST_AGE_NAME">RIT_OLDEST_AGE_NAME</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#ASSIGN_TIME_NAME">ASSIGN_TIME_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#BULK_ASSIGN_TIME_NAME">BULK_ASSIGN_TIME_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#METRICS_CONTEXT">METRICS_CONTEXT</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#METRICS_DESCRIPTION">METRICS_DESCRIPTION</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#METRICS_JMX_CONTEXT">METRICS_JMX_CONTEXT</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#METRICS_NAME">METRICS_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_COUNT_DESC">RIT_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssi
gnmentManagerSource.html#RIT_COUNT_NAME">RIT_COUNT_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_COUNT_OVER_THRESHOLD_DESC">RIT_COUNT_OVER_THRESHOLD_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_COUNT_OVER_THRESHOLD_NAME">RIT_COUNT_OVER_THRESHOLD_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_DURATION_DESC">RIT_DURATION_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_DURATION_NAME">RIT_DURATION_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_OLDEST_AGE_DESC">RIT_OLDEST_AGE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_OLDEST_AGE_NAME">RIT_OLDEST_AGE_NAME</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.metrics.BaseSource">
@@ -409,7 +409,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignm
<ul class="blockList">
<li class="blockList">
<h4>updateAssignmentTime</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html#line.58">updateAssignmentTime</a>(long time)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html#line.59">updateAssignmentTime</a>(long time)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#updateAssignmentTime-long-">updateAssignmentTime</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html" title="interface in org.apache.hadoop.hbase.master">MetricsAssignmentManagerSource</a></code></dd>
@@ -422,7 +422,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignm
<ul class="blockList">
<li class="blockList">
<h4>updateBulkAssignTime</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html#line.63">updateBulkAssignTime</a>(long time)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html#line.64">updateBulkAssignTime</a>(long time)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#updateBulkAssignTime-long-">updateBulkAssignTime</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html" title="interface in org.apache.hadoop.hbase.master">MetricsAssignmentManagerSource</a></code></dd>
@@ -435,7 +435,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignm
<ul class="blockList">
<li class="blockList">
<h4>setRIT</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html#line.67">setRIT</a>(int ritCount)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html#line.68">setRIT</a>(int ritCount)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#setRIT-int-">MetricsAssignmentManagerSource</a></code></span></div>
<div class="block">Set the number of regions in transition.</div>
<dl>
@@ -452,7 +452,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignm
<ul class="blockList">
<li class="blockList">
<h4>setRITCountOverThreshold</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html#line.71">setRITCountOverThreshold</a>(int ritCount)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html#line.72">setRITCountOverThreshold</a>(int ritCount)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#setRITCountOverThreshold-int-">MetricsAssignmentManagerSource</a></code></span></div>
<div class="block">Set the count of the number of regions that have been in transition over the threshold time.</div>
<dl>
@@ -469,7 +469,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignm
<ul class="blockList">
<li class="blockList">
<h4>setRITOldestAge</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html#line.75">setRITOldestAge</a>(long ritCount)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html#line.76">setRITOldestAge</a>(long ritCount)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#setRITOldestAge-long-">MetricsAssignmentManagerSource</a></code></span></div>
<div class="block">Set the oldest region in transition.</div>
<dl>
@@ -486,7 +486,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignm
<ul class="blockListLast">
<li class="blockList">
<h4>updateRitDuration</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html#line.80">updateRitDuration</a>(long duration)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html#line.81">updateRitDuration</a>(long duration)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#updateRitDuration-long-">updateRitDuration</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html" title="interface in org.apache.hadoop.hbase.master">MetricsAssignmentManagerSource</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/locking/LockProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/locking/LockProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/locking/LockProcedure.html
index f3242e0..509fb6f 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/locking/LockProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/locking/LockProcedure.html
@@ -487,7 +487,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doR
eleaseLock</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#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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</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#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#incChildrenLatch--">incChildrenLatch</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#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#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</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-ja
va.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 hre
f="../../../../../../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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a hre
f="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringState-java.lang.StringBuilder-">toStringState</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#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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doR
eleaseLock</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#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#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#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#incChildrenLatch--">incChildrenLatch</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#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#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</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.S
tring-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-">setTim
eout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringState-java.lang.StringBuilder-">toStringState</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-TEnvironm
ent-">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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 de0dc6a..65c3919 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -322,11 +322,11 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.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/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>
<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/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>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineNamespaceProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineNamespaceProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineNamespaceProcedure.html
index 4cd39cc..af48a59 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineNamespaceProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineNamespaceProcedure.html
@@ -264,7 +264,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState<
/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-TEnvironment-">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.hb
ase.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#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#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="../../../../../../or
g/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/P
rocedure.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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#up
dateTimestamp--">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#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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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--">getSubmit
tedTime</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-TEnvironment-">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.h
adoop.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#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#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#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/proc
edure2/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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/P
rocedure.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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html
index b1b0629..f06f7b0 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html
@@ -298,7 +298,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState<
/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-TEnvironment-">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.hb
ase.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#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#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="../../../../../../or
g/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/P
rocedure.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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#up
dateTimestamp--">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#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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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--">getSubmit
tedTime</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-TEnvironment-">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.h
adoop.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#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#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#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/proc
edure2/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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/P
rocedure.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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html
index 952ca80..2a08fb8 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html
@@ -408,7 +408,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock
</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#getProcId--">g
etProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</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-TEnvironment-">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/had
oop/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#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#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#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoo
p/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#setStartTime-long-">setStartTime</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/hb
ase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">was
Executed</a></code></li>
+<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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock
</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#getProcId--">g
etProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</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-TEnvironment-">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/ap
ache/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#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#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#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apac
he/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/Procedu
re.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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#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/hado
op/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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
[18/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html
index a1495ff..0c11099 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.StoppableThread.html
@@ -839,1019 +839,1030 @@
<span class="sourceLineNo">831</span> private long pushProcedure(final Procedure proc) {<a name="line.831"></a>
<span class="sourceLineNo">832</span> final long currentProcId = proc.getProcId();<a name="line.832"></a>
<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span> // Create the rollback stack for the procedure<a name="line.834"></a>
-<span class="sourceLineNo">835</span> RootProcedureState stack = new RootProcedureState();<a name="line.835"></a>
-<span class="sourceLineNo">836</span> rollbackStack.put(currentProcId, stack);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span> // Submit the new subprocedures<a name="line.838"></a>
-<span class="sourceLineNo">839</span> assert !procedures.containsKey(currentProcId);<a name="line.839"></a>
-<span class="sourceLineNo">840</span> procedures.put(currentProcId, proc);<a name="line.840"></a>
-<span class="sourceLineNo">841</span> sendProcedureAddedNotification(currentProcId);<a name="line.841"></a>
-<span class="sourceLineNo">842</span> scheduler.addBack(proc);<a name="line.842"></a>
-<span class="sourceLineNo">843</span> return proc.getProcId();<a name="line.843"></a>
-<span class="sourceLineNo">844</span> }<a name="line.844"></a>
-<span class="sourceLineNo">845</span><a name="line.845"></a>
-<span class="sourceLineNo">846</span> /**<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * Send an abort notification the specified procedure.<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.848"></a>
-<span class="sourceLineNo">849</span> * @param procId the procedure to abort<a name="line.849"></a>
-<span class="sourceLineNo">850</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.850"></a>
-<span class="sourceLineNo">851</span> */<a name="line.851"></a>
-<span class="sourceLineNo">852</span> public boolean abort(final long procId) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span> return abort(procId, true);<a name="line.853"></a>
-<span class="sourceLineNo">854</span> }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span> /**<a name="line.856"></a>
-<span class="sourceLineNo">857</span> * Send an abort notification the specified procedure.<a name="line.857"></a>
-<span class="sourceLineNo">858</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.858"></a>
-<span class="sourceLineNo">859</span> * @param procId the procedure to abort<a name="line.859"></a>
-<span class="sourceLineNo">860</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.860"></a>
-<span class="sourceLineNo">861</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.861"></a>
-<span class="sourceLineNo">862</span> */<a name="line.862"></a>
-<span class="sourceLineNo">863</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.863"></a>
-<span class="sourceLineNo">864</span> final Procedure proc = procedures.get(procId);<a name="line.864"></a>
-<span class="sourceLineNo">865</span> if (proc != null) {<a name="line.865"></a>
-<span class="sourceLineNo">866</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.866"></a>
-<span class="sourceLineNo">867</span> return false;<a name="line.867"></a>
-<span class="sourceLineNo">868</span> }<a name="line.868"></a>
-<span class="sourceLineNo">869</span> return proc.abort(getEnvironment());<a name="line.869"></a>
-<span class="sourceLineNo">870</span> }<a name="line.870"></a>
-<span class="sourceLineNo">871</span> return false;<a name="line.871"></a>
-<span class="sourceLineNo">872</span> }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span> // ==========================================================================<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // Executor query helpers<a name="line.875"></a>
-<span class="sourceLineNo">876</span> // ==========================================================================<a name="line.876"></a>
-<span class="sourceLineNo">877</span> public Procedure getProcedure(final long procId) {<a name="line.877"></a>
-<span class="sourceLineNo">878</span> return procedures.get(procId);<a name="line.878"></a>
-<span class="sourceLineNo">879</span> }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span> final Procedure proc = getProcedure(procId);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> if (clazz.isInstance(proc)) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span> return (T)proc;<a name="line.884"></a>
-<span class="sourceLineNo">885</span> }<a name="line.885"></a>
-<span class="sourceLineNo">886</span> return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span> }<a name="line.887"></a>
-<span class="sourceLineNo">888</span><a name="line.888"></a>
-<span class="sourceLineNo">889</span> public ProcedureInfo getResult(final long procId) {<a name="line.889"></a>
-<span class="sourceLineNo">890</span> return completed.get(procId);<a name="line.890"></a>
-<span class="sourceLineNo">891</span> }<a name="line.891"></a>
-<span class="sourceLineNo">892</span><a name="line.892"></a>
-<span class="sourceLineNo">893</span> /**<a name="line.893"></a>
-<span class="sourceLineNo">894</span> * Return true if the procedure is finished.<a name="line.894"></a>
-<span class="sourceLineNo">895</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.895"></a>
-<span class="sourceLineNo">896</span> * Use getResult() to check the state or get the result data.<a name="line.896"></a>
-<span class="sourceLineNo">897</span> * @param procId the ID of the procedure to check<a name="line.897"></a>
-<span class="sourceLineNo">898</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.898"></a>
-<span class="sourceLineNo">899</span> */<a name="line.899"></a>
-<span class="sourceLineNo">900</span> public boolean isFinished(final long procId) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span> return !procedures.containsKey(procId);<a name="line.901"></a>
-<span class="sourceLineNo">902</span> }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span> /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span> * Return true if the procedure is started.<a name="line.905"></a>
-<span class="sourceLineNo">906</span> * @param procId the ID of the procedure to check<a name="line.906"></a>
-<span class="sourceLineNo">907</span> * @return true if the procedure execution is started, otherwise false.<a name="line.907"></a>
-<span class="sourceLineNo">908</span> */<a name="line.908"></a>
-<span class="sourceLineNo">909</span> public boolean isStarted(final long procId) {<a name="line.909"></a>
-<span class="sourceLineNo">910</span> final Procedure proc = procedures.get(procId);<a name="line.910"></a>
-<span class="sourceLineNo">911</span> if (proc == null) {<a name="line.911"></a>
-<span class="sourceLineNo">912</span> return completed.get(procId) != null;<a name="line.912"></a>
-<span class="sourceLineNo">913</span> }<a name="line.913"></a>
-<span class="sourceLineNo">914</span> return proc.wasExecuted();<a name="line.914"></a>
-<span class="sourceLineNo">915</span> }<a name="line.915"></a>
-<span class="sourceLineNo">916</span><a name="line.916"></a>
-<span class="sourceLineNo">917</span> /**<a name="line.917"></a>
-<span class="sourceLineNo">918</span> * Mark the specified completed procedure, as ready to remove.<a name="line.918"></a>
-<span class="sourceLineNo">919</span> * @param procId the ID of the procedure to remove<a name="line.919"></a>
-<span class="sourceLineNo">920</span> */<a name="line.920"></a>
-<span class="sourceLineNo">921</span> public void removeResult(final long procId) {<a name="line.921"></a>
-<span class="sourceLineNo">922</span> final ProcedureInfo result = completed.get(procId);<a name="line.922"></a>
-<span class="sourceLineNo">923</span> if (result == null) {<a name="line.923"></a>
-<span class="sourceLineNo">924</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.924"></a>
-<span class="sourceLineNo">925</span> if (LOG.isDebugEnabled()) {<a name="line.925"></a>
-<span class="sourceLineNo">926</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.926"></a>
-<span class="sourceLineNo">927</span> }<a name="line.927"></a>
-<span class="sourceLineNo">928</span> return;<a name="line.928"></a>
-<span class="sourceLineNo">929</span> }<a name="line.929"></a>
-<span class="sourceLineNo">930</span><a name="line.930"></a>
-<span class="sourceLineNo">931</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.931"></a>
-<span class="sourceLineNo">932</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span><a name="line.934"></a>
-<span class="sourceLineNo">935</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.935"></a>
-<span class="sourceLineNo">936</span> ProcedureInfo result = completed.get(procId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span> Procedure proc = null;<a name="line.937"></a>
-<span class="sourceLineNo">938</span> if (result == null) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span> proc = procedures.get(procId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span> if (proc == null) {<a name="line.940"></a>
-<span class="sourceLineNo">941</span> result = completed.get(procId);<a name="line.941"></a>
-<span class="sourceLineNo">942</span> }<a name="line.942"></a>
-<span class="sourceLineNo">943</span> }<a name="line.943"></a>
-<span class="sourceLineNo">944</span> return new Pair(result, proc);<a name="line.944"></a>
-<span class="sourceLineNo">945</span> }<a name="line.945"></a>
-<span class="sourceLineNo">946</span><a name="line.946"></a>
-<span class="sourceLineNo">947</span> /**<a name="line.947"></a>
-<span class="sourceLineNo">948</span> * Check if the user is this procedure's owner<a name="line.948"></a>
-<span class="sourceLineNo">949</span> * @param procId the target procedure<a name="line.949"></a>
-<span class="sourceLineNo">950</span> * @param user the user<a name="line.950"></a>
-<span class="sourceLineNo">951</span> * @return true if the user is the owner of the procedure,<a name="line.951"></a>
-<span class="sourceLineNo">952</span> * false otherwise or the owner is unknown.<a name="line.952"></a>
-<span class="sourceLineNo">953</span> */<a name="line.953"></a>
-<span class="sourceLineNo">954</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> if (user == null) return false;<a name="line.955"></a>
-<span class="sourceLineNo">956</span><a name="line.956"></a>
-<span class="sourceLineNo">957</span> final Procedure proc = procedures.get(procId);<a name="line.957"></a>
-<span class="sourceLineNo">958</span> if (proc != null) {<a name="line.958"></a>
-<span class="sourceLineNo">959</span> return proc.getOwner().equals(user.getShortName());<a name="line.959"></a>
-<span class="sourceLineNo">960</span> }<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.962"></a>
-<span class="sourceLineNo">963</span> if (procInfo == null) {<a name="line.963"></a>
-<span class="sourceLineNo">964</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.964"></a>
-<span class="sourceLineNo">965</span> // At this time, we cannot check the owner of the procedure<a name="line.965"></a>
-<span class="sourceLineNo">966</span> return false;<a name="line.966"></a>
-<span class="sourceLineNo">967</span> }<a name="line.967"></a>
-<span class="sourceLineNo">968</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.968"></a>
-<span class="sourceLineNo">969</span> }<a name="line.969"></a>
-<span class="sourceLineNo">970</span><a name="line.970"></a>
-<span class="sourceLineNo">971</span> /**<a name="line.971"></a>
-<span class="sourceLineNo">972</span> * List procedures.<a name="line.972"></a>
-<span class="sourceLineNo">973</span> * @return the procedures in a list<a name="line.973"></a>
-<span class="sourceLineNo">974</span> */<a name="line.974"></a>
-<span class="sourceLineNo">975</span> public List<ProcedureInfo> listProcedures() {<a name="line.975"></a>
-<span class="sourceLineNo">976</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.976"></a>
-<span class="sourceLineNo">977</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.977"></a>
-<span class="sourceLineNo">978</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.978"></a>
-<span class="sourceLineNo">979</span> }<a name="line.979"></a>
-<span class="sourceLineNo">980</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.981"></a>
-<span class="sourceLineNo">982</span> // it could complete after we walk through procedures list and insert into<a name="line.982"></a>
-<span class="sourceLineNo">983</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.983"></a>
-<span class="sourceLineNo">984</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.984"></a>
-<span class="sourceLineNo">985</span> procedureLists.add(e.getValue());<a name="line.985"></a>
-<span class="sourceLineNo">986</span> }<a name="line.986"></a>
-<span class="sourceLineNo">987</span> return procedureLists;<a name="line.987"></a>
-<span class="sourceLineNo">988</span> }<a name="line.988"></a>
-<span class="sourceLineNo">989</span><a name="line.989"></a>
-<span class="sourceLineNo">990</span> // ==========================================================================<a name="line.990"></a>
-<span class="sourceLineNo">991</span> // Listeners helpers<a name="line.991"></a>
-<span class="sourceLineNo">992</span> // ==========================================================================<a name="line.992"></a>
-<span class="sourceLineNo">993</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.993"></a>
-<span class="sourceLineNo">994</span> this.listeners.add(listener);<a name="line.994"></a>
-<span class="sourceLineNo">995</span> }<a name="line.995"></a>
-<span class="sourceLineNo">996</span><a name="line.996"></a>
-<span class="sourceLineNo">997</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.997"></a>
-<span class="sourceLineNo">998</span> return this.listeners.remove(listener);<a name="line.998"></a>
-<span class="sourceLineNo">999</span> }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span><a name="line.1000"></a>
-<span class="sourceLineNo">1001</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> if (!this.listeners.isEmpty()) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> try {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> listener.procedureLoaded(procId);<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span> } catch (Throwable e) {<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> }<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> }<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span><a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span> if (!this.listeners.isEmpty()) {<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> try {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> listener.procedureAdded(procId);<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> } catch (Throwable e) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> }<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span> }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span><a name="line.1024"></a>
-<span class="sourceLineNo">1025</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span> if (!this.listeners.isEmpty()) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span> try {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span> listener.procedureFinished(procId);<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> } catch (Throwable e) {<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span> }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span> }<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span> }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span> // ==========================================================================<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span> // Procedure IDs helpers<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span> // ==========================================================================<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span> private long nextProcId() {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span> long procId = lastProcId.incrementAndGet();<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span> if (procId < 0) {<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span> procId = lastProcId.get();<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span> if (procId >= 0)<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span> break;<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span> }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span> while (procedures.containsKey(procId)) {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span> procId = lastProcId.incrementAndGet();<a name="line.1049"></a>
+<span class="sourceLineNo">834</span> // Update metrics on start of a procedure<a name="line.834"></a>
+<span class="sourceLineNo">835</span> proc.updateMetricsOnSubmit(getEnvironment());<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span> // Create the rollback stack for the procedure<a name="line.837"></a>
+<span class="sourceLineNo">838</span> RootProcedureState stack = new RootProcedureState();<a name="line.838"></a>
+<span class="sourceLineNo">839</span> rollbackStack.put(currentProcId, stack);<a name="line.839"></a>
+<span class="sourceLineNo">840</span><a name="line.840"></a>
+<span class="sourceLineNo">841</span> // Submit the new subprocedures<a name="line.841"></a>
+<span class="sourceLineNo">842</span> assert !procedures.containsKey(currentProcId);<a name="line.842"></a>
+<span class="sourceLineNo">843</span> procedures.put(currentProcId, proc);<a name="line.843"></a>
+<span class="sourceLineNo">844</span> sendProcedureAddedNotification(currentProcId);<a name="line.844"></a>
+<span class="sourceLineNo">845</span> scheduler.addBack(proc);<a name="line.845"></a>
+<span class="sourceLineNo">846</span> return proc.getProcId();<a name="line.846"></a>
+<span class="sourceLineNo">847</span> }<a name="line.847"></a>
+<span class="sourceLineNo">848</span><a name="line.848"></a>
+<span class="sourceLineNo">849</span> /**<a name="line.849"></a>
+<span class="sourceLineNo">850</span> * Send an abort notification the specified procedure.<a name="line.850"></a>
+<span class="sourceLineNo">851</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.851"></a>
+<span class="sourceLineNo">852</span> * @param procId the procedure to abort<a name="line.852"></a>
+<span class="sourceLineNo">853</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.853"></a>
+<span class="sourceLineNo">854</span> */<a name="line.854"></a>
+<span class="sourceLineNo">855</span> public boolean abort(final long procId) {<a name="line.855"></a>
+<span class="sourceLineNo">856</span> return abort(procId, true);<a name="line.856"></a>
+<span class="sourceLineNo">857</span> }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span> /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span> * Send an abort notification the specified procedure.<a name="line.860"></a>
+<span class="sourceLineNo">861</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.861"></a>
+<span class="sourceLineNo">862</span> * @param procId the procedure to abort<a name="line.862"></a>
+<span class="sourceLineNo">863</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.863"></a>
+<span class="sourceLineNo">864</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.864"></a>
+<span class="sourceLineNo">865</span> */<a name="line.865"></a>
+<span class="sourceLineNo">866</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.866"></a>
+<span class="sourceLineNo">867</span> final Procedure proc = procedures.get(procId);<a name="line.867"></a>
+<span class="sourceLineNo">868</span> if (proc != null) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.869"></a>
+<span class="sourceLineNo">870</span> return false;<a name="line.870"></a>
+<span class="sourceLineNo">871</span> }<a name="line.871"></a>
+<span class="sourceLineNo">872</span> return proc.abort(getEnvironment());<a name="line.872"></a>
+<span class="sourceLineNo">873</span> }<a name="line.873"></a>
+<span class="sourceLineNo">874</span> return false;<a name="line.874"></a>
+<span class="sourceLineNo">875</span> }<a name="line.875"></a>
+<span class="sourceLineNo">876</span><a name="line.876"></a>
+<span class="sourceLineNo">877</span> // ==========================================================================<a name="line.877"></a>
+<span class="sourceLineNo">878</span> // Executor query helpers<a name="line.878"></a>
+<span class="sourceLineNo">879</span> // ==========================================================================<a name="line.879"></a>
+<span class="sourceLineNo">880</span> public Procedure getProcedure(final long procId) {<a name="line.880"></a>
+<span class="sourceLineNo">881</span> return procedures.get(procId);<a name="line.881"></a>
+<span class="sourceLineNo">882</span> }<a name="line.882"></a>
+<span class="sourceLineNo">883</span><a name="line.883"></a>
+<span class="sourceLineNo">884</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span> final Procedure proc = getProcedure(procId);<a name="line.885"></a>
+<span class="sourceLineNo">886</span> if (clazz.isInstance(proc)) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span> return (T)proc;<a name="line.887"></a>
+<span class="sourceLineNo">888</span> }<a name="line.888"></a>
+<span class="sourceLineNo">889</span> return null;<a name="line.889"></a>
+<span class="sourceLineNo">890</span> }<a name="line.890"></a>
+<span class="sourceLineNo">891</span><a name="line.891"></a>
+<span class="sourceLineNo">892</span> public ProcedureInfo getResult(final long procId) {<a name="line.892"></a>
+<span class="sourceLineNo">893</span> return completed.get(procId);<a name="line.893"></a>
+<span class="sourceLineNo">894</span> }<a name="line.894"></a>
+<span class="sourceLineNo">895</span><a name="line.895"></a>
+<span class="sourceLineNo">896</span> /**<a name="line.896"></a>
+<span class="sourceLineNo">897</span> * Return true if the procedure is finished.<a name="line.897"></a>
+<span class="sourceLineNo">898</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.898"></a>
+<span class="sourceLineNo">899</span> * Use getResult() to check the state or get the result data.<a name="line.899"></a>
+<span class="sourceLineNo">900</span> * @param procId the ID of the procedure to check<a name="line.900"></a>
+<span class="sourceLineNo">901</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.901"></a>
+<span class="sourceLineNo">902</span> */<a name="line.902"></a>
+<span class="sourceLineNo">903</span> public boolean isFinished(final long procId) {<a name="line.903"></a>
+<span class="sourceLineNo">904</span> return !procedures.containsKey(procId);<a name="line.904"></a>
+<span class="sourceLineNo">905</span> }<a name="line.905"></a>
+<span class="sourceLineNo">906</span><a name="line.906"></a>
+<span class="sourceLineNo">907</span> /**<a name="line.907"></a>
+<span class="sourceLineNo">908</span> * Return true if the procedure is started.<a name="line.908"></a>
+<span class="sourceLineNo">909</span> * @param procId the ID of the procedure to check<a name="line.909"></a>
+<span class="sourceLineNo">910</span> * @return true if the procedure execution is started, otherwise false.<a name="line.910"></a>
+<span class="sourceLineNo">911</span> */<a name="line.911"></a>
+<span class="sourceLineNo">912</span> public boolean isStarted(final long procId) {<a name="line.912"></a>
+<span class="sourceLineNo">913</span> final Procedure proc = procedures.get(procId);<a name="line.913"></a>
+<span class="sourceLineNo">914</span> if (proc == null) {<a name="line.914"></a>
+<span class="sourceLineNo">915</span> return completed.get(procId) != null;<a name="line.915"></a>
+<span class="sourceLineNo">916</span> }<a name="line.916"></a>
+<span class="sourceLineNo">917</span> return proc.wasExecuted();<a name="line.917"></a>
+<span class="sourceLineNo">918</span> }<a name="line.918"></a>
+<span class="sourceLineNo">919</span><a name="line.919"></a>
+<span class="sourceLineNo">920</span> /**<a name="line.920"></a>
+<span class="sourceLineNo">921</span> * Mark the specified completed procedure, as ready to remove.<a name="line.921"></a>
+<span class="sourceLineNo">922</span> * @param procId the ID of the procedure to remove<a name="line.922"></a>
+<span class="sourceLineNo">923</span> */<a name="line.923"></a>
+<span class="sourceLineNo">924</span> public void removeResult(final long procId) {<a name="line.924"></a>
+<span class="sourceLineNo">925</span> final ProcedureInfo result = completed.get(procId);<a name="line.925"></a>
+<span class="sourceLineNo">926</span> if (result == null) {<a name="line.926"></a>
+<span class="sourceLineNo">927</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.927"></a>
+<span class="sourceLineNo">928</span> if (LOG.isDebugEnabled()) {<a name="line.928"></a>
+<span class="sourceLineNo">929</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.929"></a>
+<span class="sourceLineNo">930</span> }<a name="line.930"></a>
+<span class="sourceLineNo">931</span> return;<a name="line.931"></a>
+<span class="sourceLineNo">932</span> }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.934"></a>
+<span class="sourceLineNo">935</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.935"></a>
+<span class="sourceLineNo">936</span> }<a name="line.936"></a>
+<span class="sourceLineNo">937</span><a name="line.937"></a>
+<span class="sourceLineNo">938</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.938"></a>
+<span class="sourceLineNo">939</span> ProcedureInfo result = completed.get(procId);<a name="line.939"></a>
+<span class="sourceLineNo">940</span> Procedure proc = null;<a name="line.940"></a>
+<span class="sourceLineNo">941</span> if (result == null) {<a name="line.941"></a>
+<span class="sourceLineNo">942</span> proc = procedures.get(procId);<a name="line.942"></a>
+<span class="sourceLineNo">943</span> if (proc == null) {<a name="line.943"></a>
+<span class="sourceLineNo">944</span> result = completed.get(procId);<a name="line.944"></a>
+<span class="sourceLineNo">945</span> }<a name="line.945"></a>
+<span class="sourceLineNo">946</span> }<a name="line.946"></a>
+<span class="sourceLineNo">947</span> return new Pair(result, proc);<a name="line.947"></a>
+<span class="sourceLineNo">948</span> }<a name="line.948"></a>
+<span class="sourceLineNo">949</span><a name="line.949"></a>
+<span class="sourceLineNo">950</span> /**<a name="line.950"></a>
+<span class="sourceLineNo">951</span> * Check if the user is this procedure's owner<a name="line.951"></a>
+<span class="sourceLineNo">952</span> * @param procId the target procedure<a name="line.952"></a>
+<span class="sourceLineNo">953</span> * @param user the user<a name="line.953"></a>
+<span class="sourceLineNo">954</span> * @return true if the user is the owner of the procedure,<a name="line.954"></a>
+<span class="sourceLineNo">955</span> * false otherwise or the owner is unknown.<a name="line.955"></a>
+<span class="sourceLineNo">956</span> */<a name="line.956"></a>
+<span class="sourceLineNo">957</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span> if (user == null) return false;<a name="line.958"></a>
+<span class="sourceLineNo">959</span><a name="line.959"></a>
+<span class="sourceLineNo">960</span> final Procedure proc = procedures.get(procId);<a name="line.960"></a>
+<span class="sourceLineNo">961</span> if (proc != null) {<a name="line.961"></a>
+<span class="sourceLineNo">962</span> return proc.getOwner().equals(user.getShortName());<a name="line.962"></a>
+<span class="sourceLineNo">963</span> }<a name="line.963"></a>
+<span class="sourceLineNo">964</span><a name="line.964"></a>
+<span class="sourceLineNo">965</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.965"></a>
+<span class="sourceLineNo">966</span> if (procInfo == null) {<a name="line.966"></a>
+<span class="sourceLineNo">967</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.967"></a>
+<span class="sourceLineNo">968</span> // At this time, we cannot check the owner of the procedure<a name="line.968"></a>
+<span class="sourceLineNo">969</span> return false;<a name="line.969"></a>
+<span class="sourceLineNo">970</span> }<a name="line.970"></a>
+<span class="sourceLineNo">971</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.971"></a>
+<span class="sourceLineNo">972</span> }<a name="line.972"></a>
+<span class="sourceLineNo">973</span><a name="line.973"></a>
+<span class="sourceLineNo">974</span> /**<a name="line.974"></a>
+<span class="sourceLineNo">975</span> * List procedures.<a name="line.975"></a>
+<span class="sourceLineNo">976</span> * @return the procedures in a list<a name="line.976"></a>
+<span class="sourceLineNo">977</span> */<a name="line.977"></a>
+<span class="sourceLineNo">978</span> public List<ProcedureInfo> listProcedures() {<a name="line.978"></a>
+<span class="sourceLineNo">979</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.979"></a>
+<span class="sourceLineNo">980</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.980"></a>
+<span class="sourceLineNo">981</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.981"></a>
+<span class="sourceLineNo">982</span> }<a name="line.982"></a>
+<span class="sourceLineNo">983</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.984"></a>
+<span class="sourceLineNo">985</span> // it could complete after we walk through procedures list and insert into<a name="line.985"></a>
+<span class="sourceLineNo">986</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.986"></a>
+<span class="sourceLineNo">987</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.987"></a>
+<span class="sourceLineNo">988</span> procedureLists.add(e.getValue());<a name="line.988"></a>
+<span class="sourceLineNo">989</span> }<a name="line.989"></a>
+<span class="sourceLineNo">990</span> return procedureLists;<a name="line.990"></a>
+<span class="sourceLineNo">991</span> }<a name="line.991"></a>
+<span class="sourceLineNo">992</span><a name="line.992"></a>
+<span class="sourceLineNo">993</span> // ==========================================================================<a name="line.993"></a>
+<span class="sourceLineNo">994</span> // Listeners helpers<a name="line.994"></a>
+<span class="sourceLineNo">995</span> // ==========================================================================<a name="line.995"></a>
+<span class="sourceLineNo">996</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.996"></a>
+<span class="sourceLineNo">997</span> this.listeners.add(listener);<a name="line.997"></a>
+<span class="sourceLineNo">998</span> }<a name="line.998"></a>
+<span class="sourceLineNo">999</span><a name="line.999"></a>
+<span class="sourceLineNo">1000</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span> return this.listeners.remove(listener);<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span> }<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span><a name="line.1003"></a>
+<span class="sourceLineNo">1004</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span> if (!this.listeners.isEmpty()) {<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span> try {<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span> listener.procedureLoaded(procId);<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span> } catch (Throwable e) {<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span> }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span> }<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span> }<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span><a name="line.1015"></a>
+<span class="sourceLineNo">1016</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span> if (!this.listeners.isEmpty()) {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span> try {<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span> listener.procedureAdded(procId);<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span> } catch (Throwable e) {<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span> }<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> }<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span> }<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span><a name="line.1027"></a>
+<span class="sourceLineNo">1028</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span> if (!this.listeners.isEmpty()) {<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span> try {<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span> listener.procedureFinished(procId);<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span> } catch (Throwable e) {<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span> }<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span> }<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span> }<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span><a name="line.1039"></a>
+<span class="sourceLineNo">1040</span> // ==========================================================================<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span> // Procedure IDs helpers<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span> // ==========================================================================<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span> private long nextProcId() {<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span> long procId = lastProcId.incrementAndGet();<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span> if (procId < 0) {<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span> procId = lastProcId.get();<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span> if (procId >= 0)<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span> break;<a name="line.1049"></a>
<span class="sourceLineNo">1050</span> }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span> }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span> return procId;<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span><a name="line.1055"></a>
-<span class="sourceLineNo">1056</span> @VisibleForTesting<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span> protected long getLastProcId() {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span> return lastProcId.get();<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span> }<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span><a name="line.1060"></a>
-<span class="sourceLineNo">1061</span> @VisibleForTesting<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span> public Set<Long> getActiveProcIds() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span> return procedures.keySet();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span> }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span><a name="line.1065"></a>
-<span class="sourceLineNo">1066</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span> }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span><a name="line.1069"></a>
-<span class="sourceLineNo">1070</span> // ==========================================================================<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span> // Executions<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span> // ==========================================================================<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span> private void executeProcedure(final Procedure proc) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span> if (rootProcId == null) {<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span> executeRollback(proc);<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span> return;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span> }<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span><a name="line.1080"></a>
-<span class="sourceLineNo">1081</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span> if (procStack == null) return;<a name="line.1082"></a>
+<span class="sourceLineNo">1051</span> while (procedures.containsKey(procId)) {<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span> procId = lastProcId.incrementAndGet();<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span> }<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span> return procId;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span> }<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span><a name="line.1058"></a>
+<span class="sourceLineNo">1059</span> @VisibleForTesting<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span> protected long getLastProcId() {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span> return lastProcId.get();<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span> }<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span> @VisibleForTesting<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span> public Set<Long> getActiveProcIds() {<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span> return procedures.keySet();<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span> }<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span><a name="line.1068"></a>
+<span class="sourceLineNo">1069</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span> }<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span><a name="line.1072"></a>
+<span class="sourceLineNo">1073</span> // ==========================================================================<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span> // Executions<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span> // ==========================================================================<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span> private void executeProcedure(final Procedure proc) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span> if (rootProcId == null) {<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span> executeRollback(proc);<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span> return;<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span> }<a name="line.1082"></a>
<span class="sourceLineNo">1083</span><a name="line.1083"></a>
-<span class="sourceLineNo">1084</span> do {<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span> // Try to acquire the execution<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span> if (!procStack.acquire(proc)) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span> if (procStack.setRollback()) {<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span> case LOCK_ACQUIRED:<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span> break;<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span> case LOCK_YIELD_WAIT:<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span> procStack.unsetRollback();<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span> scheduler.yield(proc);<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span> break;<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span> case LOCK_EVENT_WAIT:<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span> procStack.unsetRollback();<a name="line.1097"></a>
+<span class="sourceLineNo">1084</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span> if (procStack == null) return;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span><a name="line.1086"></a>
+<span class="sourceLineNo">1087</span> do {<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span> // Try to acquire the execution<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span> if (!procStack.acquire(proc)) {<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span> if (procStack.setRollback()) {<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span> case LOCK_ACQUIRED:<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span> break;<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span> case LOCK_YIELD_WAIT:<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span> procStack.unsetRollback();<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span> scheduler.yield(proc);<a name="line.1097"></a>
<span class="sourceLineNo">1098</span> break;<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span> default:<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span> throw new UnsupportedOperationException();<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> }<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span> } else {<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span> // if we can't rollback means that some child is still running.<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span> // the rollback will be executed after all the children are done.<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> if (!proc.wasExecuted()) {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> switch (executeRollback(proc)) {<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> case LOCK_ACQUIRED:<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> break;<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> case LOCK_YIELD_WAIT:<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span> scheduler.yield(proc);<a name="line.1111"></a>
+<span class="sourceLineNo">1099</span> case LOCK_EVENT_WAIT:<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span> procStack.unsetRollback();<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span> break;<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span> default:<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span> throw new UnsupportedOperationException();<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span> }<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span> } else {<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span> // if we can't rollback means that some child is still running.<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> // the rollback will be executed after all the children are done.<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> if (!proc.wasExecuted()) {<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> switch (executeRollback(proc)) {<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> case LOCK_ACQUIRED:<a name="line.1111"></a>
<span class="sourceLineNo">1112</span> break;<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> case LOCK_EVENT_WAIT:<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> break;<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> default:<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span> throw new UnsupportedOperationException();<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> }<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> }<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> }<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> break;<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span><a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> // Execute the procedure<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> switch (acquireLock(proc)) {<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> case LOCK_ACQUIRED:<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> execProcedure(procStack, proc);<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span> releaseLock(proc, false);<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> break;<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> case LOCK_YIELD_WAIT:<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> scheduler.yield(proc);<a name="line.1131"></a>
+<span class="sourceLineNo">1113</span> case LOCK_YIELD_WAIT:<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> scheduler.yield(proc);<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> break;<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> case LOCK_EVENT_WAIT:<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> break;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span> default:<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> throw new UnsupportedOperationException();<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> }<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> }<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> break;<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> }<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> // Execute the procedure<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> switch (acquireLock(proc)) {<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> case LOCK_ACQUIRED:<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span> execProcedure(procStack, proc);<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> releaseLock(proc, false);<a name="line.1131"></a>
<span class="sourceLineNo">1132</span> break;<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> case LOCK_EVENT_WAIT:<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> // someone will wake us up when the lock is available<a name="line.1134"></a>
+<span class="sourceLineNo">1133</span> case LOCK_YIELD_WAIT:<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> scheduler.yield(proc);<a name="line.1134"></a>
<span class="sourceLineNo">1135</span> break;<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> default:<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> throw new UnsupportedOperationException();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> procStack.release(proc);<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> // allows to kill the executor before something is stored to the wal.<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span> // useful to test the procedure recovery.<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (testing != null && !isRunning()) {<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> break;<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span> }<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> if (proc.isSuccess()) {<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> if (LOG.isDebugEnabled()) {<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> }<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> // Finalize the procedure state<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span> if (proc.getProcId() == rootProcId) {<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> procedureFinished(proc);<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> } else {<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> execCompletionCleanup(proc);<a name="line.1155"></a>
+<span class="sourceLineNo">1136</span> case LOCK_EVENT_WAIT:<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> // someone will wake us up when the lock is available<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> break;<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> default:<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> throw new UnsupportedOperationException();<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> }<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> procStack.release(proc);<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span><a name="line.1143"></a>
+<span class="sourceLineNo">1144</span> // allows to kill the executor before something is stored to the wal.<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> // useful to test the procedure recovery.<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> if (testing != null && !isRunning()) {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span> break;<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> }<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> if (proc.isSuccess()) {<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span> // update metrics on finishing the procedure<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> proc.updateMetricsOnFinish(getEnvironment(), proc.elapsedTime(), true);<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span><a name="line.1153"></a>
+<span class="sourceLineNo">1154</span> if (LOG.isDebugEnabled()) {<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1155"></a>
<span class="sourceLineNo">1156</span> }<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> break;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> } while (procStack.isFailed());<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span> }<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span><a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> private LockState acquireLock(final Procedure proc) {<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> final TEnvironment env = getEnvironment();<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> // hasLock() is used in conjunction with holdLock().<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> return LockState.LOCK_ACQUIRED;<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> }<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> return proc.doAcquireLock(env);<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> }<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> final TEnvironment env = getEnvironment();<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // for how the framework works, we know that we will always have the lock<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span> if (force || !proc.holdLock(env)) {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> proc.doReleaseLock(env);<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> }<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span> }<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span><a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> /**<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> * Execute the rollback of the full procedure stack.<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> * finished to user, and the result will be the fatal exception.<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> */<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> if (exception == null) {<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> exception = procStack.getException();<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span> rootProc.setFailure(exception);<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> store.update(rootProc);<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> }<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span><a name="line.1195"></a>
-<span class="sourceLineNo">1196</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span><a name="line.1198"></a>
-<span class="sourceLineNo">1199</span> int stackTail = subprocStack.size();<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> boolean reuseLock = false;<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> while (stackTail --> 0) {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span><a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> LockState lockState;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> // queue waiting for the lock availability<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span> return lockState;<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> }<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> lockState = executeRollback(proc);<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // If the next procedure is the same to this one<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> // we can avoid to lock/unlock each step<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span> if (!reuseLock) {<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> releaseLock(proc, false);<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> }<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span><a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // allows to kill the executor before something is stored to the wal.<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // useful to test the procedure recovery.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> if (abortRollback) {<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> return lockState;<a name="line.1226"></a>
+<span class="sourceLineNo">1157</span> // Finalize the procedure state<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> if (proc.getProcId() == rootProcId) {<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> procedureFinished(proc);<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> } else {<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> execCompletionCleanup(proc);<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span> }<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> break;<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> }<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> } while (procStack.isFailed());<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> }<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span><a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> private LockState acquireLock(final Procedure proc) {<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> final TEnvironment env = getEnvironment();<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> // hasLock() is used in conjunction with holdLock().<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> return LockState.LOCK_ACQUIRED;<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> }<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> return proc.doAcquireLock(env);<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> }<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span><a name="line.1178"></a>
+<span class="sourceLineNo">1179</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> final TEnvironment env = getEnvironment();<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> // for how the framework works, we know that we will always have the lock<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> if (force || !proc.holdLock(env)) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> proc.doReleaseLock(env);<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> }<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span> }<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span><a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> /**<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> * Execute the rollback of the full procedure stack.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> * finished to user, and the result will be the fatal exception.<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> */<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> if (exception == null) {<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> exception = procStack.getException();<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span> rootProc.setFailure(exception);<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> store.update(rootProc);<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span><a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> int stackTail = subprocStack.size();<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> boolean reuseLock = false;<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> while (stackTail --> 0) {<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span><a name="line.1209"></a>
+<span class="sourceLineNo">1210</span> LockState lockState;<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> // queue waiting for the lock availability<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> return lockState;<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> }<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span><a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> lockState = executeRollback(proc);<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span><a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> // If the next procedure is the same to this one<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> // we can avoid to lock/unlock each step<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> if (!reuseLock) {<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> releaseLock(proc, false);<a name="line.1226"></a>
<span class="sourceLineNo">1227</span> }<a name="line.1227"></a>
<span class="sourceLineNo">1228</span><a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> subprocStack.remove(stackTail);<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span><a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> // if the procedure is kind enough to pass the slot to someone else, yield<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span> if (proc.isYieldAfterExecutionStep(getEnvironment())) {<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> }<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span><a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> if (proc != rootProc) {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> execCompletionCleanup(proc);<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span> }<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span><a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> // Finalize the procedure state<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> LOG.info("Rolled back " + rootProc +<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> " exec-time=" + StringUtils.humanTimeDiff(rootProc.elapsedTime()));<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> procedureFinished(rootProc);<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> return LockState.LOCK_ACQUIRED;<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span> }<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> /**<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> * Execute the rollback of the procedure step.<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> * It updates the store with the new state (stack index)<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> * or will remove completly the procedure in case it is a child.<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> */<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span> private LockState executeRollback(final Procedure proc) {<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> try {<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> proc.doRollback(getEnvironment());<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> } catch (IOException e) {<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> if (LOG.isDebugEnabled()) {<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> LOG.debug("Roll back attempt failed for " + proc, e);<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> }<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> } catch (InterruptedException e) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> handleInterruptedException(proc, e);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span> } catch (Throwable e) {<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> // Catch NullPointerExceptions or similar errors...<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> LOG.fatal("CODE-BUG: Uncatched runtime exception for procedure: " + proc, e);<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> }<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span><a name="line.1268"></a>
-<span class="sourceLineNo">1269</span> // allows to kill the executor before something is stored to the wal.<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> // useful to test the procedure recovery.<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> if (testing != null && testing.shouldKillBeforeStoreUpdate()) {<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> LOG.debug("TESTING: Kill before store update");<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span> stop();<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> }<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> if (proc.removeStackIndex()) {<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> proc.setState(ProcedureState.ROLLEDBACK);<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span> if (proc.hasParent()) {<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> store.delete(proc.getProcId());<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> procedures.remove(proc.getProcId());<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> } else {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> final long[] childProcIds = rollbackStack.get(proc.getProcId()).getSubprocedureIds();<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> if (childProcIds != null) {<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span> store.delete(proc, childProcIds);<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> } else {<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> store.update(proc);<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> }<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> } else {<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span> store.update(proc);<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> }<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span><a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> return LockState.LOCK_ACQUIRED;<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span><a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> * Executes the specified procedure<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> * - calls the doExecute() of the procedure<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> * - if the procedure execution didn't fail (e.g. invalid user input)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> * - ...and returned subprocedures<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span> * - the subprocedures are initialized.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> * - the subprocedures are added to the store<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> * - the subprocedures are added to the runnable queue<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> * - the procedure is now in a WAITING state, waiting for the subprocedures to complete<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span> * - ...if there are no subprocedure<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> * - the procedure completed successfully<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> * - if there is a parent (WAITING)<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> * - the parent state will be set to RUNNABLE<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span> * - in case of failure<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> * - the store is updated with the new state<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> * - the executor (caller of this method) will start the rollback of the procedure<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> */<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span> private void execProcedure(final RootProcedureState procStack, final Procedure procedure) {<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> Preconditions.checkArgument(procedure.getState() == ProcedureState.RUNNABLE);<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span><a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> // Execute the procedure<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> boolean suspended = false;<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> boolean reExecute = false;<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> Procedure[] subprocs = null;<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> do {<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> reExecute = false;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> try {<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span> subprocs = procedure.doExecute(getEnvironment());<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (subprocs != null && subprocs.length == 0) {<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> subprocs = null;<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span> }<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> } catch (ProcedureSuspendedException e) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> suspended = true;<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> } catch (ProcedureYieldException e) {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> if (LOG.isTraceEnabled()) {<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> LOG.trace("Yield " + procedure + ": " + e.getMessage());<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span> }<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> scheduler.yield(procedure);<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> return;<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> } catch (InterruptedException e) {<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> handleInterruptedException(procedure, e);<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> scheduler.yield(procedure);<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span> return;<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> } catch (Throwable e) {<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // Catch NullPointerExceptions or similar errors...<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> String msg = "CODE-BUG: Uncaught runtime exception: " + procedure;<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> LOG.error(msg, e);<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> procedure.setFailure(new RemoteProcedureException(msg, e));<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span> }<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span><a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> if (!procedure.isFailed()) {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> if (subprocs != null) {<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span> if (subprocs.length == 1 && subprocs[0] == procedure) {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span> // quick-shortcut for a state machine like procedure<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> subprocs = null;<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> reExecute = true;<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> } else {<a name="line.1353"></a>
-<span class="sourceLineN
<TRUNCATED>
[15/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html
index a1495ff..0c11099 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.WorkerMonitor.html
@@ -839,1019 +839,1030 @@
<span class="sourceLineNo">831</span> private long pushProcedure(final Procedure proc) {<a name="line.831"></a>
<span class="sourceLineNo">832</span> final long currentProcId = proc.getProcId();<a name="line.832"></a>
<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span> // Create the rollback stack for the procedure<a name="line.834"></a>
-<span class="sourceLineNo">835</span> RootProcedureState stack = new RootProcedureState();<a name="line.835"></a>
-<span class="sourceLineNo">836</span> rollbackStack.put(currentProcId, stack);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span> // Submit the new subprocedures<a name="line.838"></a>
-<span class="sourceLineNo">839</span> assert !procedures.containsKey(currentProcId);<a name="line.839"></a>
-<span class="sourceLineNo">840</span> procedures.put(currentProcId, proc);<a name="line.840"></a>
-<span class="sourceLineNo">841</span> sendProcedureAddedNotification(currentProcId);<a name="line.841"></a>
-<span class="sourceLineNo">842</span> scheduler.addBack(proc);<a name="line.842"></a>
-<span class="sourceLineNo">843</span> return proc.getProcId();<a name="line.843"></a>
-<span class="sourceLineNo">844</span> }<a name="line.844"></a>
-<span class="sourceLineNo">845</span><a name="line.845"></a>
-<span class="sourceLineNo">846</span> /**<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * Send an abort notification the specified procedure.<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.848"></a>
-<span class="sourceLineNo">849</span> * @param procId the procedure to abort<a name="line.849"></a>
-<span class="sourceLineNo">850</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.850"></a>
-<span class="sourceLineNo">851</span> */<a name="line.851"></a>
-<span class="sourceLineNo">852</span> public boolean abort(final long procId) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span> return abort(procId, true);<a name="line.853"></a>
-<span class="sourceLineNo">854</span> }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span> /**<a name="line.856"></a>
-<span class="sourceLineNo">857</span> * Send an abort notification the specified procedure.<a name="line.857"></a>
-<span class="sourceLineNo">858</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.858"></a>
-<span class="sourceLineNo">859</span> * @param procId the procedure to abort<a name="line.859"></a>
-<span class="sourceLineNo">860</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.860"></a>
-<span class="sourceLineNo">861</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.861"></a>
-<span class="sourceLineNo">862</span> */<a name="line.862"></a>
-<span class="sourceLineNo">863</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.863"></a>
-<span class="sourceLineNo">864</span> final Procedure proc = procedures.get(procId);<a name="line.864"></a>
-<span class="sourceLineNo">865</span> if (proc != null) {<a name="line.865"></a>
-<span class="sourceLineNo">866</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.866"></a>
-<span class="sourceLineNo">867</span> return false;<a name="line.867"></a>
-<span class="sourceLineNo">868</span> }<a name="line.868"></a>
-<span class="sourceLineNo">869</span> return proc.abort(getEnvironment());<a name="line.869"></a>
-<span class="sourceLineNo">870</span> }<a name="line.870"></a>
-<span class="sourceLineNo">871</span> return false;<a name="line.871"></a>
-<span class="sourceLineNo">872</span> }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span> // ==========================================================================<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // Executor query helpers<a name="line.875"></a>
-<span class="sourceLineNo">876</span> // ==========================================================================<a name="line.876"></a>
-<span class="sourceLineNo">877</span> public Procedure getProcedure(final long procId) {<a name="line.877"></a>
-<span class="sourceLineNo">878</span> return procedures.get(procId);<a name="line.878"></a>
-<span class="sourceLineNo">879</span> }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span> final Procedure proc = getProcedure(procId);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> if (clazz.isInstance(proc)) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span> return (T)proc;<a name="line.884"></a>
-<span class="sourceLineNo">885</span> }<a name="line.885"></a>
-<span class="sourceLineNo">886</span> return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span> }<a name="line.887"></a>
-<span class="sourceLineNo">888</span><a name="line.888"></a>
-<span class="sourceLineNo">889</span> public ProcedureInfo getResult(final long procId) {<a name="line.889"></a>
-<span class="sourceLineNo">890</span> return completed.get(procId);<a name="line.890"></a>
-<span class="sourceLineNo">891</span> }<a name="line.891"></a>
-<span class="sourceLineNo">892</span><a name="line.892"></a>
-<span class="sourceLineNo">893</span> /**<a name="line.893"></a>
-<span class="sourceLineNo">894</span> * Return true if the procedure is finished.<a name="line.894"></a>
-<span class="sourceLineNo">895</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.895"></a>
-<span class="sourceLineNo">896</span> * Use getResult() to check the state or get the result data.<a name="line.896"></a>
-<span class="sourceLineNo">897</span> * @param procId the ID of the procedure to check<a name="line.897"></a>
-<span class="sourceLineNo">898</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.898"></a>
-<span class="sourceLineNo">899</span> */<a name="line.899"></a>
-<span class="sourceLineNo">900</span> public boolean isFinished(final long procId) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span> return !procedures.containsKey(procId);<a name="line.901"></a>
-<span class="sourceLineNo">902</span> }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span> /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span> * Return true if the procedure is started.<a name="line.905"></a>
-<span class="sourceLineNo">906</span> * @param procId the ID of the procedure to check<a name="line.906"></a>
-<span class="sourceLineNo">907</span> * @return true if the procedure execution is started, otherwise false.<a name="line.907"></a>
-<span class="sourceLineNo">908</span> */<a name="line.908"></a>
-<span class="sourceLineNo">909</span> public boolean isStarted(final long procId) {<a name="line.909"></a>
-<span class="sourceLineNo">910</span> final Procedure proc = procedures.get(procId);<a name="line.910"></a>
-<span class="sourceLineNo">911</span> if (proc == null) {<a name="line.911"></a>
-<span class="sourceLineNo">912</span> return completed.get(procId) != null;<a name="line.912"></a>
-<span class="sourceLineNo">913</span> }<a name="line.913"></a>
-<span class="sourceLineNo">914</span> return proc.wasExecuted();<a name="line.914"></a>
-<span class="sourceLineNo">915</span> }<a name="line.915"></a>
-<span class="sourceLineNo">916</span><a name="line.916"></a>
-<span class="sourceLineNo">917</span> /**<a name="line.917"></a>
-<span class="sourceLineNo">918</span> * Mark the specified completed procedure, as ready to remove.<a name="line.918"></a>
-<span class="sourceLineNo">919</span> * @param procId the ID of the procedure to remove<a name="line.919"></a>
-<span class="sourceLineNo">920</span> */<a name="line.920"></a>
-<span class="sourceLineNo">921</span> public void removeResult(final long procId) {<a name="line.921"></a>
-<span class="sourceLineNo">922</span> final ProcedureInfo result = completed.get(procId);<a name="line.922"></a>
-<span class="sourceLineNo">923</span> if (result == null) {<a name="line.923"></a>
-<span class="sourceLineNo">924</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.924"></a>
-<span class="sourceLineNo">925</span> if (LOG.isDebugEnabled()) {<a name="line.925"></a>
-<span class="sourceLineNo">926</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.926"></a>
-<span class="sourceLineNo">927</span> }<a name="line.927"></a>
-<span class="sourceLineNo">928</span> return;<a name="line.928"></a>
-<span class="sourceLineNo">929</span> }<a name="line.929"></a>
-<span class="sourceLineNo">930</span><a name="line.930"></a>
-<span class="sourceLineNo">931</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.931"></a>
-<span class="sourceLineNo">932</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span><a name="line.934"></a>
-<span class="sourceLineNo">935</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.935"></a>
-<span class="sourceLineNo">936</span> ProcedureInfo result = completed.get(procId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span> Procedure proc = null;<a name="line.937"></a>
-<span class="sourceLineNo">938</span> if (result == null) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span> proc = procedures.get(procId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span> if (proc == null) {<a name="line.940"></a>
-<span class="sourceLineNo">941</span> result = completed.get(procId);<a name="line.941"></a>
-<span class="sourceLineNo">942</span> }<a name="line.942"></a>
-<span class="sourceLineNo">943</span> }<a name="line.943"></a>
-<span class="sourceLineNo">944</span> return new Pair(result, proc);<a name="line.944"></a>
-<span class="sourceLineNo">945</span> }<a name="line.945"></a>
-<span class="sourceLineNo">946</span><a name="line.946"></a>
-<span class="sourceLineNo">947</span> /**<a name="line.947"></a>
-<span class="sourceLineNo">948</span> * Check if the user is this procedure's owner<a name="line.948"></a>
-<span class="sourceLineNo">949</span> * @param procId the target procedure<a name="line.949"></a>
-<span class="sourceLineNo">950</span> * @param user the user<a name="line.950"></a>
-<span class="sourceLineNo">951</span> * @return true if the user is the owner of the procedure,<a name="line.951"></a>
-<span class="sourceLineNo">952</span> * false otherwise or the owner is unknown.<a name="line.952"></a>
-<span class="sourceLineNo">953</span> */<a name="line.953"></a>
-<span class="sourceLineNo">954</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> if (user == null) return false;<a name="line.955"></a>
-<span class="sourceLineNo">956</span><a name="line.956"></a>
-<span class="sourceLineNo">957</span> final Procedure proc = procedures.get(procId);<a name="line.957"></a>
-<span class="sourceLineNo">958</span> if (proc != null) {<a name="line.958"></a>
-<span class="sourceLineNo">959</span> return proc.getOwner().equals(user.getShortName());<a name="line.959"></a>
-<span class="sourceLineNo">960</span> }<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.962"></a>
-<span class="sourceLineNo">963</span> if (procInfo == null) {<a name="line.963"></a>
-<span class="sourceLineNo">964</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.964"></a>
-<span class="sourceLineNo">965</span> // At this time, we cannot check the owner of the procedure<a name="line.965"></a>
-<span class="sourceLineNo">966</span> return false;<a name="line.966"></a>
-<span class="sourceLineNo">967</span> }<a name="line.967"></a>
-<span class="sourceLineNo">968</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.968"></a>
-<span class="sourceLineNo">969</span> }<a name="line.969"></a>
-<span class="sourceLineNo">970</span><a name="line.970"></a>
-<span class="sourceLineNo">971</span> /**<a name="line.971"></a>
-<span class="sourceLineNo">972</span> * List procedures.<a name="line.972"></a>
-<span class="sourceLineNo">973</span> * @return the procedures in a list<a name="line.973"></a>
-<span class="sourceLineNo">974</span> */<a name="line.974"></a>
-<span class="sourceLineNo">975</span> public List<ProcedureInfo> listProcedures() {<a name="line.975"></a>
-<span class="sourceLineNo">976</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.976"></a>
-<span class="sourceLineNo">977</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.977"></a>
-<span class="sourceLineNo">978</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.978"></a>
-<span class="sourceLineNo">979</span> }<a name="line.979"></a>
-<span class="sourceLineNo">980</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.981"></a>
-<span class="sourceLineNo">982</span> // it could complete after we walk through procedures list and insert into<a name="line.982"></a>
-<span class="sourceLineNo">983</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.983"></a>
-<span class="sourceLineNo">984</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.984"></a>
-<span class="sourceLineNo">985</span> procedureLists.add(e.getValue());<a name="line.985"></a>
-<span class="sourceLineNo">986</span> }<a name="line.986"></a>
-<span class="sourceLineNo">987</span> return procedureLists;<a name="line.987"></a>
-<span class="sourceLineNo">988</span> }<a name="line.988"></a>
-<span class="sourceLineNo">989</span><a name="line.989"></a>
-<span class="sourceLineNo">990</span> // ==========================================================================<a name="line.990"></a>
-<span class="sourceLineNo">991</span> // Listeners helpers<a name="line.991"></a>
-<span class="sourceLineNo">992</span> // ==========================================================================<a name="line.992"></a>
-<span class="sourceLineNo">993</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.993"></a>
-<span class="sourceLineNo">994</span> this.listeners.add(listener);<a name="line.994"></a>
-<span class="sourceLineNo">995</span> }<a name="line.995"></a>
-<span class="sourceLineNo">996</span><a name="line.996"></a>
-<span class="sourceLineNo">997</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.997"></a>
-<span class="sourceLineNo">998</span> return this.listeners.remove(listener);<a name="line.998"></a>
-<span class="sourceLineNo">999</span> }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span><a name="line.1000"></a>
-<span class="sourceLineNo">1001</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> if (!this.listeners.isEmpty()) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> try {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> listener.procedureLoaded(procId);<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span> } catch (Throwable e) {<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> }<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> }<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span><a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span> if (!this.listeners.isEmpty()) {<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> try {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> listener.procedureAdded(procId);<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> } catch (Throwable e) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> }<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span> }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span><a name="line.1024"></a>
-<span class="sourceLineNo">1025</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span> if (!this.listeners.isEmpty()) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span> try {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span> listener.procedureFinished(procId);<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> } catch (Throwable e) {<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span> }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span> }<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span> }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span> // ==========================================================================<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span> // Procedure IDs helpers<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span> // ==========================================================================<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span> private long nextProcId() {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span> long procId = lastProcId.incrementAndGet();<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span> if (procId < 0) {<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span> procId = lastProcId.get();<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span> if (procId >= 0)<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span> break;<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span> }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span> while (procedures.containsKey(procId)) {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span> procId = lastProcId.incrementAndGet();<a name="line.1049"></a>
+<span class="sourceLineNo">834</span> // Update metrics on start of a procedure<a name="line.834"></a>
+<span class="sourceLineNo">835</span> proc.updateMetricsOnSubmit(getEnvironment());<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span> // Create the rollback stack for the procedure<a name="line.837"></a>
+<span class="sourceLineNo">838</span> RootProcedureState stack = new RootProcedureState();<a name="line.838"></a>
+<span class="sourceLineNo">839</span> rollbackStack.put(currentProcId, stack);<a name="line.839"></a>
+<span class="sourceLineNo">840</span><a name="line.840"></a>
+<span class="sourceLineNo">841</span> // Submit the new subprocedures<a name="line.841"></a>
+<span class="sourceLineNo">842</span> assert !procedures.containsKey(currentProcId);<a name="line.842"></a>
+<span class="sourceLineNo">843</span> procedures.put(currentProcId, proc);<a name="line.843"></a>
+<span class="sourceLineNo">844</span> sendProcedureAddedNotification(currentProcId);<a name="line.844"></a>
+<span class="sourceLineNo">845</span> scheduler.addBack(proc);<a name="line.845"></a>
+<span class="sourceLineNo">846</span> return proc.getProcId();<a name="line.846"></a>
+<span class="sourceLineNo">847</span> }<a name="line.847"></a>
+<span class="sourceLineNo">848</span><a name="line.848"></a>
+<span class="sourceLineNo">849</span> /**<a name="line.849"></a>
+<span class="sourceLineNo">850</span> * Send an abort notification the specified procedure.<a name="line.850"></a>
+<span class="sourceLineNo">851</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.851"></a>
+<span class="sourceLineNo">852</span> * @param procId the procedure to abort<a name="line.852"></a>
+<span class="sourceLineNo">853</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.853"></a>
+<span class="sourceLineNo">854</span> */<a name="line.854"></a>
+<span class="sourceLineNo">855</span> public boolean abort(final long procId) {<a name="line.855"></a>
+<span class="sourceLineNo">856</span> return abort(procId, true);<a name="line.856"></a>
+<span class="sourceLineNo">857</span> }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span> /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span> * Send an abort notification the specified procedure.<a name="line.860"></a>
+<span class="sourceLineNo">861</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.861"></a>
+<span class="sourceLineNo">862</span> * @param procId the procedure to abort<a name="line.862"></a>
+<span class="sourceLineNo">863</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.863"></a>
+<span class="sourceLineNo">864</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.864"></a>
+<span class="sourceLineNo">865</span> */<a name="line.865"></a>
+<span class="sourceLineNo">866</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.866"></a>
+<span class="sourceLineNo">867</span> final Procedure proc = procedures.get(procId);<a name="line.867"></a>
+<span class="sourceLineNo">868</span> if (proc != null) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.869"></a>
+<span class="sourceLineNo">870</span> return false;<a name="line.870"></a>
+<span class="sourceLineNo">871</span> }<a name="line.871"></a>
+<span class="sourceLineNo">872</span> return proc.abort(getEnvironment());<a name="line.872"></a>
+<span class="sourceLineNo">873</span> }<a name="line.873"></a>
+<span class="sourceLineNo">874</span> return false;<a name="line.874"></a>
+<span class="sourceLineNo">875</span> }<a name="line.875"></a>
+<span class="sourceLineNo">876</span><a name="line.876"></a>
+<span class="sourceLineNo">877</span> // ==========================================================================<a name="line.877"></a>
+<span class="sourceLineNo">878</span> // Executor query helpers<a name="line.878"></a>
+<span class="sourceLineNo">879</span> // ==========================================================================<a name="line.879"></a>
+<span class="sourceLineNo">880</span> public Procedure getProcedure(final long procId) {<a name="line.880"></a>
+<span class="sourceLineNo">881</span> return procedures.get(procId);<a name="line.881"></a>
+<span class="sourceLineNo">882</span> }<a name="line.882"></a>
+<span class="sourceLineNo">883</span><a name="line.883"></a>
+<span class="sourceLineNo">884</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span> final Procedure proc = getProcedure(procId);<a name="line.885"></a>
+<span class="sourceLineNo">886</span> if (clazz.isInstance(proc)) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span> return (T)proc;<a name="line.887"></a>
+<span class="sourceLineNo">888</span> }<a name="line.888"></a>
+<span class="sourceLineNo">889</span> return null;<a name="line.889"></a>
+<span class="sourceLineNo">890</span> }<a name="line.890"></a>
+<span class="sourceLineNo">891</span><a name="line.891"></a>
+<span class="sourceLineNo">892</span> public ProcedureInfo getResult(final long procId) {<a name="line.892"></a>
+<span class="sourceLineNo">893</span> return completed.get(procId);<a name="line.893"></a>
+<span class="sourceLineNo">894</span> }<a name="line.894"></a>
+<span class="sourceLineNo">895</span><a name="line.895"></a>
+<span class="sourceLineNo">896</span> /**<a name="line.896"></a>
+<span class="sourceLineNo">897</span> * Return true if the procedure is finished.<a name="line.897"></a>
+<span class="sourceLineNo">898</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.898"></a>
+<span class="sourceLineNo">899</span> * Use getResult() to check the state or get the result data.<a name="line.899"></a>
+<span class="sourceLineNo">900</span> * @param procId the ID of the procedure to check<a name="line.900"></a>
+<span class="sourceLineNo">901</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.901"></a>
+<span class="sourceLineNo">902</span> */<a name="line.902"></a>
+<span class="sourceLineNo">903</span> public boolean isFinished(final long procId) {<a name="line.903"></a>
+<span class="sourceLineNo">904</span> return !procedures.containsKey(procId);<a name="line.904"></a>
+<span class="sourceLineNo">905</span> }<a name="line.905"></a>
+<span class="sourceLineNo">906</span><a name="line.906"></a>
+<span class="sourceLineNo">907</span> /**<a name="line.907"></a>
+<span class="sourceLineNo">908</span> * Return true if the procedure is started.<a name="line.908"></a>
+<span class="sourceLineNo">909</span> * @param procId the ID of the procedure to check<a name="line.909"></a>
+<span class="sourceLineNo">910</span> * @return true if the procedure execution is started, otherwise false.<a name="line.910"></a>
+<span class="sourceLineNo">911</span> */<a name="line.911"></a>
+<span class="sourceLineNo">912</span> public boolean isStarted(final long procId) {<a name="line.912"></a>
+<span class="sourceLineNo">913</span> final Procedure proc = procedures.get(procId);<a name="line.913"></a>
+<span class="sourceLineNo">914</span> if (proc == null) {<a name="line.914"></a>
+<span class="sourceLineNo">915</span> return completed.get(procId) != null;<a name="line.915"></a>
+<span class="sourceLineNo">916</span> }<a name="line.916"></a>
+<span class="sourceLineNo">917</span> return proc.wasExecuted();<a name="line.917"></a>
+<span class="sourceLineNo">918</span> }<a name="line.918"></a>
+<span class="sourceLineNo">919</span><a name="line.919"></a>
+<span class="sourceLineNo">920</span> /**<a name="line.920"></a>
+<span class="sourceLineNo">921</span> * Mark the specified completed procedure, as ready to remove.<a name="line.921"></a>
+<span class="sourceLineNo">922</span> * @param procId the ID of the procedure to remove<a name="line.922"></a>
+<span class="sourceLineNo">923</span> */<a name="line.923"></a>
+<span class="sourceLineNo">924</span> public void removeResult(final long procId) {<a name="line.924"></a>
+<span class="sourceLineNo">925</span> final ProcedureInfo result = completed.get(procId);<a name="line.925"></a>
+<span class="sourceLineNo">926</span> if (result == null) {<a name="line.926"></a>
+<span class="sourceLineNo">927</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.927"></a>
+<span class="sourceLineNo">928</span> if (LOG.isDebugEnabled()) {<a name="line.928"></a>
+<span class="sourceLineNo">929</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.929"></a>
+<span class="sourceLineNo">930</span> }<a name="line.930"></a>
+<span class="sourceLineNo">931</span> return;<a name="line.931"></a>
+<span class="sourceLineNo">932</span> }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.934"></a>
+<span class="sourceLineNo">935</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.935"></a>
+<span class="sourceLineNo">936</span> }<a name="line.936"></a>
+<span class="sourceLineNo">937</span><a name="line.937"></a>
+<span class="sourceLineNo">938</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.938"></a>
+<span class="sourceLineNo">939</span> ProcedureInfo result = completed.get(procId);<a name="line.939"></a>
+<span class="sourceLineNo">940</span> Procedure proc = null;<a name="line.940"></a>
+<span class="sourceLineNo">941</span> if (result == null) {<a name="line.941"></a>
+<span class="sourceLineNo">942</span> proc = procedures.get(procId);<a name="line.942"></a>
+<span class="sourceLineNo">943</span> if (proc == null) {<a name="line.943"></a>
+<span class="sourceLineNo">944</span> result = completed.get(procId);<a name="line.944"></a>
+<span class="sourceLineNo">945</span> }<a name="line.945"></a>
+<span class="sourceLineNo">946</span> }<a name="line.946"></a>
+<span class="sourceLineNo">947</span> return new Pair(result, proc);<a name="line.947"></a>
+<span class="sourceLineNo">948</span> }<a name="line.948"></a>
+<span class="sourceLineNo">949</span><a name="line.949"></a>
+<span class="sourceLineNo">950</span> /**<a name="line.950"></a>
+<span class="sourceLineNo">951</span> * Check if the user is this procedure's owner<a name="line.951"></a>
+<span class="sourceLineNo">952</span> * @param procId the target procedure<a name="line.952"></a>
+<span class="sourceLineNo">953</span> * @param user the user<a name="line.953"></a>
+<span class="sourceLineNo">954</span> * @return true if the user is the owner of the procedure,<a name="line.954"></a>
+<span class="sourceLineNo">955</span> * false otherwise or the owner is unknown.<a name="line.955"></a>
+<span class="sourceLineNo">956</span> */<a name="line.956"></a>
+<span class="sourceLineNo">957</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span> if (user == null) return false;<a name="line.958"></a>
+<span class="sourceLineNo">959</span><a name="line.959"></a>
+<span class="sourceLineNo">960</span> final Procedure proc = procedures.get(procId);<a name="line.960"></a>
+<span class="sourceLineNo">961</span> if (proc != null) {<a name="line.961"></a>
+<span class="sourceLineNo">962</span> return proc.getOwner().equals(user.getShortName());<a name="line.962"></a>
+<span class="sourceLineNo">963</span> }<a name="line.963"></a>
+<span class="sourceLineNo">964</span><a name="line.964"></a>
+<span class="sourceLineNo">965</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.965"></a>
+<span class="sourceLineNo">966</span> if (procInfo == null) {<a name="line.966"></a>
+<span class="sourceLineNo">967</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.967"></a>
+<span class="sourceLineNo">968</span> // At this time, we cannot check the owner of the procedure<a name="line.968"></a>
+<span class="sourceLineNo">969</span> return false;<a name="line.969"></a>
+<span class="sourceLineNo">970</span> }<a name="line.970"></a>
+<span class="sourceLineNo">971</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.971"></a>
+<span class="sourceLineNo">972</span> }<a name="line.972"></a>
+<span class="sourceLineNo">973</span><a name="line.973"></a>
+<span class="sourceLineNo">974</span> /**<a name="line.974"></a>
+<span class="sourceLineNo">975</span> * List procedures.<a name="line.975"></a>
+<span class="sourceLineNo">976</span> * @return the procedures in a list<a name="line.976"></a>
+<span class="sourceLineNo">977</span> */<a name="line.977"></a>
+<span class="sourceLineNo">978</span> public List<ProcedureInfo> listProcedures() {<a name="line.978"></a>
+<span class="sourceLineNo">979</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.979"></a>
+<span class="sourceLineNo">980</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.980"></a>
+<span class="sourceLineNo">981</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.981"></a>
+<span class="sourceLineNo">982</span> }<a name="line.982"></a>
+<span class="sourceLineNo">983</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.984"></a>
+<span class="sourceLineNo">985</span> // it could complete after we walk through procedures list and insert into<a name="line.985"></a>
+<span class="sourceLineNo">986</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.986"></a>
+<span class="sourceLineNo">987</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.987"></a>
+<span class="sourceLineNo">988</span> procedureLists.add(e.getValue());<a name="line.988"></a>
+<span class="sourceLineNo">989</span> }<a name="line.989"></a>
+<span class="sourceLineNo">990</span> return procedureLists;<a name="line.990"></a>
+<span class="sourceLineNo">991</span> }<a name="line.991"></a>
+<span class="sourceLineNo">992</span><a name="line.992"></a>
+<span class="sourceLineNo">993</span> // ==========================================================================<a name="line.993"></a>
+<span class="sourceLineNo">994</span> // Listeners helpers<a name="line.994"></a>
+<span class="sourceLineNo">995</span> // ==========================================================================<a name="line.995"></a>
+<span class="sourceLineNo">996</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.996"></a>
+<span class="sourceLineNo">997</span> this.listeners.add(listener);<a name="line.997"></a>
+<span class="sourceLineNo">998</span> }<a name="line.998"></a>
+<span class="sourceLineNo">999</span><a name="line.999"></a>
+<span class="sourceLineNo">1000</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span> return this.listeners.remove(listener);<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span> }<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span><a name="line.1003"></a>
+<span class="sourceLineNo">1004</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span> if (!this.listeners.isEmpty()) {<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span> try {<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span> listener.procedureLoaded(procId);<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span> } catch (Throwable e) {<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span> }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span> }<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span> }<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span><a name="line.1015"></a>
+<span class="sourceLineNo">1016</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span> if (!this.listeners.isEmpty()) {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span> try {<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span> listener.procedureAdded(procId);<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span> } catch (Throwable e) {<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span> }<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> }<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span> }<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span><a name="line.1027"></a>
+<span class="sourceLineNo">1028</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span> if (!this.listeners.isEmpty()) {<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span> try {<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span> listener.procedureFinished(procId);<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span> } catch (Throwable e) {<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span> }<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span> }<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span> }<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span><a name="line.1039"></a>
+<span class="sourceLineNo">1040</span> // ==========================================================================<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span> // Procedure IDs helpers<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span> // ==========================================================================<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span> private long nextProcId() {<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span> long procId = lastProcId.incrementAndGet();<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span> if (procId < 0) {<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span> procId = lastProcId.get();<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span> if (procId >= 0)<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span> break;<a name="line.1049"></a>
<span class="sourceLineNo">1050</span> }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span> }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span> return procId;<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span><a name="line.1055"></a>
-<span class="sourceLineNo">1056</span> @VisibleForTesting<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span> protected long getLastProcId() {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span> return lastProcId.get();<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span> }<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span><a name="line.1060"></a>
-<span class="sourceLineNo">1061</span> @VisibleForTesting<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span> public Set<Long> getActiveProcIds() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span> return procedures.keySet();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span> }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span><a name="line.1065"></a>
-<span class="sourceLineNo">1066</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span> }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span><a name="line.1069"></a>
-<span class="sourceLineNo">1070</span> // ==========================================================================<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span> // Executions<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span> // ==========================================================================<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span> private void executeProcedure(final Procedure proc) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span> if (rootProcId == null) {<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span> executeRollback(proc);<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span> return;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span> }<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span><a name="line.1080"></a>
-<span class="sourceLineNo">1081</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span> if (procStack == null) return;<a name="line.1082"></a>
+<span class="sourceLineNo">1051</span> while (procedures.containsKey(procId)) {<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span> procId = lastProcId.incrementAndGet();<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span> }<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span> return procId;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span> }<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span><a name="line.1058"></a>
+<span class="sourceLineNo">1059</span> @VisibleForTesting<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span> protected long getLastProcId() {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span> return lastProcId.get();<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span> }<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span> @VisibleForTesting<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span> public Set<Long> getActiveProcIds() {<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span> return procedures.keySet();<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span> }<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span><a name="line.1068"></a>
+<span class="sourceLineNo">1069</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span> }<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span><a name="line.1072"></a>
+<span class="sourceLineNo">1073</span> // ==========================================================================<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span> // Executions<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span> // ==========================================================================<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span> private void executeProcedure(final Procedure proc) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span> if (rootProcId == null) {<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span> executeRollback(proc);<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span> return;<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span> }<a name="line.1082"></a>
<span class="sourceLineNo">1083</span><a name="line.1083"></a>
-<span class="sourceLineNo">1084</span> do {<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span> // Try to acquire the execution<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span> if (!procStack.acquire(proc)) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span> if (procStack.setRollback()) {<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span> case LOCK_ACQUIRED:<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span> break;<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span> case LOCK_YIELD_WAIT:<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span> procStack.unsetRollback();<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span> scheduler.yield(proc);<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span> break;<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span> case LOCK_EVENT_WAIT:<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span> procStack.unsetRollback();<a name="line.1097"></a>
+<span class="sourceLineNo">1084</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span> if (procStack == null) return;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span><a name="line.1086"></a>
+<span class="sourceLineNo">1087</span> do {<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span> // Try to acquire the execution<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span> if (!procStack.acquire(proc)) {<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span> if (procStack.setRollback()) {<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span> case LOCK_ACQUIRED:<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span> break;<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span> case LOCK_YIELD_WAIT:<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span> procStack.unsetRollback();<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span> scheduler.yield(proc);<a name="line.1097"></a>
<span class="sourceLineNo">1098</span> break;<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span> default:<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span> throw new UnsupportedOperationException();<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> }<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span> } else {<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span> // if we can't rollback means that some child is still running.<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span> // the rollback will be executed after all the children are done.<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> if (!proc.wasExecuted()) {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> switch (executeRollback(proc)) {<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> case LOCK_ACQUIRED:<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> break;<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> case LOCK_YIELD_WAIT:<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span> scheduler.yield(proc);<a name="line.1111"></a>
+<span class="sourceLineNo">1099</span> case LOCK_EVENT_WAIT:<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span> procStack.unsetRollback();<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span> break;<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span> default:<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span> throw new UnsupportedOperationException();<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span> }<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span> } else {<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span> // if we can't rollback means that some child is still running.<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> // the rollback will be executed after all the children are done.<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> if (!proc.wasExecuted()) {<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> switch (executeRollback(proc)) {<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> case LOCK_ACQUIRED:<a name="line.1111"></a>
<span class="sourceLineNo">1112</span> break;<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> case LOCK_EVENT_WAIT:<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> break;<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> default:<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span> throw new UnsupportedOperationException();<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> }<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> }<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> }<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> break;<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span><a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> // Execute the procedure<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> switch (acquireLock(proc)) {<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> case LOCK_ACQUIRED:<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> execProcedure(procStack, proc);<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span> releaseLock(proc, false);<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> break;<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> case LOCK_YIELD_WAIT:<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> scheduler.yield(proc);<a name="line.1131"></a>
+<span class="sourceLineNo">1113</span> case LOCK_YIELD_WAIT:<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> scheduler.yield(proc);<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> break;<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> case LOCK_EVENT_WAIT:<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> break;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span> default:<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> throw new UnsupportedOperationException();<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> }<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> }<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> break;<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> }<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> // Execute the procedure<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> switch (acquireLock(proc)) {<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> case LOCK_ACQUIRED:<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span> execProcedure(procStack, proc);<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> releaseLock(proc, false);<a name="line.1131"></a>
<span class="sourceLineNo">1132</span> break;<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> case LOCK_EVENT_WAIT:<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> // someone will wake us up when the lock is available<a name="line.1134"></a>
+<span class="sourceLineNo">1133</span> case LOCK_YIELD_WAIT:<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> scheduler.yield(proc);<a name="line.1134"></a>
<span class="sourceLineNo">1135</span> break;<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> default:<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> throw new UnsupportedOperationException();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> procStack.release(proc);<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> // allows to kill the executor before something is stored to the wal.<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span> // useful to test the procedure recovery.<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (testing != null && !isRunning()) {<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> break;<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span> }<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> if (proc.isSuccess()) {<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> if (LOG.isDebugEnabled()) {<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> }<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> // Finalize the procedure state<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span> if (proc.getProcId() == rootProcId) {<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> procedureFinished(proc);<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> } else {<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> execCompletionCleanup(proc);<a name="line.1155"></a>
+<span class="sourceLineNo">1136</span> case LOCK_EVENT_WAIT:<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> // someone will wake us up when the lock is available<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> break;<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> default:<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> throw new UnsupportedOperationException();<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> }<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> procStack.release(proc);<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span><a name="line.1143"></a>
+<span class="sourceLineNo">1144</span> // allows to kill the executor before something is stored to the wal.<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> // useful to test the procedure recovery.<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> if (testing != null && !isRunning()) {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span> break;<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> }<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> if (proc.isSuccess()) {<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span> // update metrics on finishing the procedure<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> proc.updateMetricsOnFinish(getEnvironment(), proc.elapsedTime(), true);<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span><a name="line.1153"></a>
+<span class="sourceLineNo">1154</span> if (LOG.isDebugEnabled()) {<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1155"></a>
<span class="sourceLineNo">1156</span> }<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> break;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> } while (procStack.isFailed());<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span> }<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span><a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> private LockState acquireLock(final Procedure proc) {<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> final TEnvironment env = getEnvironment();<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> // hasLock() is used in conjunction with holdLock().<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> return LockState.LOCK_ACQUIRED;<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> }<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> return proc.doAcquireLock(env);<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> }<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> final TEnvironment env = getEnvironment();<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // for how the framework works, we know that we will always have the lock<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span> if (force || !proc.holdLock(env)) {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> proc.doReleaseLock(env);<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> }<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span> }<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span><a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> /**<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> * Execute the rollback of the full procedure stack.<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> * finished to user, and the result will be the fatal exception.<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> */<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> if (exception == null) {<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> exception = procStack.getException();<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span> rootProc.setFailure(exception);<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> store.update(rootProc);<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> }<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span><a name="line.1195"></a>
-<span class="sourceLineNo">1196</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span><a name="line.1198"></a>
-<span class="sourceLineNo">1199</span> int stackTail = subprocStack.size();<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> boolean reuseLock = false;<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> while (stackTail --> 0) {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span><a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> LockState lockState;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> // queue waiting for the lock availability<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span> return lockState;<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> }<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> lockState = executeRollback(proc);<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // If the next procedure is the same to this one<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> // we can avoid to lock/unlock each step<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span> if (!reuseLock) {<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> releaseLock(proc, false);<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> }<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span><a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // allows to kill the executor before something is stored to the wal.<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // useful to test the procedure recovery.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> if (abortRollback) {<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> return lockState;<a name="line.1226"></a>
+<span class="sourceLineNo">1157</span> // Finalize the procedure state<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> if (proc.getProcId() == rootProcId) {<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> procedureFinished(proc);<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> } else {<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> execCompletionCleanup(proc);<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span> }<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> break;<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> }<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> } while (procStack.isFailed());<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> }<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span><a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> private LockState acquireLock(final Procedure proc) {<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> final TEnvironment env = getEnvironment();<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> // hasLock() is used in conjunction with holdLock().<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> return LockState.LOCK_ACQUIRED;<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> }<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> return proc.doAcquireLock(env);<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> }<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span><a name="line.1178"></a>
+<span class="sourceLineNo">1179</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> final TEnvironment env = getEnvironment();<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> // for how the framework works, we know that we will always have the lock<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> if (force || !proc.holdLock(env)) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> proc.doReleaseLock(env);<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> }<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span> }<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span><a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> /**<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> * Execute the rollback of the full procedure stack.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> * finished to user, and the result will be the fatal exception.<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> */<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> if (exception == null) {<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> exception = procStack.getException();<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span> rootProc.setFailure(exception);<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> store.update(rootProc);<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span><a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> int stackTail = subprocStack.size();<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> boolean reuseLock = false;<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> while (stackTail --> 0) {<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span><a name="line.1209"></a>
+<span class="sourceLineNo">1210</span> LockState lockState;<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> // queue waiting for the lock availability<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> return lockState;<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> }<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span><a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> lockState = executeRollback(proc);<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span><a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> // If the next procedure is the same to this one<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> // we can avoid to lock/unlock each step<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> if (!reuseLock) {<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> releaseLock(proc, false);<a name="line.1226"></a>
<span class="sourceLineNo">1227</span> }<a name="line.1227"></a>
<span class="sourceLineNo">1228</span><a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> subprocStack.remove(stackTail);<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span><a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> // if the procedure is kind enough to pass the slot to someone else, yield<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span> if (proc.isYieldAfterExecutionStep(getEnvironment())) {<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> }<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span><a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> if (proc != rootProc) {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> execCompletionCleanup(proc);<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span> }<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span><a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> // Finalize the procedure state<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> LOG.info("Rolled back " + rootProc +<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> " exec-time=" + StringUtils.humanTimeDiff(rootProc.elapsedTime()));<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> procedureFinished(rootProc);<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> return LockState.LOCK_ACQUIRED;<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span> }<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> /**<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> * Execute the rollback of the procedure step.<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> * It updates the store with the new state (stack index)<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> * or will remove completly the procedure in case it is a child.<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> */<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span> private LockState executeRollback(final Procedure proc) {<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> try {<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> proc.doRollback(getEnvironment());<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> } catch (IOException e) {<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> if (LOG.isDebugEnabled()) {<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> LOG.debug("Roll back attempt failed for " + proc, e);<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> }<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> } catch (InterruptedException e) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> handleInterruptedException(proc, e);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span> } catch (Throwable e) {<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> // Catch NullPointerExceptions or similar errors...<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> LOG.fatal("CODE-BUG: Uncatched runtime exception for procedure: " + proc, e);<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> }<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span><a name="line.1268"></a>
-<span class="sourceLineNo">1269</span> // allows to kill the executor before something is stored to the wal.<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> // useful to test the procedure recovery.<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> if (testing != null && testing.shouldKillBeforeStoreUpdate()) {<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> LOG.debug("TESTING: Kill before store update");<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span> stop();<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> }<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> if (proc.removeStackIndex()) {<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> proc.setState(ProcedureState.ROLLEDBACK);<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span> if (proc.hasParent()) {<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> store.delete(proc.getProcId());<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> procedures.remove(proc.getProcId());<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> } else {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> final long[] childProcIds = rollbackStack.get(proc.getProcId()).getSubprocedureIds();<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> if (childProcIds != null) {<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span> store.delete(proc, childProcIds);<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> } else {<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> store.update(proc);<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> }<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> } else {<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span> store.update(proc);<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> }<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span><a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> return LockState.LOCK_ACQUIRED;<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span><a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> * Executes the specified procedure<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> * - calls the doExecute() of the procedure<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> * - if the procedure execution didn't fail (e.g. invalid user input)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> * - ...and returned subprocedures<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span> * - the subprocedures are initialized.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> * - the subprocedures are added to the store<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> * - the subprocedures are added to the runnable queue<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> * - the procedure is now in a WAITING state, waiting for the subprocedures to complete<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span> * - ...if there are no subprocedure<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> * - the procedure completed successfully<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> * - if there is a parent (WAITING)<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> * - the parent state will be set to RUNNABLE<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span> * - in case of failure<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> * - the store is updated with the new state<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> * - the executor (caller of this method) will start the rollback of the procedure<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> */<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span> private void execProcedure(final RootProcedureState procStack, final Procedure procedure) {<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> Preconditions.checkArgument(procedure.getState() == ProcedureState.RUNNABLE);<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span><a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> // Execute the procedure<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> boolean suspended = false;<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> boolean reExecute = false;<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> Procedure[] subprocs = null;<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> do {<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> reExecute = false;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> try {<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span> subprocs = procedure.doExecute(getEnvironment());<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (subprocs != null && subprocs.length == 0) {<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> subprocs = null;<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span> }<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> } catch (ProcedureSuspendedException e) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> suspended = true;<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> } catch (ProcedureYieldException e) {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> if (LOG.isTraceEnabled()) {<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> LOG.trace("Yield " + procedure + ": " + e.getMessage());<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span> }<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> scheduler.yield(procedure);<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> return;<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> } catch (InterruptedException e) {<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> handleInterruptedException(procedure, e);<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> scheduler.yield(procedure);<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span> return;<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> } catch (Throwable e) {<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // Catch NullPointerExceptions or similar errors...<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> String msg = "CODE-BUG: Uncaught runtime exception: " + procedure;<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> LOG.error(msg, e);<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> procedure.setFailure(new RemoteProcedureException(msg, e));<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span> }<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span><a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> if (!procedure.isFailed()) {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> if (subprocs != null) {<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span> if (subprocs.length == 1 && subprocs[0] == procedure) {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span> // quick-shortcut for a state machine like procedure<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> subprocs = null;<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> reExecute = true;<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> } else {<a name="line.1353"></a>
-<span class="sourceLineNo">1354</s
<TRUNCATED>
[03/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html
new file mode 100644
index 0000000..7406ba1
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html
@@ -0,0 +1,326 @@
+<!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><a name="line.18"></a>
+<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.procedure2;<a name="line.19"></a>
+<span class="sourceLineNo">020</span><a name="line.20"></a>
+<span class="sourceLineNo">021</span>import org.apache.commons.logging.Log;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import org.apache.commons.logging.LogFactory;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.fs.FileSystem;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.fs.Path;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.HBaseCommonTestingUtility;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.junit.After;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.junit.Before;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.junit.Test;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.junit.experimental.categories.Category;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.io.IOException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span><a name="line.35"></a>
+<span class="sourceLineNo">036</span>import static org.junit.Assert.assertEquals;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import static org.junit.Assert.assertNotEquals;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import static org.junit.Assert.assertTrue;<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>@Category({MasterTests.class, SmallTests.class})<a name="line.40"></a>
+<span class="sourceLineNo">041</span>public class TestProcedureMetrics {<a name="line.41"></a>
+<span class="sourceLineNo">042</span> private static final Log LOG = LogFactory.getLog(TestProcedureMetrics.class);<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span> private static final int PROCEDURE_EXECUTOR_SLOTS = 1;<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span> private TestProcEnv procEnv;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> private static ProcedureExecutor<TestProcEnv> procExecutor;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> private ProcedureStore procStore;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span> private HBaseCommonTestingUtility htu;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> private FileSystem fs;<a name="line.51"></a>
+<span class="sourceLineNo">052</span> private Path testDir;<a name="line.52"></a>
+<span class="sourceLineNo">053</span> private Path logDir;<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span> private static int beginCount = 0;<a name="line.55"></a>
+<span class="sourceLineNo">056</span> private static int successCount = 0;<a name="line.56"></a>
+<span class="sourceLineNo">057</span> private static int failedCount = 0;<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> @Before<a name="line.60"></a>
+<span class="sourceLineNo">061</span> public void setUp() throws IOException {<a name="line.61"></a>
+<span class="sourceLineNo">062</span> htu = new HBaseCommonTestingUtility();<a name="line.62"></a>
+<span class="sourceLineNo">063</span> testDir = htu.getDataTestDir();<a name="line.63"></a>
+<span class="sourceLineNo">064</span> fs = testDir.getFileSystem(htu.getConfiguration());<a name="line.64"></a>
+<span class="sourceLineNo">065</span> assertTrue(testDir.depth() > 1);<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span> logDir = new Path(testDir, "proc-logs");<a name="line.67"></a>
+<span class="sourceLineNo">068</span> procEnv = new TestProcEnv();<a name="line.68"></a>
+<span class="sourceLineNo">069</span> procStore = ProcedureTestingUtility.createStore(htu.getConfiguration(), fs, logDir);<a name="line.69"></a>
+<span class="sourceLineNo">070</span> procExecutor = new ProcedureExecutor<TestProcEnv>(htu.getConfiguration(), procEnv, procStore);<a name="line.70"></a>
+<span class="sourceLineNo">071</span> procExecutor.testing = new ProcedureExecutor.Testing();<a name="line.71"></a>
+<span class="sourceLineNo">072</span> procStore.start(PROCEDURE_EXECUTOR_SLOTS);<a name="line.72"></a>
+<span class="sourceLineNo">073</span> procExecutor.start(PROCEDURE_EXECUTOR_SLOTS, true);<a name="line.73"></a>
+<span class="sourceLineNo">074</span> }<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span> @After<a name="line.76"></a>
+<span class="sourceLineNo">077</span> public void tearDown() throws IOException {<a name="line.77"></a>
+<span class="sourceLineNo">078</span> procExecutor.stop();<a name="line.78"></a>
+<span class="sourceLineNo">079</span> procStore.stop(false);<a name="line.79"></a>
+<span class="sourceLineNo">080</span> fs.delete(logDir, true);<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> @Test<a name="line.83"></a>
+<span class="sourceLineNo">084</span> public void testMetricForSimpleProcedure() throws Exception {<a name="line.84"></a>
+<span class="sourceLineNo">085</span> // procedure that executes successfully<a name="line.85"></a>
+<span class="sourceLineNo">086</span> ProcedureMetrics proc = new ProcedureMetrics(true);<a name="line.86"></a>
+<span class="sourceLineNo">087</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.87"></a>
+<span class="sourceLineNo">088</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.88"></a>
+<span class="sourceLineNo">089</span> beginCount++;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> successCount++;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.91"></a>
+<span class="sourceLineNo">092</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.92"></a>
+<span class="sourceLineNo">093</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.93"></a>
+<span class="sourceLineNo">094</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<a name="line.94"></a>
+<span class="sourceLineNo">095</span> }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span> @Test<a name="line.97"></a>
+<span class="sourceLineNo">098</span> public void testMetricsForFailedProcedure() throws Exception {<a name="line.98"></a>
+<span class="sourceLineNo">099</span> // procedure that fails<a name="line.99"></a>
+<span class="sourceLineNo">100</span> ProcedureMetrics proc = new ProcedureMetrics(false);<a name="line.100"></a>
+<span class="sourceLineNo">101</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.101"></a>
+<span class="sourceLineNo">102</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.102"></a>
+<span class="sourceLineNo">103</span> beginCount++;<a name="line.103"></a>
+<span class="sourceLineNo">104</span> failedCount++;<a name="line.104"></a>
+<span class="sourceLineNo">105</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.105"></a>
+<span class="sourceLineNo">106</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.106"></a>
+<span class="sourceLineNo">107</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.107"></a>
+<span class="sourceLineNo">108</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<a name="line.108"></a>
+<span class="sourceLineNo">109</span> }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span> @Test<a name="line.111"></a>
+<span class="sourceLineNo">112</span> public void testMetricForYieldProcedure() throws Exception {<a name="line.112"></a>
+<span class="sourceLineNo">113</span> // procedure that yields<a name="line.113"></a>
+<span class="sourceLineNo">114</span> ProcedureMetrics proc = new ProcedureMetrics(true, true);<a name="line.114"></a>
+<span class="sourceLineNo">115</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.115"></a>
+<span class="sourceLineNo">116</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.116"></a>
+<span class="sourceLineNo">117</span> beginCount++;<a name="line.117"></a>
+<span class="sourceLineNo">118</span> successCount++;<a name="line.118"></a>
+<span class="sourceLineNo">119</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.119"></a>
+<span class="sourceLineNo">120</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.120"></a>
+<span class="sourceLineNo">121</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.121"></a>
+<span class="sourceLineNo">122</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<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> @Test<a name="line.125"></a>
+<span class="sourceLineNo">126</span> public void testMetricForFailedYiledProcedure() {<a name="line.126"></a>
+<span class="sourceLineNo">127</span> // procedure that yields and fails<a name="line.127"></a>
+<span class="sourceLineNo">128</span> ProcedureMetrics proc = new ProcedureMetrics(false, true);<a name="line.128"></a>
+<span class="sourceLineNo">129</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.129"></a>
+<span class="sourceLineNo">130</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.130"></a>
+<span class="sourceLineNo">131</span> beginCount++;<a name="line.131"></a>
+<span class="sourceLineNo">132</span> failedCount++;<a name="line.132"></a>
+<span class="sourceLineNo">133</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.133"></a>
+<span class="sourceLineNo">134</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.134"></a>
+<span class="sourceLineNo">135</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.135"></a>
+<span class="sourceLineNo">136</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<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 testMetricForProcedureWithChildren() throws Exception {<a name="line.140"></a>
+<span class="sourceLineNo">141</span> // Procedure that yileds with one of the sub-procedures that fail<a name="line.141"></a>
+<span class="sourceLineNo">142</span> int subProcCount = 10;<a name="line.142"></a>
+<span class="sourceLineNo">143</span> int failChildIndex = 2;<a name="line.143"></a>
+<span class="sourceLineNo">144</span> int yiledChildIndex = -1;<a name="line.144"></a>
+<span class="sourceLineNo">145</span> ProcedureMetrics[] subprocs = new ProcedureMetrics[subProcCount];<a name="line.145"></a>
+<span class="sourceLineNo">146</span> for (int i = 0; i < subProcCount; ++i) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span> subprocs[i] = new ProcedureMetrics(failChildIndex != i, yiledChildIndex == i, 3);<a name="line.147"></a>
+<span class="sourceLineNo">148</span> }<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span> ProcedureMetrics proc = new ProcedureMetrics(true, true, 3, subprocs);<a name="line.150"></a>
+<span class="sourceLineNo">151</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.151"></a>
+<span class="sourceLineNo">152</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.152"></a>
+<span class="sourceLineNo">153</span> beginCount += subProcCount + 1;<a name="line.153"></a>
+<span class="sourceLineNo">154</span> successCount += subProcCount - (failChildIndex + 1);<a name="line.154"></a>
+<span class="sourceLineNo">155</span> if (failChildIndex >= 0) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span> failedCount += subProcCount + 1;<a name="line.156"></a>
+<span class="sourceLineNo">157</span> } else {<a name="line.157"></a>
+<span class="sourceLineNo">158</span> successCount++;<a name="line.158"></a>
+<span class="sourceLineNo">159</span> }<a name="line.159"></a>
+<span class="sourceLineNo">160</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.160"></a>
+<span class="sourceLineNo">161</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.161"></a>
+<span class="sourceLineNo">162</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.162"></a>
+<span class="sourceLineNo">163</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<a name="line.163"></a>
+<span class="sourceLineNo">164</span> }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span> private static class TestProcEnv {<a name="line.166"></a>
+<span class="sourceLineNo">167</span> public boolean toggleKillBeforeStoreUpdate = false;<a name="line.167"></a>
+<span class="sourceLineNo">168</span> public boolean triggerRollbackOnChild = false;<a name="line.168"></a>
+<span class="sourceLineNo">169</span> }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span> public static class ProcedureMetrics extends SequentialProcedure<TestProcEnv> {<a name="line.171"></a>
+<span class="sourceLineNo">172</span> public static long beginCount = 0;<a name="line.172"></a>
+<span class="sourceLineNo">173</span> public static long successCount = 0;<a name="line.173"></a>
+<span class="sourceLineNo">174</span> public static long failedCount = 0;<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span> private boolean success;<a name="line.176"></a>
+<span class="sourceLineNo">177</span> private boolean yield;<a name="line.177"></a>
+<span class="sourceLineNo">178</span> private int yieldCount;<a name="line.178"></a>
+<span class="sourceLineNo">179</span> private int yieldNum;<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span> private ProcedureMetrics[] subprocs = null;<a name="line.181"></a>
+<span class="sourceLineNo">182</span><a name="line.182"></a>
+<span class="sourceLineNo">183</span> public ProcedureMetrics() {<a name="line.183"></a>
+<span class="sourceLineNo">184</span> this(true);<a name="line.184"></a>
+<span class="sourceLineNo">185</span> }<a name="line.185"></a>
+<span class="sourceLineNo">186</span><a name="line.186"></a>
+<span class="sourceLineNo">187</span> public ProcedureMetrics(boolean success) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span> this(success, true);<a name="line.188"></a>
+<span class="sourceLineNo">189</span> }<a name="line.189"></a>
+<span class="sourceLineNo">190</span><a name="line.190"></a>
+<span class="sourceLineNo">191</span> public ProcedureMetrics(boolean success, boolean yield) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span> this(success, yield, 1);<a name="line.192"></a>
+<span class="sourceLineNo">193</span> }<a name="line.193"></a>
+<span class="sourceLineNo">194</span><a name="line.194"></a>
+<span class="sourceLineNo">195</span> public ProcedureMetrics(boolean success, boolean yield, int yieldCount) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span> this(success, yield, yieldCount, null);<a name="line.196"></a>
+<span class="sourceLineNo">197</span> }<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span> public ProcedureMetrics(boolean success, ProcedureMetrics[] subprocs) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span> this(success, false, 1, subprocs);<a name="line.200"></a>
+<span class="sourceLineNo">201</span> }<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span> public ProcedureMetrics(boolean success, boolean yield, int yieldCount,<a name="line.203"></a>
+<span class="sourceLineNo">204</span> ProcedureMetrics[] subprocs) {<a name="line.204"></a>
+<span class="sourceLineNo">205</span> this.success = success;<a name="line.205"></a>
+<span class="sourceLineNo">206</span> this.yield = yield;<a name="line.206"></a>
+<span class="sourceLineNo">207</span> this.yieldCount = yieldCount;<a name="line.207"></a>
+<span class="sourceLineNo">208</span> this.subprocs = subprocs;<a name="line.208"></a>
+<span class="sourceLineNo">209</span> yieldNum = 0;<a name="line.209"></a>
+<span class="sourceLineNo">210</span> }<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span> @Override<a name="line.212"></a>
+<span class="sourceLineNo">213</span> protected void updateMetricsOnSubmit(TestProcEnv env) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span> beginCount++;<a name="line.214"></a>
+<span class="sourceLineNo">215</span> }<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span> @Override<a name="line.217"></a>
+<span class="sourceLineNo">218</span> protected Procedure[] execute(TestProcEnv env) throws ProcedureYieldException,<a name="line.218"></a>
+<span class="sourceLineNo">219</span> ProcedureSuspendedException, InterruptedException {<a name="line.219"></a>
+<span class="sourceLineNo">220</span> if (this.yield) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span> if (yieldNum < yieldCount) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span> yieldNum++;<a name="line.222"></a>
+<span class="sourceLineNo">223</span> throw new ProcedureYieldException();<a name="line.223"></a>
+<span class="sourceLineNo">224</span> }<a name="line.224"></a>
+<span class="sourceLineNo">225</span> }<a name="line.225"></a>
+<span class="sourceLineNo">226</span> if (!this.success) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> setFailure("Failed", new InterruptedException("Failed"));<a name="line.227"></a>
+<span class="sourceLineNo">228</span> return null;<a name="line.228"></a>
+<span class="sourceLineNo">229</span> }<a name="line.229"></a>
+<span class="sourceLineNo">230</span> return subprocs;<a name="line.230"></a>
+<span class="sourceLineNo">231</span> }<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span> @Override<a name="line.233"></a>
+<span class="sourceLineNo">234</span> protected void rollback(TestProcEnv env) throws IOException, InterruptedException {<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span> }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span> @Override<a name="line.238"></a>
+<span class="sourceLineNo">239</span> protected boolean abort(TestProcEnv env) {<a name="line.239"></a>
+<span class="sourceLineNo">240</span> return false;<a name="line.240"></a>
+<span class="sourceLineNo">241</span> }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span> @Override<a name="line.243"></a>
+<span class="sourceLineNo">244</span> protected void updateMetricsOnFinish(final TestProcEnv env, final long time,<a name="line.244"></a>
+<span class="sourceLineNo">245</span> boolean success) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span> if (success) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span> successCount++;<a name="line.247"></a>
+<span class="sourceLineNo">248</span> } else {<a name="line.248"></a>
+<span class="sourceLineNo">249</span> failedCount++;<a name="line.249"></a>
+<span class="sourceLineNo">250</span> }<a name="line.250"></a>
+<span class="sourceLineNo">251</span> }<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span> }<a name="line.253"></a>
+<span class="sourceLineNo">254</span>}<a name="line.254"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html
index a3ba133..9e2d08d 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html
@@ -27,180 +27,179 @@
<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.procedure2;<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.util.ArrayList;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.commons.logging.Log;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.commons.logging.LogFactory;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.fs.FileSystem;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.fs.Path;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HBaseCommonTestingUtility;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.junit.After;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.junit.Before;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.junit.Test;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.junit.experimental.categories.Category;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>import static org.junit.Assert.assertEquals;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import static org.junit.Assert.assertTrue;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>@Category({MasterTests.class, SmallTests.class})<a name="line.43"></a>
-<span class="sourceLineNo">044</span>public class TestStateMachineProcedure {<a name="line.44"></a>
-<span class="sourceLineNo">045</span> private static final Log LOG = LogFactory.getLog(TestStateMachineProcedure.class);<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span> private static final Exception TEST_FAILURE_EXCEPTION = new Exception("test failure") {<a name="line.47"></a>
-<span class="sourceLineNo">048</span> @Override<a name="line.48"></a>
-<span class="sourceLineNo">049</span> public boolean equals(final Object other) {<a name="line.49"></a>
-<span class="sourceLineNo">050</span> if (this == other) return true;<a name="line.50"></a>
-<span class="sourceLineNo">051</span> if (!(other instanceof Exception)) return false;<a name="line.51"></a>
-<span class="sourceLineNo">052</span> // we are going to serialize the exception in the test,<a name="line.52"></a>
-<span class="sourceLineNo">053</span> // so the instance comparison will not match<a name="line.53"></a>
-<span class="sourceLineNo">054</span> return getMessage().equals(((Exception)other).getMessage());<a name="line.54"></a>
-<span class="sourceLineNo">055</span> }<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span> @Override<a name="line.57"></a>
-<span class="sourceLineNo">058</span> public int hashCode() {<a name="line.58"></a>
-<span class="sourceLineNo">059</span> return getMessage().hashCode();<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><a name="line.62"></a>
-<span class="sourceLineNo">063</span> private static final int PROCEDURE_EXECUTOR_SLOTS = 1;<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span> private ProcedureExecutor<TestProcEnv> procExecutor;<a name="line.65"></a>
-<span class="sourceLineNo">066</span> private ProcedureStore procStore;<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span> private HBaseCommonTestingUtility htu;<a name="line.68"></a>
-<span class="sourceLineNo">069</span> private FileSystem fs;<a name="line.69"></a>
-<span class="sourceLineNo">070</span> private Path testDir;<a name="line.70"></a>
-<span class="sourceLineNo">071</span> private Path logDir;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span> @Before<a name="line.73"></a>
-<span class="sourceLineNo">074</span> public void setUp() throws IOException {<a name="line.74"></a>
-<span class="sourceLineNo">075</span> htu = new HBaseCommonTestingUtility();<a name="line.75"></a>
-<span class="sourceLineNo">076</span> testDir = htu.getDataTestDir();<a name="line.76"></a>
-<span class="sourceLineNo">077</span> fs = testDir.getFileSystem(htu.getConfiguration());<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span> logDir = new Path(testDir, "proc-logs");<a name="line.79"></a>
-<span class="sourceLineNo">080</span> procStore = ProcedureTestingUtility.createWalStore(htu.getConfiguration(), fs, logDir);<a name="line.80"></a>
-<span class="sourceLineNo">081</span> procExecutor = new ProcedureExecutor(htu.getConfiguration(), new TestProcEnv(), procStore);<a name="line.81"></a>
-<span class="sourceLineNo">082</span> procStore.start(PROCEDURE_EXECUTOR_SLOTS);<a name="line.82"></a>
-<span class="sourceLineNo">083</span> procExecutor.start(PROCEDURE_EXECUTOR_SLOTS, true);<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> @After<a name="line.86"></a>
-<span class="sourceLineNo">087</span> public void tearDown() throws IOException {<a name="line.87"></a>
-<span class="sourceLineNo">088</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, false);<a name="line.88"></a>
-<span class="sourceLineNo">089</span> assertTrue("expected executor to be running", procExecutor.isRunning());<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span> procExecutor.stop();<a name="line.91"></a>
-<span class="sourceLineNo">092</span> procStore.stop(false);<a name="line.92"></a>
-<span class="sourceLineNo">093</span> fs.delete(logDir, true);<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> @Test<a name="line.96"></a>
-<span class="sourceLineNo">097</span> public void testChildOnLastStep() {<a name="line.97"></a>
-<span class="sourceLineNo">098</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.98"></a>
-<span class="sourceLineNo">099</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.99"></a>
-<span class="sourceLineNo">100</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.100"></a>
-<span class="sourceLineNo">101</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.101"></a>
-<span class="sourceLineNo">102</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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> @Test<a name="line.105"></a>
-<span class="sourceLineNo">106</span> public void testChildOnLastStepDoubleExecution() throws Exception {<a name="line.106"></a>
-<span class="sourceLineNo">107</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.107"></a>
-<span class="sourceLineNo">108</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.108"></a>
-<span class="sourceLineNo">109</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId);<a name="line.109"></a>
-<span class="sourceLineNo">110</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.110"></a>
-<span class="sourceLineNo">111</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.111"></a>
-<span class="sourceLineNo">112</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<a name="line.112"></a>
-<span class="sourceLineNo">113</span> }<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span> @Test<a name="line.115"></a>
-<span class="sourceLineNo">116</span> public void testChildOnLastStepWithRollback() {<a name="line.116"></a>
-<span class="sourceLineNo">117</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.118"></a>
-<span class="sourceLineNo">119</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.119"></a>
-<span class="sourceLineNo">120</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.120"></a>
-<span class="sourceLineNo">121</span> assertEquals(3, procExecutor.getEnvironment().rollbackCount.get());<a name="line.121"></a>
-<span class="sourceLineNo">122</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.122"></a>
-<span class="sourceLineNo">123</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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 testChildOnLastStepWithRollbackDoubleExecution() throws Exception {<a name="line.127"></a>
-<span class="sourceLineNo">128</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.128"></a>
-<span class="sourceLineNo">129</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.129"></a>
-<span class="sourceLineNo">130</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.130"></a>
-<span class="sourceLineNo">131</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId, true);<a name="line.131"></a>
-<span class="sourceLineNo">132</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.132"></a>
-<span class="sourceLineNo">133</span> assertEquals(6, procExecutor.getEnvironment().rollbackCount.get());<a name="line.133"></a>
-<span class="sourceLineNo">134</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.134"></a>
-<span class="sourceLineNo">135</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<a name="line.135"></a>
-<span class="sourceLineNo">136</span> }<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span> public enum TestSMProcedureState { STEP_1, STEP_2 };<a name="line.138"></a>
-<span class="sourceLineNo">139</span> public static class TestSMProcedure<a name="line.139"></a>
-<span class="sourceLineNo">140</span> extends StateMachineProcedure<TestProcEnv, TestSMProcedureState> {<a name="line.140"></a>
-<span class="sourceLineNo">141</span> protected Flow executeFromState(TestProcEnv env, TestSMProcedureState state) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span> LOG.info("EXEC " + state + " " + this);<a name="line.142"></a>
-<span class="sourceLineNo">143</span> env.execCount.incrementAndGet();<a name="line.143"></a>
-<span class="sourceLineNo">144</span> switch (state) {<a name="line.144"></a>
-<span class="sourceLineNo">145</span> case STEP_1:<a name="line.145"></a>
-<span class="sourceLineNo">146</span> setNextState(TestSMProcedureState.STEP_2);<a name="line.146"></a>
-<span class="sourceLineNo">147</span> break;<a name="line.147"></a>
-<span class="sourceLineNo">148</span> case STEP_2:<a name="line.148"></a>
-<span class="sourceLineNo">149</span> addChildProcedure(new SimpleChildProcedure());<a name="line.149"></a>
-<span class="sourceLineNo">150</span> return Flow.NO_MORE_STATE;<a name="line.150"></a>
-<span class="sourceLineNo">151</span> }<a name="line.151"></a>
-<span class="sourceLineNo">152</span> return Flow.HAS_MORE_STATE;<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> protected void rollbackState(TestProcEnv env, TestSMProcedureState state) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> LOG.info("ROLLBACK " + state + " " + this);<a name="line.156"></a>
-<span class="sourceLineNo">157</span> env.rollbackCount.incrementAndGet();<a name="line.157"></a>
-<span class="sourceLineNo">158</span> }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span> protected TestSMProcedureState getState(int stateId) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> return TestSMProcedureState.values()[stateId];<a name="line.161"></a>
-<span class="sourceLineNo">162</span> }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span> protected int getStateId(TestSMProcedureState state) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span> return state.ordinal();<a name="line.165"></a>
-<span class="sourceLineNo">166</span> }<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span> protected TestSMProcedureState getInitialState() {<a name="line.168"></a>
-<span class="sourceLineNo">169</span> return TestSMProcedureState.STEP_1;<a name="line.169"></a>
-<span class="sourceLineNo">170</span> }<a name="line.170"></a>
-<span class="sourceLineNo">171</span> }<a name="line.171"></a>
-<span class="sourceLineNo">172</span><a name="line.172"></a>
-<span class="sourceLineNo">173</span> public static class SimpleChildProcedure extends NoopProcedure<TestProcEnv> {<a name="line.173"></a>
-<span class="sourceLineNo">174</span> protected Procedure[] execute(TestProcEnv env) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span> LOG.info("EXEC " + this);<a name="line.175"></a>
-<span class="sourceLineNo">176</span> env.execCount.incrementAndGet();<a name="line.176"></a>
-<span class="sourceLineNo">177</span> if (env.triggerChildRollback) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> setFailure("test-failure", TEST_FAILURE_EXCEPTION);<a name="line.178"></a>
-<span class="sourceLineNo">179</span> }<a name="line.179"></a>
-<span class="sourceLineNo">180</span> return null;<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> @Override<a name="line.183"></a>
-<span class="sourceLineNo">184</span> protected void rollback(TestProcEnv env) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span> LOG.info("ROLLBACK " + this);<a name="line.185"></a>
-<span class="sourceLineNo">186</span> env.rollbackCount.incrementAndGet();<a name="line.186"></a>
-<span class="sourceLineNo">187</span> }<a name="line.187"></a>
-<span class="sourceLineNo">188</span> }<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span> public class TestProcEnv {<a name="line.190"></a>
-<span class="sourceLineNo">191</span> AtomicInteger execCount = new AtomicInteger(0);<a name="line.191"></a>
-<span class="sourceLineNo">192</span> AtomicInteger rollbackCount = new AtomicInteger(0);<a name="line.192"></a>
-<span class="sourceLineNo">193</span> boolean triggerChildRollback = false;<a name="line.193"></a>
-<span class="sourceLineNo">194</span> }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>}<a name="line.195"></a>
+<span class="sourceLineNo">022</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.commons.logging.Log;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.commons.logging.LogFactory;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.fs.FileSystem;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.fs.Path;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.HBaseCommonTestingUtility;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.junit.After;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.junit.Before;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.junit.Test;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.junit.experimental.categories.Category;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>import static org.junit.Assert.assertEquals;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import static org.junit.Assert.assertTrue;<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>@Category({MasterTests.class, SmallTests.class})<a name="line.42"></a>
+<span class="sourceLineNo">043</span>public class TestStateMachineProcedure {<a name="line.43"></a>
+<span class="sourceLineNo">044</span> private static final Log LOG = LogFactory.getLog(TestStateMachineProcedure.class);<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span> private static final Exception TEST_FAILURE_EXCEPTION = new Exception("test failure") {<a name="line.46"></a>
+<span class="sourceLineNo">047</span> @Override<a name="line.47"></a>
+<span class="sourceLineNo">048</span> public boolean equals(final Object other) {<a name="line.48"></a>
+<span class="sourceLineNo">049</span> if (this == other) return true;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> if (!(other instanceof Exception)) return false;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> // we are going to serialize the exception in the test,<a name="line.51"></a>
+<span class="sourceLineNo">052</span> // so the instance comparison will not match<a name="line.52"></a>
+<span class="sourceLineNo">053</span> return getMessage().equals(((Exception)other).getMessage());<a name="line.53"></a>
+<span class="sourceLineNo">054</span> }<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span> @Override<a name="line.56"></a>
+<span class="sourceLineNo">057</span> public int hashCode() {<a name="line.57"></a>
+<span class="sourceLineNo">058</span> return getMessage().hashCode();<a name="line.58"></a>
+<span class="sourceLineNo">059</span> }<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> private static final int PROCEDURE_EXECUTOR_SLOTS = 1;<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span> private ProcedureExecutor<TestProcEnv> procExecutor;<a name="line.64"></a>
+<span class="sourceLineNo">065</span> private ProcedureStore procStore;<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span> private HBaseCommonTestingUtility htu;<a name="line.67"></a>
+<span class="sourceLineNo">068</span> private FileSystem fs;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> private Path testDir;<a name="line.69"></a>
+<span class="sourceLineNo">070</span> private Path logDir;<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span> @Before<a name="line.72"></a>
+<span class="sourceLineNo">073</span> public void setUp() throws IOException {<a name="line.73"></a>
+<span class="sourceLineNo">074</span> htu = new HBaseCommonTestingUtility();<a name="line.74"></a>
+<span class="sourceLineNo">075</span> testDir = htu.getDataTestDir();<a name="line.75"></a>
+<span class="sourceLineNo">076</span> fs = testDir.getFileSystem(htu.getConfiguration());<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span> logDir = new Path(testDir, "proc-logs");<a name="line.78"></a>
+<span class="sourceLineNo">079</span> procStore = ProcedureTestingUtility.createWalStore(htu.getConfiguration(), fs, logDir);<a name="line.79"></a>
+<span class="sourceLineNo">080</span> procExecutor = new ProcedureExecutor(htu.getConfiguration(), new TestProcEnv(), procStore);<a name="line.80"></a>
+<span class="sourceLineNo">081</span> procStore.start(PROCEDURE_EXECUTOR_SLOTS);<a name="line.81"></a>
+<span class="sourceLineNo">082</span> procExecutor.start(PROCEDURE_EXECUTOR_SLOTS, true);<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> @After<a name="line.85"></a>
+<span class="sourceLineNo">086</span> public void tearDown() throws IOException {<a name="line.86"></a>
+<span class="sourceLineNo">087</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, false);<a name="line.87"></a>
+<span class="sourceLineNo">088</span> assertTrue("expected executor to be running", procExecutor.isRunning());<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span> procExecutor.stop();<a name="line.90"></a>
+<span class="sourceLineNo">091</span> procStore.stop(false);<a name="line.91"></a>
+<span class="sourceLineNo">092</span> fs.delete(logDir, true);<a name="line.92"></a>
+<span class="sourceLineNo">093</span> }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span> @Test<a name="line.95"></a>
+<span class="sourceLineNo">096</span> public void testChildOnLastStep() {<a name="line.96"></a>
+<span class="sourceLineNo">097</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.97"></a>
+<span class="sourceLineNo">098</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.98"></a>
+<span class="sourceLineNo">099</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.99"></a>
+<span class="sourceLineNo">100</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.100"></a>
+<span class="sourceLineNo">101</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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> @Test<a name="line.104"></a>
+<span class="sourceLineNo">105</span> public void testChildOnLastStepDoubleExecution() throws Exception {<a name="line.105"></a>
+<span class="sourceLineNo">106</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.106"></a>
+<span class="sourceLineNo">107</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.107"></a>
+<span class="sourceLineNo">108</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId);<a name="line.108"></a>
+<span class="sourceLineNo">109</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.109"></a>
+<span class="sourceLineNo">110</span> assertEquals(0, procExecutor.getEnvironment().rollbackCount.get());<a name="line.110"></a>
+<span class="sourceLineNo">111</span> ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);<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 testChildOnLastStepWithRollback() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.116"></a>
+<span class="sourceLineNo">117</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.117"></a>
+<span class="sourceLineNo">118</span> ProcedureTestingUtility.waitProcedure(procExecutor, procId);<a name="line.118"></a>
+<span class="sourceLineNo">119</span> assertEquals(3, procExecutor.getEnvironment().execCount.get());<a name="line.119"></a>
+<span class="sourceLineNo">120</span> assertEquals(3, procExecutor.getEnvironment().rollbackCount.get());<a name="line.120"></a>
+<span class="sourceLineNo">121</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.121"></a>
+<span class="sourceLineNo">122</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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> @Test<a name="line.125"></a>
+<span class="sourceLineNo">126</span> public void testChildOnLastStepWithRollbackDoubleExecution() throws Exception {<a name="line.126"></a>
+<span class="sourceLineNo">127</span> procExecutor.getEnvironment().triggerChildRollback = true;<a name="line.127"></a>
+<span class="sourceLineNo">128</span> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor, true);<a name="line.128"></a>
+<span class="sourceLineNo">129</span> long procId = procExecutor.submitProcedure(new TestSMProcedure());<a name="line.129"></a>
+<span class="sourceLineNo">130</span> ProcedureTestingUtility.testRecoveryAndDoubleExecution(procExecutor, procId, true);<a name="line.130"></a>
+<span class="sourceLineNo">131</span> assertEquals(6, procExecutor.getEnvironment().execCount.get());<a name="line.131"></a>
+<span class="sourceLineNo">132</span> assertEquals(6, procExecutor.getEnvironment().rollbackCount.get());<a name="line.132"></a>
+<span class="sourceLineNo">133</span> Throwable cause = ProcedureTestingUtility.assertProcFailed(procExecutor, procId);<a name="line.133"></a>
+<span class="sourceLineNo">134</span> assertEquals(TEST_FAILURE_EXCEPTION, cause);<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> public enum TestSMProcedureState { STEP_1, STEP_2 };<a name="line.137"></a>
+<span class="sourceLineNo">138</span> public static class TestSMProcedure<a name="line.138"></a>
+<span class="sourceLineNo">139</span> extends StateMachineProcedure<TestProcEnv, TestSMProcedureState> {<a name="line.139"></a>
+<span class="sourceLineNo">140</span> protected Flow executeFromState(TestProcEnv env, TestSMProcedureState state) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span> LOG.info("EXEC " + state + " " + this);<a name="line.141"></a>
+<span class="sourceLineNo">142</span> env.execCount.incrementAndGet();<a name="line.142"></a>
+<span class="sourceLineNo">143</span> switch (state) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span> case STEP_1:<a name="line.144"></a>
+<span class="sourceLineNo">145</span> setNextState(TestSMProcedureState.STEP_2);<a name="line.145"></a>
+<span class="sourceLineNo">146</span> break;<a name="line.146"></a>
+<span class="sourceLineNo">147</span> case STEP_2:<a name="line.147"></a>
+<span class="sourceLineNo">148</span> addChildProcedure(new SimpleChildProcedure());<a name="line.148"></a>
+<span class="sourceLineNo">149</span> return Flow.NO_MORE_STATE;<a name="line.149"></a>
+<span class="sourceLineNo">150</span> }<a name="line.150"></a>
+<span class="sourceLineNo">151</span> return Flow.HAS_MORE_STATE;<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> protected void rollbackState(TestProcEnv env, TestSMProcedureState state) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span> LOG.info("ROLLBACK " + state + " " + this);<a name="line.155"></a>
+<span class="sourceLineNo">156</span> env.rollbackCount.incrementAndGet();<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> protected TestSMProcedureState getState(int stateId) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span> return TestSMProcedureState.values()[stateId];<a name="line.160"></a>
+<span class="sourceLineNo">161</span> }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span> protected int getStateId(TestSMProcedureState state) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span> return state.ordinal();<a name="line.164"></a>
+<span class="sourceLineNo">165</span> }<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span> protected TestSMProcedureState getInitialState() {<a name="line.167"></a>
+<span class="sourceLineNo">168</span> return TestSMProcedureState.STEP_1;<a name="line.168"></a>
+<span class="sourceLineNo">169</span> }<a name="line.169"></a>
+<span class="sourceLineNo">170</span> }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span> public static class SimpleChildProcedure extends NoopProcedure<TestProcEnv> {<a name="line.172"></a>
+<span class="sourceLineNo">173</span> protected Procedure[] execute(TestProcEnv env) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span> LOG.info("EXEC " + this);<a name="line.174"></a>
+<span class="sourceLineNo">175</span> env.execCount.incrementAndGet();<a name="line.175"></a>
+<span class="sourceLineNo">176</span> if (env.triggerChildRollback) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span> setFailure("test-failure", TEST_FAILURE_EXCEPTION);<a name="line.177"></a>
+<span class="sourceLineNo">178</span> }<a name="line.178"></a>
+<span class="sourceLineNo">179</span> return null;<a name="line.179"></a>
+<span class="sourceLineNo">180</span> }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span> @Override<a name="line.182"></a>
+<span class="sourceLineNo">183</span> protected void rollback(TestProcEnv env) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span> LOG.info("ROLLBACK " + this);<a name="line.184"></a>
+<span class="sourceLineNo">185</span> env.rollbackCount.incrementAndGet();<a name="line.185"></a>
+<span class="sourceLineNo">186</span> }<a name="line.186"></a>
+<span class="sourceLineNo">187</span> }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span> public class TestProcEnv {<a name="line.189"></a>
+<span class="sourceLineNo">190</span> AtomicInteger execCount = new AtomicInteger(0);<a name="line.190"></a>
+<span class="sourceLineNo">191</span> AtomicInteger rollbackCount = new AtomicInteger(0);<a name="line.191"></a>
+<span class="sourceLineNo">192</span> boolean triggerChildRollback = false;<a name="line.192"></a>
+<span class="sourceLineNo">193</span> }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>}<a name="line.194"></a>
[07/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestChildProcedures.TestRootProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestChildProcedures.TestRootProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestChildProcedures.TestRootProcedure.html
index 5330f64..c9fcf01 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestChildProcedures.TestRootProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestChildProcedures.TestRootProcedure.html
@@ -219,7 +219,7 @@ extends org.apache.hadoop.hbase.procedure2.SequentialProcedure<<a href="../..
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimesta
mp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updat
eMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureEvents.TestTimeoutEventProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureEvents.TestTimeoutEventProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureEvents.TestTimeoutEventProcedure.html
index d070cda..e09c956 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureEvents.TestTimeoutEventProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureEvents.TestTimeoutEventProcedure.html
@@ -254,7 +254,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTest
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimestamp, wasEx
ecuted</code></li>
+<code>acquireLock, addStackIndex, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateMetricsO
nFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestFaultyRollback.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestFaultyRollback.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestFaultyRollback.html
index ce04077..0a313fb 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestFaultyRollback.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestFaultyRollback.html
@@ -230,7 +230,7 @@ extends org.apache.hadoop.hbase.procedure2.SequentialProcedure<<a href="http:
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimesta
mp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updat
eMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestSequentialProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestSequentialProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestSequentialProcedure.html
index d01018c..f741085 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestSequentialProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestSequentialProcedure.html
@@ -252,7 +252,7 @@ extends org.apache.hadoop.hbase.procedure2.SequentialProcedure<<a href="http:
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimesta
mp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updat
eMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.TestWaitChild.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.TestWaitChild.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.TestWaitChild.html
index cf1d1f4..17d46c9 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.TestWaitChild.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.TestWaitChild.html
@@ -238,7 +238,7 @@ extends org.apache.hadoop.hbase.procedure2.SequentialProcedure<<a href="http:
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimesta
mp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updat
eMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.html
index ba6e9ce..d82c44e 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.html
@@ -254,7 +254,7 @@ extends org.apache.hadoop.hbase.procedure2.SequentialProcedure<<a href="http:
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimesta
mp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updat
eMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecutor.BusyWaitProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecutor.BusyWaitProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecutor.BusyWaitProcedure.html
index 334440c..2639b1e 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecutor.BusyWaitProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureExecutor.BusyWaitProcedure.html
@@ -222,7 +222,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTest
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStr
ingState, updateTimestamp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleS
B, toStringState, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestLatchChore.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestLatchChore.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestLatchChore.html
index 526c645..b146d00 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestLatchChore.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestLatchChore.html
@@ -227,7 +227,7 @@ extends org.apache.hadoop.hbase.procedure2.ProcedureInMemoryChore<<a href="..
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStr
ingState, updateTimestamp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleS
B, toStringState, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html
index 62e0a3f..28644d1 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html
@@ -44,7 +44,7 @@
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestLatchChore.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html" target="_top">Frames</a></li>
@@ -199,7 +199,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestLatchChore.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html" target="_top">Frames</a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html
new file mode 100644
index 0000000..b8ab0bd
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html
@@ -0,0 +1,615 @@
+<!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>TestProcedureMetrics.ProcedureMetrics (Apache HBase 2.0.0-SNAPSHOT Test 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="TestProcedureMetrics.ProcedureMetrics (Apache HBase 2.0.0-SNAPSHOT Test API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":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/TestProcedureMetrics.ProcedureMetrics.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><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" target="_top">Frames</a></li>
+<li><a href="TestProcedureMetrics.ProcedureMetrics.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.Procedure">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.procedure2</div>
+<h2 title="Class TestProcedureMetrics.ProcedureMetrics" class="title">Class TestProcedureMetrics.ProcedureMetrics</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://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>org.apache.hadoop.hbase.procedure2.Procedure<TEnvironment></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.procedure2.SequentialProcedure<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a>></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.ProcedureMetrics</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="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><org.apache.hadoop.hbase.procedure2.Procedure></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.171">TestProcedureMetrics.ProcedureMetrics</a>
+extends org.apache.hadoop.hbase.procedure2.SequentialProcedure<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a>></pre>
+</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.Procedure">
+<!-- -->
+</a>
+<h3>Nested classes/interfaces inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
+<code>org.apache.hadoop.hbase.procedure2.Procedure.LockState</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>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#beginCount">beginCount</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#failedCount">failedCount</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#subprocs">subprocs</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#success">success</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#successCount">successCount</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#yield">yield</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#yieldCount">yieldCount</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#yieldNum">yieldNum</a></span></code> </td>
+</tr>
+</table>
+<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.Procedure</h3>
+<code>NO_PROC_ID, NO_TIMEOUT</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="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#ProcedureMetrics--">ProcedureMetrics</a></span>()</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#ProcedureMetrics-boolean-">ProcedureMetrics</a></span>(boolean success)</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#ProcedureMetrics-boolean-boolean-">ProcedureMetrics</a></span>(boolean success,
+ boolean yield)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#ProcedureMetrics-boolean-boolean-int-">ProcedureMetrics</a></span>(boolean success,
+ boolean yield,
+ int yieldCount)</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#ProcedureMetrics-boolean-boolean-int-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.ProcedureMetrics:A-">ProcedureMetrics</a></span>(boolean success,
+ boolean yield,
+ int yieldCount,
+ <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a>[] subprocs)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#ProcedureMetrics-boolean-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.ProcedureMetrics:A-">ProcedureMetrics</a></span>(boolean success,
+ <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a>[] subprocs)</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 boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#abort-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">abort</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env)</code> </td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected org.apache.hadoop.hbase.procedure2.Procedure[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#execute-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">execute</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env)</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/procedure2/TestProcedureMetrics.ProcedureMetrics.html#rollback-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">rollback</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env)</code> </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/procedure2/TestProcedureMetrics.ProcedureMetrics.html#updateMetricsOnFinish-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-long-boolean-">updateMetricsOnFinish</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env,
+ long time,
+ boolean success)</code> </td>
+</tr>
+<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/procedure2/TestProcedureMetrics.ProcedureMetrics.html#updateMetricsOnSubmit-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">updateMetricsOnSubmit</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env)</code> </td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.SequentialProcedure">
+<!-- -->
+</a>
+<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.SequentialProcedure</h3>
+<code>deserializeStateData, doExecute, doRollback, serializeStateData</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.Procedure</h3>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updat
eTimestamp, wasExecuted</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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang
/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://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="http://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="http://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>
+</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="beginCount">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>beginCount</h4>
+<pre>public static long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.172">beginCount</a></pre>
+</li>
+</ul>
+<a name="successCount">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>successCount</h4>
+<pre>public static long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.173">successCount</a></pre>
+</li>
+</ul>
+<a name="failedCount">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>failedCount</h4>
+<pre>public static long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.174">failedCount</a></pre>
+</li>
+</ul>
+<a name="success">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>success</h4>
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.176">success</a></pre>
+</li>
+</ul>
+<a name="yield">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>yield</h4>
+<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.177">yield</a></pre>
+</li>
+</ul>
+<a name="yieldCount">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>yieldCount</h4>
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.178">yieldCount</a></pre>
+</li>
+</ul>
+<a name="yieldNum">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>yieldNum</h4>
+<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.179">yieldNum</a></pre>
+</li>
+</ul>
+<a name="subprocs">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>subprocs</h4>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.181">subprocs</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="ProcedureMetrics--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ProcedureMetrics</h4>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.183">ProcedureMetrics</a>()</pre>
+</li>
+</ul>
+<a name="ProcedureMetrics-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ProcedureMetrics</h4>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.187">ProcedureMetrics</a>(boolean success)</pre>
+</li>
+</ul>
+<a name="ProcedureMetrics-boolean-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ProcedureMetrics</h4>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.191">ProcedureMetrics</a>(boolean success,
+ boolean yield)</pre>
+</li>
+</ul>
+<a name="ProcedureMetrics-boolean-boolean-int-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ProcedureMetrics</h4>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.195">ProcedureMetrics</a>(boolean success,
+ boolean yield,
+ int yieldCount)</pre>
+</li>
+</ul>
+<a name="ProcedureMetrics-boolean-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.ProcedureMetrics:A-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ProcedureMetrics</h4>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.199">ProcedureMetrics</a>(boolean success,
+ <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a>[] subprocs)</pre>
+</li>
+</ul>
+<a name="ProcedureMetrics-boolean-boolean-int-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.ProcedureMetrics:A-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ProcedureMetrics</h4>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.203">ProcedureMetrics</a>(boolean success,
+ boolean yield,
+ int yieldCount,
+ <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a>[] subprocs)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="updateMetricsOnSubmit-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateMetricsOnSubmit</h4>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.213">updateMetricsOnSubmit</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>updateMetricsOnSubmit</code> in class <code>org.apache.hadoop.hbase.procedure2.Procedure<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a>></code></dd>
+</dl>
+</li>
+</ul>
+<a name="execute-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">
+<!-- -->
+</a>
+<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/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.218">execute</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env)
+ throws org.apache.hadoop.hbase.procedure2.ProcedureYieldException,
+ org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException,
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>execute</code> in class <code>org.apache.hadoop.hbase.procedure2.Procedure<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a>></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.hadoop.hbase.procedure2.ProcedureYieldException</code></dd>
+<dd><code>org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException</code></dd>
+<dd><code><a href="http://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="rollback-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rollback</h4>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.234">rollback</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env)
+ throws <a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>rollback</code> in class <code>org.apache.hadoop.hbase.procedure2.Procedure<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a>></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://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>
+<dd><code><a href="http://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="abort-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>abort</h4>
+<pre>protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.239">abort</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>abort</code> in class <code>org.apache.hadoop.hbase.procedure2.Procedure<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a>></code></dd>
+</dl>
+</li>
+</ul>
+<a name="updateMetricsOnFinish-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-long-boolean-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>updateMetricsOnFinish</h4>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#line.244">updateMetricsOnFinish</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env,
+ long time,
+ boolean success)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>updateMetricsOnFinish</code> in class <code>org.apache.hadoop.hbase.procedure2.Procedure<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</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/TestProcedureMetrics.ProcedureMetrics.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><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" target="_top">Frames</a></li>
+<li><a href="TestProcedureMetrics.ProcedureMetrics.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.Procedure">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–2017 <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/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html
new file mode 100644
index 0000000..77ea77b
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html
@@ -0,0 +1,293 @@
+<!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>TestProcedureMetrics.TestProcEnv (Apache HBase 2.0.0-SNAPSHOT Test 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="TestProcedureMetrics.TestProcEnv (Apache HBase 2.0.0-SNAPSHOT Test 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 class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestProcedureMetrics.TestProcEnv.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><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" target="_top">Frames</a></li>
+<li><a href="TestProcedureMetrics.TestProcEnv.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>Nested | </li>
+<li><a href="#field.summary">Field</a> | </li>
+<li><a href="#constructor.summary">Constr</a> | </li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">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>Method</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.procedure2</div>
+<h2 title="Class TestProcedureMetrics.TestProcEnv" class="title">Class TestProcedureMetrics.TestProcEnv</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://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>org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></dd>
+</dl>
+<hr>
+<br>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.166">TestProcedureMetrics.TestProcEnv</a>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== 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>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html#toggleKillBeforeStoreUpdate">toggleKillBeforeStoreUpdate</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html#triggerRollbackOnChild">triggerRollbackOnChild</a></span></code> </td>
+</tr>
+</table>
+</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>private </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html#TestProcEnv--">TestProcEnv</a></span>()</code> </td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang
/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://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="http://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="http://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>
+</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="toggleKillBeforeStoreUpdate">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toggleKillBeforeStoreUpdate</h4>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html#line.167">toggleKillBeforeStoreUpdate</a></pre>
+</li>
+</ul>
+<a name="triggerRollbackOnChild">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>triggerRollbackOnChild</h4>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html#line.168">triggerRollbackOnChild</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="TestProcEnv--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TestProcEnv</h4>
+<pre>private <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html#line.166">TestProcEnv</a>()</pre>
+</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/TestProcedureMetrics.TestProcEnv.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><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" target="_top">Frames</a></li>
+<li><a href="TestProcedureMetrics.TestProcEnv.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>Nested | </li>
+<li><a href="#field.summary">Field</a> | </li>
+<li><a href="#constructor.summary">Constr</a> | </li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">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>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright © 2007–2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
[25/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.EnableTableFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.EnableTableFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.EnableTableFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.EnableTableFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.EnableTableFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.MergeTableRegionsFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.MergeTableRegionsFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.MergeTableRegionsFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.MergeTableRegionsFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.MergeTableRegionsFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ModifyColumnFamilyFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ModifyColumnFamilyFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ModifyColumnFamilyFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ModifyColumnFamilyFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ModifyColumnFamilyFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ModifyTableFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ModifyTableFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ModifyTableFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ModifyTableFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ModifyTableFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.NamespaceFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.NamespaceFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.NamespaceFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.NamespaceFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.NamespaceFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ProcedureFuture.WaitForStateCallable.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ProcedureFuture.WaitForStateCallable.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ProcedureFuture.WaitForStateCallable.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ProcedureFuture.WaitForStateCallable.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ProcedureFuture.WaitForStateCallable.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ProcedureFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ProcedureFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ProcedureFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ProcedureFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ProcedureFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ReplicationState.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ReplicationState.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ReplicationState.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ReplicationState.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ReplicationState.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.RestoreSnapshotFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.RestoreSnapshotFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.RestoreSnapshotFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.RestoreSnapshotFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.RestoreSnapshotFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TableFuture.TableWaitForStateCallable.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TableFuture.TableWaitForStateCallable.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TableFuture.TableWaitForStateCallable.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TableFuture.TableWaitForStateCallable.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TableFuture.TableWaitForStateCallable.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TableFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TableFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TableFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TableFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TableFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ThrowableAbortable.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ThrowableAbortable.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ThrowableAbortable.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ThrowableAbortable.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.ThrowableAbortable.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TruncateTableFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TruncateTableFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TruncateTableFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TruncateTableFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.TruncateTableFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 569b6cc..e7b2b70 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
@@ -1106,7 +1106,7 @@
<span class="sourceLineNo">1098</span> if (v.getFirst() != null) {<a name="line.1098"></a>
<span class="sourceLineNo">1099</span> ProcedureInfo result = v.getFirst();<a name="line.1099"></a>
<span class="sourceLineNo">1100</span> builder.setState(GetProcedureResultResponse.State.FINISHED);<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> builder.setStartTime(result.getStartTime());<a name="line.1101"></a>
+<span class="sourceLineNo">1101</span> builder.setSubmittedTime(result.getSubmittedTime());<a name="line.1101"></a>
<span class="sourceLineNo">1102</span> builder.setLastUpdate(result.getLastUpdate());<a name="line.1102"></a>
<span class="sourceLineNo">1103</span> if (result.isFailed()) {<a name="line.1103"></a>
<span class="sourceLineNo">1104</span> builder.setException(ForeignExceptionUtil.toProtoForeignException(result.getException()));<a name="line.1104"></a>
@@ -1121,7 +1121,7 @@
<span class="sourceLineNo">1113</span> builder.setState(GetProcedureResultResponse.State.NOT_FOUND);<a name="line.1113"></a>
<span class="sourceLineNo">1114</span> } else {<a name="line.1114"></a>
<span class="sourceLineNo">1115</span> builder.setState(GetProcedureResultResponse.State.RUNNING);<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span> builder.setStartTime(proc.getStartTime());<a name="line.1116"></a>
+<span class="sourceLineNo">1116</span> builder.setSubmittedTime(proc.getSubmittedTime());<a name="line.1116"></a>
<span class="sourceLineNo">1117</span> builder.setLastUpdate(proc.getLastUpdate());<a name="line.1117"></a>
<span class="sourceLineNo">1118</span> }<a name="line.1118"></a>
<span class="sourceLineNo">1119</span> }<a name="line.1119"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 569b6cc..e7b2b70 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterRpcServices.html
@@ -1106,7 +1106,7 @@
<span class="sourceLineNo">1098</span> if (v.getFirst() != null) {<a name="line.1098"></a>
<span class="sourceLineNo">1099</span> ProcedureInfo result = v.getFirst();<a name="line.1099"></a>
<span class="sourceLineNo">1100</span> builder.setState(GetProcedureResultResponse.State.FINISHED);<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> builder.setStartTime(result.getStartTime());<a name="line.1101"></a>
+<span class="sourceLineNo">1101</span> builder.setSubmittedTime(result.getSubmittedTime());<a name="line.1101"></a>
<span class="sourceLineNo">1102</span> builder.setLastUpdate(result.getLastUpdate());<a name="line.1102"></a>
<span class="sourceLineNo">1103</span> if (result.isFailed()) {<a name="line.1103"></a>
<span class="sourceLineNo">1104</span> builder.setException(ForeignExceptionUtil.toProtoForeignException(result.getException()));<a name="line.1104"></a>
@@ -1121,7 +1121,7 @@
<span class="sourceLineNo">1113</span> builder.setState(GetProcedureResultResponse.State.NOT_FOUND);<a name="line.1113"></a>
<span class="sourceLineNo">1114</span> } else {<a name="line.1114"></a>
<span class="sourceLineNo">1115</span> builder.setState(GetProcedureResultResponse.State.RUNNING);<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span> builder.setStartTime(proc.getStartTime());<a name="line.1116"></a>
+<span class="sourceLineNo">1116</span> builder.setSubmittedTime(proc.getSubmittedTime());<a name="line.1116"></a>
<span class="sourceLineNo">1117</span> builder.setLastUpdate(proc.getLastUpdate());<a name="line.1117"></a>
<span class="sourceLineNo">1118</span> }<a name="line.1118"></a>
<span class="sourceLineNo">1119</span> }<a name="line.1119"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html
index 371cf5e..364d989 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html
@@ -48,7 +48,7 @@
<span class="sourceLineNo">040</span> /**<a name="line.40"></a>
<span class="sourceLineNo">041</span> * Description<a name="line.41"></a>
<span class="sourceLineNo">042</span> */<a name="line.42"></a>
-<span class="sourceLineNo">043</span> String METRICS_DESCRIPTION = "Metrics about HBase master assingment manager.";<a name="line.43"></a>
+<span class="sourceLineNo">043</span> String METRICS_DESCRIPTION = "Metrics about HBase master assignment manager.";<a name="line.43"></a>
<span class="sourceLineNo">044</span><a name="line.44"></a>
<span class="sourceLineNo">045</span> String RIT_COUNT_NAME = "ritCount";<a name="line.45"></a>
<span class="sourceLineNo">046</span> String RIT_COUNT_OVER_THRESHOLD_NAME = "ritCountOverThreshold";<a name="line.46"></a>
@@ -57,33 +57,40 @@
<span class="sourceLineNo">049</span> String ASSIGN_TIME_NAME = "assign";<a name="line.49"></a>
<span class="sourceLineNo">050</span> String BULK_ASSIGN_TIME_NAME = "bulkAssign";<a name="line.50"></a>
<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span> void updateAssignmentTime(long time);<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span> void updateBulkAssignTime(long time);<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span> /**<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * Set the number of regions in transition.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> *<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * @param ritCount count of the regions in transition.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> */<a name="line.60"></a>
-<span class="sourceLineNo">061</span> void setRIT(int ritCount);<a name="line.61"></a>
+<span class="sourceLineNo">052</span> String RIT_COUNT_DESC = "Current number of Regions In Transition (Gauge).";<a name="line.52"></a>
+<span class="sourceLineNo">053</span> String RIT_COUNT_OVER_THRESHOLD_DESC =<a name="line.53"></a>
+<span class="sourceLineNo">054</span> "Current number of Regions In Transition over threshold time (Gauge).";<a name="line.54"></a>
+<span class="sourceLineNo">055</span> String RIT_OLDEST_AGE_DESC = "Timestamp in milliseconds of the oldest Region In Transition (Gauge).";<a name="line.55"></a>
+<span class="sourceLineNo">056</span> String RIT_DURATION_DESC =<a name="line.56"></a>
+<span class="sourceLineNo">057</span> "Total durations in milliseconds for all Regions in Transition (Histogram).";<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span> void updateAssignmentTime(long time);<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span> void updateBulkAssignTime(long time);<a name="line.61"></a>
<span class="sourceLineNo">062</span><a name="line.62"></a>
<span class="sourceLineNo">063</span> /**<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * Set the count of the number of regions that have been in transition over the threshold time.<a name="line.64"></a>
+<span class="sourceLineNo">064</span> * Set the number of regions in transition.<a name="line.64"></a>
<span class="sourceLineNo">065</span> *<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * @param ritCountOverThreshold number of regions in transition for longer than threshold.<a name="line.66"></a>
+<span class="sourceLineNo">066</span> * @param ritCount count of the regions in transition.<a name="line.66"></a>
<span class="sourceLineNo">067</span> */<a name="line.67"></a>
-<span class="sourceLineNo">068</span> void setRITCountOverThreshold(int ritCountOverThreshold);<a name="line.68"></a>
+<span class="sourceLineNo">068</span> void setRIT(int ritCount);<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> * Set the oldest region in transition.<a name="line.71"></a>
+<span class="sourceLineNo">071</span> * Set the count of the number of regions that have been in transition over the threshold time.<a name="line.71"></a>
<span class="sourceLineNo">072</span> *<a name="line.72"></a>
-<span class="sourceLineNo">073</span> * @param age age of the oldest RIT.<a name="line.73"></a>
+<span class="sourceLineNo">073</span> * @param ritCountOverThreshold number of regions in transition for longer than threshold.<a name="line.73"></a>
<span class="sourceLineNo">074</span> */<a name="line.74"></a>
-<span class="sourceLineNo">075</span> void setRITOldestAge(long age);<a name="line.75"></a>
+<span class="sourceLineNo">075</span> void setRITCountOverThreshold(int ritCountOverThreshold);<a name="line.75"></a>
<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span> void updateRitDuration(long duration);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>}<a name="line.78"></a>
+<span class="sourceLineNo">077</span> /**<a name="line.77"></a>
+<span class="sourceLineNo">078</span> * Set the oldest region in transition.<a name="line.78"></a>
+<span class="sourceLineNo">079</span> *<a name="line.79"></a>
+<span class="sourceLineNo">080</span> * @param age age of the oldest RIT.<a name="line.80"></a>
+<span class="sourceLineNo">081</span> */<a name="line.81"></a>
+<span class="sourceLineNo">082</span> void setRITOldestAge(long age);<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span> void updateRitDuration(long duration);<a name="line.84"></a>
+<span class="sourceLineNo">085</span>}<a name="line.85"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html
index f9d34cf..36d01d7 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html
@@ -54,41 +54,42 @@
<span class="sourceLineNo">046</span> }<a name="line.46"></a>
<span class="sourceLineNo">047</span><a name="line.47"></a>
<span class="sourceLineNo">048</span> public void init() {<a name="line.48"></a>
-<span class="sourceLineNo">049</span> ritGauge = metricsRegistry.newGauge(RIT_COUNT_NAME, "", 0l);<a name="line.49"></a>
-<span class="sourceLineNo">050</span> ritCountOverThresholdGauge = metricsRegistry.newGauge(RIT_COUNT_OVER_THRESHOLD_NAME, "", 0l);<a name="line.50"></a>
-<span class="sourceLineNo">051</span> ritOldestAgeGauge = metricsRegistry.newGauge(RIT_OLDEST_AGE_NAME, "", 0l);<a name="line.51"></a>
-<span class="sourceLineNo">052</span> assignTimeHisto = metricsRegistry.newTimeHistogram(ASSIGN_TIME_NAME);<a name="line.52"></a>
-<span class="sourceLineNo">053</span> bulkAssignTimeHisto = metricsRegistry.newTimeHistogram(BULK_ASSIGN_TIME_NAME);<a name="line.53"></a>
-<span class="sourceLineNo">054</span> ritDurationHisto = metricsRegistry.newTimeHistogram(RIT_DURATION_NAME);<a name="line.54"></a>
-<span class="sourceLineNo">055</span> }<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span> @Override<a name="line.57"></a>
-<span class="sourceLineNo">058</span> public void updateAssignmentTime(long time) {<a name="line.58"></a>
-<span class="sourceLineNo">059</span> assignTimeHisto.add(time);<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 void updateBulkAssignTime(long time) {<a name="line.63"></a>
-<span class="sourceLineNo">064</span> bulkAssignTimeHisto.add(time);<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> public void setRIT(int ritCount) {<a name="line.67"></a>
-<span class="sourceLineNo">068</span> ritGauge.set(ritCount);<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> public void setRITCountOverThreshold(int ritCount) {<a name="line.71"></a>
-<span class="sourceLineNo">072</span> ritCountOverThresholdGauge.set(ritCount);<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> public void setRITOldestAge(long ritCount) {<a name="line.75"></a>
-<span class="sourceLineNo">076</span> ritOldestAgeGauge.set(ritCount);<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 updateRitDuration(long duration) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span> ritDurationHisto.add(duration);<a name="line.81"></a>
-<span class="sourceLineNo">082</span> }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>}<a name="line.83"></a>
+<span class="sourceLineNo">049</span> ritGauge = metricsRegistry.newGauge(RIT_COUNT_NAME, RIT_COUNT_DESC, 0l);<a name="line.49"></a>
+<span class="sourceLineNo">050</span> ritCountOverThresholdGauge = metricsRegistry.newGauge(RIT_COUNT_OVER_THRESHOLD_NAME,<a name="line.50"></a>
+<span class="sourceLineNo">051</span> RIT_COUNT_OVER_THRESHOLD_DESC,0l);<a name="line.51"></a>
+<span class="sourceLineNo">052</span> ritOldestAgeGauge = metricsRegistry.newGauge(RIT_OLDEST_AGE_NAME, RIT_OLDEST_AGE_DESC, 0l);<a name="line.52"></a>
+<span class="sourceLineNo">053</span> assignTimeHisto = metricsRegistry.newTimeHistogram(ASSIGN_TIME_NAME);<a name="line.53"></a>
+<span class="sourceLineNo">054</span> bulkAssignTimeHisto = metricsRegistry.newTimeHistogram(BULK_ASSIGN_TIME_NAME);<a name="line.54"></a>
+<span class="sourceLineNo">055</span> ritDurationHisto = metricsRegistry.newTimeHistogram(RIT_DURATION_NAME, RIT_DURATION_DESC);<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> @Override<a name="line.58"></a>
+<span class="sourceLineNo">059</span> public void updateAssignmentTime(long time) {<a name="line.59"></a>
+<span class="sourceLineNo">060</span> assignTimeHisto.add(time);<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> public void updateBulkAssignTime(long time) {<a name="line.64"></a>
+<span class="sourceLineNo">065</span> bulkAssignTimeHisto.add(time);<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> public void setRIT(int ritCount) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span> ritGauge.set(ritCount);<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> public void setRITCountOverThreshold(int ritCount) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span> ritCountOverThresholdGauge.set(ritCount);<a name="line.73"></a>
+<span class="sourceLineNo">074</span> }<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span> public void setRITOldestAge(long ritCount) {<a name="line.76"></a>
+<span class="sourceLineNo">077</span> ritOldestAgeGauge.set(ritCount);<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 updateRitDuration(long duration) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span> ritDurationHisto.add(duration);<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>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
index f0104db..6c8a23e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
@@ -174,7 +174,7 @@
<span class="sourceLineNo">166</span><a name="line.166"></a>
<span class="sourceLineNo">167</span> private void throwProcedureYieldException(final String msg) throws ProcedureYieldException {<a name="line.167"></a>
<span class="sourceLineNo">168</span> String logMsg = msg + "; cycle=" + this.cycles + ", running for " +<a name="line.168"></a>
-<span class="sourceLineNo">169</span> StringUtils.formatTimeDiff(System.currentTimeMillis(), getStartTime());<a name="line.169"></a>
+<span class="sourceLineNo">169</span> StringUtils.formatTimeDiff(System.currentTimeMillis(), getSubmittedTime());<a name="line.169"></a>
<span class="sourceLineNo">170</span> // The procedure executor logs ProcedureYieldException at trace level. For now, log these<a name="line.170"></a>
<span class="sourceLineNo">171</span> // yields for server crash processing at DEBUG. Revisit when stable.<a name="line.171"></a>
<span class="sourceLineNo">172</span> if (LOG.isDebugEnabled()) LOG.debug(logMsg);<a name="line.172"></a>
[13/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html
index a1495ff..0c11099 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html
@@ -839,1019 +839,1030 @@
<span class="sourceLineNo">831</span> private long pushProcedure(final Procedure proc) {<a name="line.831"></a>
<span class="sourceLineNo">832</span> final long currentProcId = proc.getProcId();<a name="line.832"></a>
<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span> // Create the rollback stack for the procedure<a name="line.834"></a>
-<span class="sourceLineNo">835</span> RootProcedureState stack = new RootProcedureState();<a name="line.835"></a>
-<span class="sourceLineNo">836</span> rollbackStack.put(currentProcId, stack);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span> // Submit the new subprocedures<a name="line.838"></a>
-<span class="sourceLineNo">839</span> assert !procedures.containsKey(currentProcId);<a name="line.839"></a>
-<span class="sourceLineNo">840</span> procedures.put(currentProcId, proc);<a name="line.840"></a>
-<span class="sourceLineNo">841</span> sendProcedureAddedNotification(currentProcId);<a name="line.841"></a>
-<span class="sourceLineNo">842</span> scheduler.addBack(proc);<a name="line.842"></a>
-<span class="sourceLineNo">843</span> return proc.getProcId();<a name="line.843"></a>
-<span class="sourceLineNo">844</span> }<a name="line.844"></a>
-<span class="sourceLineNo">845</span><a name="line.845"></a>
-<span class="sourceLineNo">846</span> /**<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * Send an abort notification the specified procedure.<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.848"></a>
-<span class="sourceLineNo">849</span> * @param procId the procedure to abort<a name="line.849"></a>
-<span class="sourceLineNo">850</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.850"></a>
-<span class="sourceLineNo">851</span> */<a name="line.851"></a>
-<span class="sourceLineNo">852</span> public boolean abort(final long procId) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span> return abort(procId, true);<a name="line.853"></a>
-<span class="sourceLineNo">854</span> }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span> /**<a name="line.856"></a>
-<span class="sourceLineNo">857</span> * Send an abort notification the specified procedure.<a name="line.857"></a>
-<span class="sourceLineNo">858</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.858"></a>
-<span class="sourceLineNo">859</span> * @param procId the procedure to abort<a name="line.859"></a>
-<span class="sourceLineNo">860</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.860"></a>
-<span class="sourceLineNo">861</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.861"></a>
-<span class="sourceLineNo">862</span> */<a name="line.862"></a>
-<span class="sourceLineNo">863</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.863"></a>
-<span class="sourceLineNo">864</span> final Procedure proc = procedures.get(procId);<a name="line.864"></a>
-<span class="sourceLineNo">865</span> if (proc != null) {<a name="line.865"></a>
-<span class="sourceLineNo">866</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.866"></a>
-<span class="sourceLineNo">867</span> return false;<a name="line.867"></a>
-<span class="sourceLineNo">868</span> }<a name="line.868"></a>
-<span class="sourceLineNo">869</span> return proc.abort(getEnvironment());<a name="line.869"></a>
-<span class="sourceLineNo">870</span> }<a name="line.870"></a>
-<span class="sourceLineNo">871</span> return false;<a name="line.871"></a>
-<span class="sourceLineNo">872</span> }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span> // ==========================================================================<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // Executor query helpers<a name="line.875"></a>
-<span class="sourceLineNo">876</span> // ==========================================================================<a name="line.876"></a>
-<span class="sourceLineNo">877</span> public Procedure getProcedure(final long procId) {<a name="line.877"></a>
-<span class="sourceLineNo">878</span> return procedures.get(procId);<a name="line.878"></a>
-<span class="sourceLineNo">879</span> }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span> final Procedure proc = getProcedure(procId);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> if (clazz.isInstance(proc)) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span> return (T)proc;<a name="line.884"></a>
-<span class="sourceLineNo">885</span> }<a name="line.885"></a>
-<span class="sourceLineNo">886</span> return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span> }<a name="line.887"></a>
-<span class="sourceLineNo">888</span><a name="line.888"></a>
-<span class="sourceLineNo">889</span> public ProcedureInfo getResult(final long procId) {<a name="line.889"></a>
-<span class="sourceLineNo">890</span> return completed.get(procId);<a name="line.890"></a>
-<span class="sourceLineNo">891</span> }<a name="line.891"></a>
-<span class="sourceLineNo">892</span><a name="line.892"></a>
-<span class="sourceLineNo">893</span> /**<a name="line.893"></a>
-<span class="sourceLineNo">894</span> * Return true if the procedure is finished.<a name="line.894"></a>
-<span class="sourceLineNo">895</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.895"></a>
-<span class="sourceLineNo">896</span> * Use getResult() to check the state or get the result data.<a name="line.896"></a>
-<span class="sourceLineNo">897</span> * @param procId the ID of the procedure to check<a name="line.897"></a>
-<span class="sourceLineNo">898</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.898"></a>
-<span class="sourceLineNo">899</span> */<a name="line.899"></a>
-<span class="sourceLineNo">900</span> public boolean isFinished(final long procId) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span> return !procedures.containsKey(procId);<a name="line.901"></a>
-<span class="sourceLineNo">902</span> }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span> /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span> * Return true if the procedure is started.<a name="line.905"></a>
-<span class="sourceLineNo">906</span> * @param procId the ID of the procedure to check<a name="line.906"></a>
-<span class="sourceLineNo">907</span> * @return true if the procedure execution is started, otherwise false.<a name="line.907"></a>
-<span class="sourceLineNo">908</span> */<a name="line.908"></a>
-<span class="sourceLineNo">909</span> public boolean isStarted(final long procId) {<a name="line.909"></a>
-<span class="sourceLineNo">910</span> final Procedure proc = procedures.get(procId);<a name="line.910"></a>
-<span class="sourceLineNo">911</span> if (proc == null) {<a name="line.911"></a>
-<span class="sourceLineNo">912</span> return completed.get(procId) != null;<a name="line.912"></a>
-<span class="sourceLineNo">913</span> }<a name="line.913"></a>
-<span class="sourceLineNo">914</span> return proc.wasExecuted();<a name="line.914"></a>
-<span class="sourceLineNo">915</span> }<a name="line.915"></a>
-<span class="sourceLineNo">916</span><a name="line.916"></a>
-<span class="sourceLineNo">917</span> /**<a name="line.917"></a>
-<span class="sourceLineNo">918</span> * Mark the specified completed procedure, as ready to remove.<a name="line.918"></a>
-<span class="sourceLineNo">919</span> * @param procId the ID of the procedure to remove<a name="line.919"></a>
-<span class="sourceLineNo">920</span> */<a name="line.920"></a>
-<span class="sourceLineNo">921</span> public void removeResult(final long procId) {<a name="line.921"></a>
-<span class="sourceLineNo">922</span> final ProcedureInfo result = completed.get(procId);<a name="line.922"></a>
-<span class="sourceLineNo">923</span> if (result == null) {<a name="line.923"></a>
-<span class="sourceLineNo">924</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.924"></a>
-<span class="sourceLineNo">925</span> if (LOG.isDebugEnabled()) {<a name="line.925"></a>
-<span class="sourceLineNo">926</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.926"></a>
-<span class="sourceLineNo">927</span> }<a name="line.927"></a>
-<span class="sourceLineNo">928</span> return;<a name="line.928"></a>
-<span class="sourceLineNo">929</span> }<a name="line.929"></a>
-<span class="sourceLineNo">930</span><a name="line.930"></a>
-<span class="sourceLineNo">931</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.931"></a>
-<span class="sourceLineNo">932</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span><a name="line.934"></a>
-<span class="sourceLineNo">935</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.935"></a>
-<span class="sourceLineNo">936</span> ProcedureInfo result = completed.get(procId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span> Procedure proc = null;<a name="line.937"></a>
-<span class="sourceLineNo">938</span> if (result == null) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span> proc = procedures.get(procId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span> if (proc == null) {<a name="line.940"></a>
-<span class="sourceLineNo">941</span> result = completed.get(procId);<a name="line.941"></a>
-<span class="sourceLineNo">942</span> }<a name="line.942"></a>
-<span class="sourceLineNo">943</span> }<a name="line.943"></a>
-<span class="sourceLineNo">944</span> return new Pair(result, proc);<a name="line.944"></a>
-<span class="sourceLineNo">945</span> }<a name="line.945"></a>
-<span class="sourceLineNo">946</span><a name="line.946"></a>
-<span class="sourceLineNo">947</span> /**<a name="line.947"></a>
-<span class="sourceLineNo">948</span> * Check if the user is this procedure's owner<a name="line.948"></a>
-<span class="sourceLineNo">949</span> * @param procId the target procedure<a name="line.949"></a>
-<span class="sourceLineNo">950</span> * @param user the user<a name="line.950"></a>
-<span class="sourceLineNo">951</span> * @return true if the user is the owner of the procedure,<a name="line.951"></a>
-<span class="sourceLineNo">952</span> * false otherwise or the owner is unknown.<a name="line.952"></a>
-<span class="sourceLineNo">953</span> */<a name="line.953"></a>
-<span class="sourceLineNo">954</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> if (user == null) return false;<a name="line.955"></a>
-<span class="sourceLineNo">956</span><a name="line.956"></a>
-<span class="sourceLineNo">957</span> final Procedure proc = procedures.get(procId);<a name="line.957"></a>
-<span class="sourceLineNo">958</span> if (proc != null) {<a name="line.958"></a>
-<span class="sourceLineNo">959</span> return proc.getOwner().equals(user.getShortName());<a name="line.959"></a>
-<span class="sourceLineNo">960</span> }<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.962"></a>
-<span class="sourceLineNo">963</span> if (procInfo == null) {<a name="line.963"></a>
-<span class="sourceLineNo">964</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.964"></a>
-<span class="sourceLineNo">965</span> // At this time, we cannot check the owner of the procedure<a name="line.965"></a>
-<span class="sourceLineNo">966</span> return false;<a name="line.966"></a>
-<span class="sourceLineNo">967</span> }<a name="line.967"></a>
-<span class="sourceLineNo">968</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.968"></a>
-<span class="sourceLineNo">969</span> }<a name="line.969"></a>
-<span class="sourceLineNo">970</span><a name="line.970"></a>
-<span class="sourceLineNo">971</span> /**<a name="line.971"></a>
-<span class="sourceLineNo">972</span> * List procedures.<a name="line.972"></a>
-<span class="sourceLineNo">973</span> * @return the procedures in a list<a name="line.973"></a>
-<span class="sourceLineNo">974</span> */<a name="line.974"></a>
-<span class="sourceLineNo">975</span> public List<ProcedureInfo> listProcedures() {<a name="line.975"></a>
-<span class="sourceLineNo">976</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.976"></a>
-<span class="sourceLineNo">977</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.977"></a>
-<span class="sourceLineNo">978</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.978"></a>
-<span class="sourceLineNo">979</span> }<a name="line.979"></a>
-<span class="sourceLineNo">980</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.981"></a>
-<span class="sourceLineNo">982</span> // it could complete after we walk through procedures list and insert into<a name="line.982"></a>
-<span class="sourceLineNo">983</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.983"></a>
-<span class="sourceLineNo">984</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.984"></a>
-<span class="sourceLineNo">985</span> procedureLists.add(e.getValue());<a name="line.985"></a>
-<span class="sourceLineNo">986</span> }<a name="line.986"></a>
-<span class="sourceLineNo">987</span> return procedureLists;<a name="line.987"></a>
-<span class="sourceLineNo">988</span> }<a name="line.988"></a>
-<span class="sourceLineNo">989</span><a name="line.989"></a>
-<span class="sourceLineNo">990</span> // ==========================================================================<a name="line.990"></a>
-<span class="sourceLineNo">991</span> // Listeners helpers<a name="line.991"></a>
-<span class="sourceLineNo">992</span> // ==========================================================================<a name="line.992"></a>
-<span class="sourceLineNo">993</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.993"></a>
-<span class="sourceLineNo">994</span> this.listeners.add(listener);<a name="line.994"></a>
-<span class="sourceLineNo">995</span> }<a name="line.995"></a>
-<span class="sourceLineNo">996</span><a name="line.996"></a>
-<span class="sourceLineNo">997</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.997"></a>
-<span class="sourceLineNo">998</span> return this.listeners.remove(listener);<a name="line.998"></a>
-<span class="sourceLineNo">999</span> }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span><a name="line.1000"></a>
-<span class="sourceLineNo">1001</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> if (!this.listeners.isEmpty()) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> try {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> listener.procedureLoaded(procId);<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span> } catch (Throwable e) {<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> }<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> }<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span><a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span> if (!this.listeners.isEmpty()) {<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> try {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> listener.procedureAdded(procId);<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> } catch (Throwable e) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> }<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span> }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span><a name="line.1024"></a>
-<span class="sourceLineNo">1025</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span> if (!this.listeners.isEmpty()) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span> try {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span> listener.procedureFinished(procId);<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> } catch (Throwable e) {<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span> }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span> }<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span> }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span> // ==========================================================================<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span> // Procedure IDs helpers<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span> // ==========================================================================<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span> private long nextProcId() {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span> long procId = lastProcId.incrementAndGet();<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span> if (procId < 0) {<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span> procId = lastProcId.get();<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span> if (procId >= 0)<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span> break;<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span> }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span> while (procedures.containsKey(procId)) {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span> procId = lastProcId.incrementAndGet();<a name="line.1049"></a>
+<span class="sourceLineNo">834</span> // Update metrics on start of a procedure<a name="line.834"></a>
+<span class="sourceLineNo">835</span> proc.updateMetricsOnSubmit(getEnvironment());<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span> // Create the rollback stack for the procedure<a name="line.837"></a>
+<span class="sourceLineNo">838</span> RootProcedureState stack = new RootProcedureState();<a name="line.838"></a>
+<span class="sourceLineNo">839</span> rollbackStack.put(currentProcId, stack);<a name="line.839"></a>
+<span class="sourceLineNo">840</span><a name="line.840"></a>
+<span class="sourceLineNo">841</span> // Submit the new subprocedures<a name="line.841"></a>
+<span class="sourceLineNo">842</span> assert !procedures.containsKey(currentProcId);<a name="line.842"></a>
+<span class="sourceLineNo">843</span> procedures.put(currentProcId, proc);<a name="line.843"></a>
+<span class="sourceLineNo">844</span> sendProcedureAddedNotification(currentProcId);<a name="line.844"></a>
+<span class="sourceLineNo">845</span> scheduler.addBack(proc);<a name="line.845"></a>
+<span class="sourceLineNo">846</span> return proc.getProcId();<a name="line.846"></a>
+<span class="sourceLineNo">847</span> }<a name="line.847"></a>
+<span class="sourceLineNo">848</span><a name="line.848"></a>
+<span class="sourceLineNo">849</span> /**<a name="line.849"></a>
+<span class="sourceLineNo">850</span> * Send an abort notification the specified procedure.<a name="line.850"></a>
+<span class="sourceLineNo">851</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.851"></a>
+<span class="sourceLineNo">852</span> * @param procId the procedure to abort<a name="line.852"></a>
+<span class="sourceLineNo">853</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.853"></a>
+<span class="sourceLineNo">854</span> */<a name="line.854"></a>
+<span class="sourceLineNo">855</span> public boolean abort(final long procId) {<a name="line.855"></a>
+<span class="sourceLineNo">856</span> return abort(procId, true);<a name="line.856"></a>
+<span class="sourceLineNo">857</span> }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span> /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span> * Send an abort notification the specified procedure.<a name="line.860"></a>
+<span class="sourceLineNo">861</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.861"></a>
+<span class="sourceLineNo">862</span> * @param procId the procedure to abort<a name="line.862"></a>
+<span class="sourceLineNo">863</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.863"></a>
+<span class="sourceLineNo">864</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.864"></a>
+<span class="sourceLineNo">865</span> */<a name="line.865"></a>
+<span class="sourceLineNo">866</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.866"></a>
+<span class="sourceLineNo">867</span> final Procedure proc = procedures.get(procId);<a name="line.867"></a>
+<span class="sourceLineNo">868</span> if (proc != null) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.869"></a>
+<span class="sourceLineNo">870</span> return false;<a name="line.870"></a>
+<span class="sourceLineNo">871</span> }<a name="line.871"></a>
+<span class="sourceLineNo">872</span> return proc.abort(getEnvironment());<a name="line.872"></a>
+<span class="sourceLineNo">873</span> }<a name="line.873"></a>
+<span class="sourceLineNo">874</span> return false;<a name="line.874"></a>
+<span class="sourceLineNo">875</span> }<a name="line.875"></a>
+<span class="sourceLineNo">876</span><a name="line.876"></a>
+<span class="sourceLineNo">877</span> // ==========================================================================<a name="line.877"></a>
+<span class="sourceLineNo">878</span> // Executor query helpers<a name="line.878"></a>
+<span class="sourceLineNo">879</span> // ==========================================================================<a name="line.879"></a>
+<span class="sourceLineNo">880</span> public Procedure getProcedure(final long procId) {<a name="line.880"></a>
+<span class="sourceLineNo">881</span> return procedures.get(procId);<a name="line.881"></a>
+<span class="sourceLineNo">882</span> }<a name="line.882"></a>
+<span class="sourceLineNo">883</span><a name="line.883"></a>
+<span class="sourceLineNo">884</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span> final Procedure proc = getProcedure(procId);<a name="line.885"></a>
+<span class="sourceLineNo">886</span> if (clazz.isInstance(proc)) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span> return (T)proc;<a name="line.887"></a>
+<span class="sourceLineNo">888</span> }<a name="line.888"></a>
+<span class="sourceLineNo">889</span> return null;<a name="line.889"></a>
+<span class="sourceLineNo">890</span> }<a name="line.890"></a>
+<span class="sourceLineNo">891</span><a name="line.891"></a>
+<span class="sourceLineNo">892</span> public ProcedureInfo getResult(final long procId) {<a name="line.892"></a>
+<span class="sourceLineNo">893</span> return completed.get(procId);<a name="line.893"></a>
+<span class="sourceLineNo">894</span> }<a name="line.894"></a>
+<span class="sourceLineNo">895</span><a name="line.895"></a>
+<span class="sourceLineNo">896</span> /**<a name="line.896"></a>
+<span class="sourceLineNo">897</span> * Return true if the procedure is finished.<a name="line.897"></a>
+<span class="sourceLineNo">898</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.898"></a>
+<span class="sourceLineNo">899</span> * Use getResult() to check the state or get the result data.<a name="line.899"></a>
+<span class="sourceLineNo">900</span> * @param procId the ID of the procedure to check<a name="line.900"></a>
+<span class="sourceLineNo">901</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.901"></a>
+<span class="sourceLineNo">902</span> */<a name="line.902"></a>
+<span class="sourceLineNo">903</span> public boolean isFinished(final long procId) {<a name="line.903"></a>
+<span class="sourceLineNo">904</span> return !procedures.containsKey(procId);<a name="line.904"></a>
+<span class="sourceLineNo">905</span> }<a name="line.905"></a>
+<span class="sourceLineNo">906</span><a name="line.906"></a>
+<span class="sourceLineNo">907</span> /**<a name="line.907"></a>
+<span class="sourceLineNo">908</span> * Return true if the procedure is started.<a name="line.908"></a>
+<span class="sourceLineNo">909</span> * @param procId the ID of the procedure to check<a name="line.909"></a>
+<span class="sourceLineNo">910</span> * @return true if the procedure execution is started, otherwise false.<a name="line.910"></a>
+<span class="sourceLineNo">911</span> */<a name="line.911"></a>
+<span class="sourceLineNo">912</span> public boolean isStarted(final long procId) {<a name="line.912"></a>
+<span class="sourceLineNo">913</span> final Procedure proc = procedures.get(procId);<a name="line.913"></a>
+<span class="sourceLineNo">914</span> if (proc == null) {<a name="line.914"></a>
+<span class="sourceLineNo">915</span> return completed.get(procId) != null;<a name="line.915"></a>
+<span class="sourceLineNo">916</span> }<a name="line.916"></a>
+<span class="sourceLineNo">917</span> return proc.wasExecuted();<a name="line.917"></a>
+<span class="sourceLineNo">918</span> }<a name="line.918"></a>
+<span class="sourceLineNo">919</span><a name="line.919"></a>
+<span class="sourceLineNo">920</span> /**<a name="line.920"></a>
+<span class="sourceLineNo">921</span> * Mark the specified completed procedure, as ready to remove.<a name="line.921"></a>
+<span class="sourceLineNo">922</span> * @param procId the ID of the procedure to remove<a name="line.922"></a>
+<span class="sourceLineNo">923</span> */<a name="line.923"></a>
+<span class="sourceLineNo">924</span> public void removeResult(final long procId) {<a name="line.924"></a>
+<span class="sourceLineNo">925</span> final ProcedureInfo result = completed.get(procId);<a name="line.925"></a>
+<span class="sourceLineNo">926</span> if (result == null) {<a name="line.926"></a>
+<span class="sourceLineNo">927</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.927"></a>
+<span class="sourceLineNo">928</span> if (LOG.isDebugEnabled()) {<a name="line.928"></a>
+<span class="sourceLineNo">929</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.929"></a>
+<span class="sourceLineNo">930</span> }<a name="line.930"></a>
+<span class="sourceLineNo">931</span> return;<a name="line.931"></a>
+<span class="sourceLineNo">932</span> }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.934"></a>
+<span class="sourceLineNo">935</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.935"></a>
+<span class="sourceLineNo">936</span> }<a name="line.936"></a>
+<span class="sourceLineNo">937</span><a name="line.937"></a>
+<span class="sourceLineNo">938</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.938"></a>
+<span class="sourceLineNo">939</span> ProcedureInfo result = completed.get(procId);<a name="line.939"></a>
+<span class="sourceLineNo">940</span> Procedure proc = null;<a name="line.940"></a>
+<span class="sourceLineNo">941</span> if (result == null) {<a name="line.941"></a>
+<span class="sourceLineNo">942</span> proc = procedures.get(procId);<a name="line.942"></a>
+<span class="sourceLineNo">943</span> if (proc == null) {<a name="line.943"></a>
+<span class="sourceLineNo">944</span> result = completed.get(procId);<a name="line.944"></a>
+<span class="sourceLineNo">945</span> }<a name="line.945"></a>
+<span class="sourceLineNo">946</span> }<a name="line.946"></a>
+<span class="sourceLineNo">947</span> return new Pair(result, proc);<a name="line.947"></a>
+<span class="sourceLineNo">948</span> }<a name="line.948"></a>
+<span class="sourceLineNo">949</span><a name="line.949"></a>
+<span class="sourceLineNo">950</span> /**<a name="line.950"></a>
+<span class="sourceLineNo">951</span> * Check if the user is this procedure's owner<a name="line.951"></a>
+<span class="sourceLineNo">952</span> * @param procId the target procedure<a name="line.952"></a>
+<span class="sourceLineNo">953</span> * @param user the user<a name="line.953"></a>
+<span class="sourceLineNo">954</span> * @return true if the user is the owner of the procedure,<a name="line.954"></a>
+<span class="sourceLineNo">955</span> * false otherwise or the owner is unknown.<a name="line.955"></a>
+<span class="sourceLineNo">956</span> */<a name="line.956"></a>
+<span class="sourceLineNo">957</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span> if (user == null) return false;<a name="line.958"></a>
+<span class="sourceLineNo">959</span><a name="line.959"></a>
+<span class="sourceLineNo">960</span> final Procedure proc = procedures.get(procId);<a name="line.960"></a>
+<span class="sourceLineNo">961</span> if (proc != null) {<a name="line.961"></a>
+<span class="sourceLineNo">962</span> return proc.getOwner().equals(user.getShortName());<a name="line.962"></a>
+<span class="sourceLineNo">963</span> }<a name="line.963"></a>
+<span class="sourceLineNo">964</span><a name="line.964"></a>
+<span class="sourceLineNo">965</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.965"></a>
+<span class="sourceLineNo">966</span> if (procInfo == null) {<a name="line.966"></a>
+<span class="sourceLineNo">967</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.967"></a>
+<span class="sourceLineNo">968</span> // At this time, we cannot check the owner of the procedure<a name="line.968"></a>
+<span class="sourceLineNo">969</span> return false;<a name="line.969"></a>
+<span class="sourceLineNo">970</span> }<a name="line.970"></a>
+<span class="sourceLineNo">971</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.971"></a>
+<span class="sourceLineNo">972</span> }<a name="line.972"></a>
+<span class="sourceLineNo">973</span><a name="line.973"></a>
+<span class="sourceLineNo">974</span> /**<a name="line.974"></a>
+<span class="sourceLineNo">975</span> * List procedures.<a name="line.975"></a>
+<span class="sourceLineNo">976</span> * @return the procedures in a list<a name="line.976"></a>
+<span class="sourceLineNo">977</span> */<a name="line.977"></a>
+<span class="sourceLineNo">978</span> public List<ProcedureInfo> listProcedures() {<a name="line.978"></a>
+<span class="sourceLineNo">979</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.979"></a>
+<span class="sourceLineNo">980</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.980"></a>
+<span class="sourceLineNo">981</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.981"></a>
+<span class="sourceLineNo">982</span> }<a name="line.982"></a>
+<span class="sourceLineNo">983</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.984"></a>
+<span class="sourceLineNo">985</span> // it could complete after we walk through procedures list and insert into<a name="line.985"></a>
+<span class="sourceLineNo">986</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.986"></a>
+<span class="sourceLineNo">987</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.987"></a>
+<span class="sourceLineNo">988</span> procedureLists.add(e.getValue());<a name="line.988"></a>
+<span class="sourceLineNo">989</span> }<a name="line.989"></a>
+<span class="sourceLineNo">990</span> return procedureLists;<a name="line.990"></a>
+<span class="sourceLineNo">991</span> }<a name="line.991"></a>
+<span class="sourceLineNo">992</span><a name="line.992"></a>
+<span class="sourceLineNo">993</span> // ==========================================================================<a name="line.993"></a>
+<span class="sourceLineNo">994</span> // Listeners helpers<a name="line.994"></a>
+<span class="sourceLineNo">995</span> // ==========================================================================<a name="line.995"></a>
+<span class="sourceLineNo">996</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.996"></a>
+<span class="sourceLineNo">997</span> this.listeners.add(listener);<a name="line.997"></a>
+<span class="sourceLineNo">998</span> }<a name="line.998"></a>
+<span class="sourceLineNo">999</span><a name="line.999"></a>
+<span class="sourceLineNo">1000</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span> return this.listeners.remove(listener);<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span> }<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span><a name="line.1003"></a>
+<span class="sourceLineNo">1004</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span> if (!this.listeners.isEmpty()) {<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span> try {<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span> listener.procedureLoaded(procId);<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span> } catch (Throwable e) {<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span> }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span> }<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span> }<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span><a name="line.1015"></a>
+<span class="sourceLineNo">1016</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span> if (!this.listeners.isEmpty()) {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span> try {<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span> listener.procedureAdded(procId);<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span> } catch (Throwable e) {<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span> }<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> }<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span> }<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span><a name="line.1027"></a>
+<span class="sourceLineNo">1028</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span> if (!this.listeners.isEmpty()) {<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span> try {<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span> listener.procedureFinished(procId);<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span> } catch (Throwable e) {<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span> }<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span> }<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span> }<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span><a name="line.1039"></a>
+<span class="sourceLineNo">1040</span> // ==========================================================================<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span> // Procedure IDs helpers<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span> // ==========================================================================<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span> private long nextProcId() {<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span> long procId = lastProcId.incrementAndGet();<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span> if (procId < 0) {<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span> procId = lastProcId.get();<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span> if (procId >= 0)<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span> break;<a name="line.1049"></a>
<span class="sourceLineNo">1050</span> }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span> }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span> return procId;<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span><a name="line.1055"></a>
-<span class="sourceLineNo">1056</span> @VisibleForTesting<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span> protected long getLastProcId() {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span> return lastProcId.get();<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span> }<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span><a name="line.1060"></a>
-<span class="sourceLineNo">1061</span> @VisibleForTesting<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span> public Set<Long> getActiveProcIds() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span> return procedures.keySet();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span> }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span><a name="line.1065"></a>
-<span class="sourceLineNo">1066</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span> }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span><a name="line.1069"></a>
-<span class="sourceLineNo">1070</span> // ==========================================================================<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span> // Executions<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span> // ==========================================================================<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span> private void executeProcedure(final Procedure proc) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span> if (rootProcId == null) {<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span> executeRollback(proc);<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span> return;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span> }<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span><a name="line.1080"></a>
-<span class="sourceLineNo">1081</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span> if (procStack == null) return;<a name="line.1082"></a>
+<span class="sourceLineNo">1051</span> while (procedures.containsKey(procId)) {<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span> procId = lastProcId.incrementAndGet();<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span> }<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span> return procId;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span> }<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span><a name="line.1058"></a>
+<span class="sourceLineNo">1059</span> @VisibleForTesting<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span> protected long getLastProcId() {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span> return lastProcId.get();<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span> }<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span> @VisibleForTesting<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span> public Set<Long> getActiveProcIds() {<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span> return procedures.keySet();<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span> }<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span><a name="line.1068"></a>
+<span class="sourceLineNo">1069</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span> }<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span><a name="line.1072"></a>
+<span class="sourceLineNo">1073</span> // ==========================================================================<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span> // Executions<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span> // ==========================================================================<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span> private void executeProcedure(final Procedure proc) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span> if (rootProcId == null) {<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span> executeRollback(proc);<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span> return;<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span> }<a name="line.1082"></a>
<span class="sourceLineNo">1083</span><a name="line.1083"></a>
-<span class="sourceLineNo">1084</span> do {<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span> // Try to acquire the execution<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span> if (!procStack.acquire(proc)) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span> if (procStack.setRollback()) {<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span> case LOCK_ACQUIRED:<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span> break;<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span> case LOCK_YIELD_WAIT:<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span> procStack.unsetRollback();<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span> scheduler.yield(proc);<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span> break;<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span> case LOCK_EVENT_WAIT:<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span> procStack.unsetRollback();<a name="line.1097"></a>
+<span class="sourceLineNo">1084</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span> if (procStack == null) return;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span><a name="line.1086"></a>
+<span class="sourceLineNo">1087</span> do {<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span> // Try to acquire the execution<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span> if (!procStack.acquire(proc)) {<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span> if (procStack.setRollback()) {<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span> case LOCK_ACQUIRED:<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span> break;<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span> case LOCK_YIELD_WAIT:<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span> procStack.unsetRollback();<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span> scheduler.yield(proc);<a name="line.1097"></a>
<span class="sourceLineNo">1098</span> break;<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span> default:<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span> throw new UnsupportedOperationException();<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> }<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span> } else {<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span> // if we can't rollback means that some child is still running.<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span> // the rollback will be executed after all the children are done.<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> if (!proc.wasExecuted()) {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> switch (executeRollback(proc)) {<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> case LOCK_ACQUIRED:<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> break;<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> case LOCK_YIELD_WAIT:<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span> scheduler.yield(proc);<a name="line.1111"></a>
+<span class="sourceLineNo">1099</span> case LOCK_EVENT_WAIT:<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span> procStack.unsetRollback();<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span> break;<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span> default:<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span> throw new UnsupportedOperationException();<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span> }<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span> } else {<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span> // if we can't rollback means that some child is still running.<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> // the rollback will be executed after all the children are done.<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> if (!proc.wasExecuted()) {<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> switch (executeRollback(proc)) {<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> case LOCK_ACQUIRED:<a name="line.1111"></a>
<span class="sourceLineNo">1112</span> break;<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> case LOCK_EVENT_WAIT:<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> break;<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> default:<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span> throw new UnsupportedOperationException();<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> }<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> }<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> }<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> break;<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span><a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> // Execute the procedure<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> switch (acquireLock(proc)) {<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> case LOCK_ACQUIRED:<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> execProcedure(procStack, proc);<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span> releaseLock(proc, false);<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> break;<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> case LOCK_YIELD_WAIT:<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> scheduler.yield(proc);<a name="line.1131"></a>
+<span class="sourceLineNo">1113</span> case LOCK_YIELD_WAIT:<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> scheduler.yield(proc);<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> break;<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> case LOCK_EVENT_WAIT:<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> break;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span> default:<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> throw new UnsupportedOperationException();<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> }<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> }<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> break;<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> }<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> // Execute the procedure<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> switch (acquireLock(proc)) {<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> case LOCK_ACQUIRED:<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span> execProcedure(procStack, proc);<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> releaseLock(proc, false);<a name="line.1131"></a>
<span class="sourceLineNo">1132</span> break;<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> case LOCK_EVENT_WAIT:<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> // someone will wake us up when the lock is available<a name="line.1134"></a>
+<span class="sourceLineNo">1133</span> case LOCK_YIELD_WAIT:<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> scheduler.yield(proc);<a name="line.1134"></a>
<span class="sourceLineNo">1135</span> break;<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> default:<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> throw new UnsupportedOperationException();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> procStack.release(proc);<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> // allows to kill the executor before something is stored to the wal.<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span> // useful to test the procedure recovery.<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (testing != null && !isRunning()) {<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> break;<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span> }<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> if (proc.isSuccess()) {<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> if (LOG.isDebugEnabled()) {<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> }<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> // Finalize the procedure state<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span> if (proc.getProcId() == rootProcId) {<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> procedureFinished(proc);<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> } else {<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> execCompletionCleanup(proc);<a name="line.1155"></a>
+<span class="sourceLineNo">1136</span> case LOCK_EVENT_WAIT:<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> // someone will wake us up when the lock is available<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> break;<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> default:<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> throw new UnsupportedOperationException();<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> }<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> procStack.release(proc);<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span><a name="line.1143"></a>
+<span class="sourceLineNo">1144</span> // allows to kill the executor before something is stored to the wal.<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> // useful to test the procedure recovery.<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> if (testing != null && !isRunning()) {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span> break;<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> }<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> if (proc.isSuccess()) {<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span> // update metrics on finishing the procedure<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> proc.updateMetricsOnFinish(getEnvironment(), proc.elapsedTime(), true);<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span><a name="line.1153"></a>
+<span class="sourceLineNo">1154</span> if (LOG.isDebugEnabled()) {<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1155"></a>
<span class="sourceLineNo">1156</span> }<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> break;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> } while (procStack.isFailed());<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span> }<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span><a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> private LockState acquireLock(final Procedure proc) {<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> final TEnvironment env = getEnvironment();<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> // hasLock() is used in conjunction with holdLock().<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> return LockState.LOCK_ACQUIRED;<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> }<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> return proc.doAcquireLock(env);<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> }<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> final TEnvironment env = getEnvironment();<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // for how the framework works, we know that we will always have the lock<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span> if (force || !proc.holdLock(env)) {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> proc.doReleaseLock(env);<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> }<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span> }<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span><a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> /**<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> * Execute the rollback of the full procedure stack.<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> * finished to user, and the result will be the fatal exception.<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> */<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> if (exception == null) {<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> exception = procStack.getException();<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span> rootProc.setFailure(exception);<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> store.update(rootProc);<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> }<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span><a name="line.1195"></a>
-<span class="sourceLineNo">1196</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span><a name="line.1198"></a>
-<span class="sourceLineNo">1199</span> int stackTail = subprocStack.size();<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> boolean reuseLock = false;<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> while (stackTail --> 0) {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span><a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> LockState lockState;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> // queue waiting for the lock availability<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span> return lockState;<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> }<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> lockState = executeRollback(proc);<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // If the next procedure is the same to this one<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> // we can avoid to lock/unlock each step<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span> if (!reuseLock) {<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> releaseLock(proc, false);<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> }<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span><a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // allows to kill the executor before something is stored to the wal.<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // useful to test the procedure recovery.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> if (abortRollback) {<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> return lockState;<a name="line.1226"></a>
+<span class="sourceLineNo">1157</span> // Finalize the procedure state<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> if (proc.getProcId() == rootProcId) {<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> procedureFinished(proc);<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> } else {<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> execCompletionCleanup(proc);<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span> }<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> break;<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> }<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> } while (procStack.isFailed());<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> }<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span><a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> private LockState acquireLock(final Procedure proc) {<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> final TEnvironment env = getEnvironment();<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> // hasLock() is used in conjunction with holdLock().<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> return LockState.LOCK_ACQUIRED;<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> }<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> return proc.doAcquireLock(env);<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> }<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span><a name="line.1178"></a>
+<span class="sourceLineNo">1179</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> final TEnvironment env = getEnvironment();<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> // for how the framework works, we know that we will always have the lock<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> if (force || !proc.holdLock(env)) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> proc.doReleaseLock(env);<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> }<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span> }<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span><a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> /**<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> * Execute the rollback of the full procedure stack.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> * finished to user, and the result will be the fatal exception.<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> */<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> if (exception == null) {<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> exception = procStack.getException();<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span> rootProc.setFailure(exception);<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> store.update(rootProc);<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span><a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> int stackTail = subprocStack.size();<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> boolean reuseLock = false;<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> while (stackTail --> 0) {<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span><a name="line.1209"></a>
+<span class="sourceLineNo">1210</span> LockState lockState;<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> // queue waiting for the lock availability<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> return lockState;<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> }<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span><a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> lockState = executeRollback(proc);<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span><a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> // If the next procedure is the same to this one<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> // we can avoid to lock/unlock each step<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> if (!reuseLock) {<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> releaseLock(proc, false);<a name="line.1226"></a>
<span class="sourceLineNo">1227</span> }<a name="line.1227"></a>
<span class="sourceLineNo">1228</span><a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> subprocStack.remove(stackTail);<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span><a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> // if the procedure is kind enough to pass the slot to someone else, yield<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span> if (proc.isYieldAfterExecutionStep(getEnvironment())) {<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> }<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span><a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> if (proc != rootProc) {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> execCompletionCleanup(proc);<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span> }<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span><a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> // Finalize the procedure state<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> LOG.info("Rolled back " + rootProc +<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> " exec-time=" + StringUtils.humanTimeDiff(rootProc.elapsedTime()));<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> procedureFinished(rootProc);<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> return LockState.LOCK_ACQUIRED;<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span> }<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> /**<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> * Execute the rollback of the procedure step.<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> * It updates the store with the new state (stack index)<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> * or will remove completly the procedure in case it is a child.<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> */<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span> private LockState executeRollback(final Procedure proc) {<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> try {<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> proc.doRollback(getEnvironment());<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> } catch (IOException e) {<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> if (LOG.isDebugEnabled()) {<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> LOG.debug("Roll back attempt failed for " + proc, e);<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> }<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> } catch (InterruptedException e) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> handleInterruptedException(proc, e);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span> } catch (Throwable e) {<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> // Catch NullPointerExceptions or similar errors...<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> LOG.fatal("CODE-BUG: Uncatched runtime exception for procedure: " + proc, e);<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> }<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span><a name="line.1268"></a>
-<span class="sourceLineNo">1269</span> // allows to kill the executor before something is stored to the wal.<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> // useful to test the procedure recovery.<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> if (testing != null && testing.shouldKillBeforeStoreUpdate()) {<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> LOG.debug("TESTING: Kill before store update");<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span> stop();<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> }<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> if (proc.removeStackIndex()) {<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> proc.setState(ProcedureState.ROLLEDBACK);<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span> if (proc.hasParent()) {<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> store.delete(proc.getProcId());<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> procedures.remove(proc.getProcId());<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> } else {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> final long[] childProcIds = rollbackStack.get(proc.getProcId()).getSubprocedureIds();<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> if (childProcIds != null) {<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span> store.delete(proc, childProcIds);<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> } else {<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> store.update(proc);<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> }<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> } else {<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span> store.update(proc);<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> }<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span><a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> return LockState.LOCK_ACQUIRED;<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span><a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> * Executes the specified procedure<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> * - calls the doExecute() of the procedure<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> * - if the procedure execution didn't fail (e.g. invalid user input)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> * - ...and returned subprocedures<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span> * - the subprocedures are initialized.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> * - the subprocedures are added to the store<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> * - the subprocedures are added to the runnable queue<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> * - the procedure is now in a WAITING state, waiting for the subprocedures to complete<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span> * - ...if there are no subprocedure<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> * - the procedure completed successfully<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> * - if there is a parent (WAITING)<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> * - the parent state will be set to RUNNABLE<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span> * - in case of failure<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> * - the store is updated with the new state<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> * - the executor (caller of this method) will start the rollback of the procedure<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> */<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span> private void execProcedure(final RootProcedureState procStack, final Procedure procedure) {<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> Preconditions.checkArgument(procedure.getState() == ProcedureState.RUNNABLE);<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span><a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> // Execute the procedure<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> boolean suspended = false;<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> boolean reExecute = false;<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> Procedure[] subprocs = null;<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> do {<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> reExecute = false;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> try {<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span> subprocs = procedure.doExecute(getEnvironment());<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (subprocs != null && subprocs.length == 0) {<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> subprocs = null;<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span> }<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> } catch (ProcedureSuspendedException e) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> suspended = true;<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> } catch (ProcedureYieldException e) {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> if (LOG.isTraceEnabled()) {<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> LOG.trace("Yield " + procedure + ": " + e.getMessage());<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span> }<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> scheduler.yield(procedure);<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> return;<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> } catch (InterruptedException e) {<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> handleInterruptedException(procedure, e);<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> scheduler.yield(procedure);<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span> return;<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> } catch (Throwable e) {<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // Catch NullPointerExceptions or similar errors...<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> String msg = "CODE-BUG: Uncaught runtime exception: " + procedure;<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> LOG.error(msg, e);<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> procedure.setFailure(new RemoteProcedureException(msg, e));<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span> }<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span><a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> if (!procedure.isFailed()) {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> if (subprocs != null) {<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span> if (subprocs.length == 1 && subprocs[0] == procedure) {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span> // quick-shortcut for a state machine like procedure<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> subprocs = null;<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> reExecute = true;<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> } else {<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span> // yield the current procedure, and make the subproced
<TRUNCATED>
[06/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html
new file mode 100644
index 0000000..dc57b29
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html
@@ -0,0 +1,586 @@
+<!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>TestProcedureMetrics (Apache HBase 2.0.0-SNAPSHOT Test 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="TestProcedureMetrics (Apache HBase 2.0.0-SNAPSHOT Test 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/TestProcedureMetrics.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><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" target="_top">Frames</a></li>
+<li><a href="TestProcedureMetrics.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.class.summary">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.procedure2</div>
+<h2 title="Class TestProcedureMetrics" class="title">Class TestProcedureMetrics</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://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>org.apache.hadoop.hbase.procedure2.TestProcedureMetrics</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.41">TestProcedureMetrics</a>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</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>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</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>
+<tr class="altColor">
+<td class="colFirst"><code>static class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static class </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a></span></code> </td>
+</tr>
+</table>
+</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>private static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#beginCount">beginCount</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#failedCount">failedCount</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private org.apache.hadoop.fs.FileSystem</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#fs">fs</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HBaseCommonTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseCommonTestingUtility</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#htu">htu</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static org.apache.commons.logging.Log</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#LOG">LOG</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#logDir">logDir</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#PROCEDURE_EXECUTOR_SLOTS">PROCEDURE_EXECUTOR_SLOTS</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#procEnv">procEnv</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static org.apache.hadoop.hbase.procedure2.ProcedureExecutor<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#procExecutor">procExecutor</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private org.apache.hadoop.hbase.procedure2.store.ProcedureStore</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#procStore">procStore</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#successCount">successCount</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#testDir">testDir</a></span></code> </td>
+</tr>
+</table>
+</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="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#TestProcedureMetrics--">TestProcedureMetrics</a></span>()</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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#setUp--">setUp</a></span>()</code> </td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#tearDown--">tearDown</a></span>()</code> </td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#testMetricForFailedYiledProcedure--">testMetricForFailedYiledProcedure</a></span>()</code> </td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#testMetricForProcedureWithChildren--">testMetricForProcedureWithChildren</a></span>()</code> </td>
+</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/procedure2/TestProcedureMetrics.html#testMetricForSimpleProcedure--">testMetricForSimpleProcedure</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/procedure2/TestProcedureMetrics.html#testMetricForYieldProcedure--">testMetricForYieldProcedure</a></span>()</code> </td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#testMetricsForFailedProcedure--">testMetricsForFailedProcedure</a></span>()</code> </td>
+</tr>
+</table>
+<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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang
/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://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="http://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="http://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>
+</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="LOG">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LOG</h4>
+<pre>private static final org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.42">LOG</a></pre>
+</li>
+</ul>
+<a name="PROCEDURE_EXECUTOR_SLOTS">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PROCEDURE_EXECUTOR_SLOTS</h4>
+<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.44">PROCEDURE_EXECUTOR_SLOTS</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.PROCEDURE_EXECUTOR_SLOTS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="procEnv">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>procEnv</h4>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.46">procEnv</a></pre>
+</li>
+</ul>
+<a name="procExecutor">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>procExecutor</h4>
+<pre>private static org.apache.hadoop.hbase.procedure2.ProcedureExecutor<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.47">procExecutor</a></pre>
+</li>
+</ul>
+<a name="procStore">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>procStore</h4>
+<pre>private org.apache.hadoop.hbase.procedure2.store.ProcedureStore <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.48">procStore</a></pre>
+</li>
+</ul>
+<a name="htu">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>htu</h4>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/HBaseCommonTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseCommonTestingUtility</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.50">htu</a></pre>
+</li>
+</ul>
+<a name="fs">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fs</h4>
+<pre>private org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.51">fs</a></pre>
+</li>
+</ul>
+<a name="testDir">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testDir</h4>
+<pre>private org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.52">testDir</a></pre>
+</li>
+</ul>
+<a name="logDir">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>logDir</h4>
+<pre>private org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.53">logDir</a></pre>
+</li>
+</ul>
+<a name="beginCount">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>beginCount</h4>
+<pre>private static int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.55">beginCount</a></pre>
+</li>
+</ul>
+<a name="successCount">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>successCount</h4>
+<pre>private static int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.56">successCount</a></pre>
+</li>
+</ul>
+<a name="failedCount">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>failedCount</h4>
+<pre>private static int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.57">failedCount</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="TestProcedureMetrics--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TestProcedureMetrics</h4>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.41">TestProcedureMetrics</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="setUp--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUp</h4>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.61">setUp</a>()
+ throws <a href="http://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="http://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="tearDown--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tearDown</h4>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.77">tearDown</a>()
+ throws <a href="http://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="http://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="testMetricForSimpleProcedure--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testMetricForSimpleProcedure</h4>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.84">testMetricForSimpleProcedure</a>()
+ throws <a href="http://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="http://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="testMetricsForFailedProcedure--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testMetricsForFailedProcedure</h4>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.98">testMetricsForFailedProcedure</a>()
+ throws <a href="http://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="http://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="testMetricForYieldProcedure--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testMetricForYieldProcedure</h4>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.112">testMetricForYieldProcedure</a>()
+ throws <a href="http://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="http://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="testMetricForFailedYiledProcedure--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testMetricForFailedYiledProcedure</h4>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.126">testMetricForFailedYiledProcedure</a>()</pre>
+</li>
+</ul>
+<a name="testMetricForProcedureWithChildren--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testMetricForProcedureWithChildren</h4>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#line.140">testMetricForProcedureWithChildren</a>()
+ throws <a href="http://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="http://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>
+</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/TestProcedureMetrics.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><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" target="_top">Frames</a></li>
+<li><a href="TestProcedureMetrics.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.class.summary">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–2017 <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/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html
index 8d56d64..29042d1 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html
@@ -230,7 +230,7 @@ extends org.apache.hadoop.hbase.procedure2.SequentialProcedure<<a href="../..
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimesta
mp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updat
eMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html
index f022085..9a33e53 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
@@ -515,7 +515,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html
index e27e720..c809697 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html
@@ -242,7 +242,7 @@ extends org.apache.hadoop.hbase.procedure2.SequentialProcedure<<a href="../..
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimesta
mp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updat
eMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.Step1Procedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.Step1Procedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.Step1Procedure.html
index d21de0e..56d40eb 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.Step1Procedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.Step1Procedure.html
@@ -223,7 +223,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedure
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimesta
mp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updat
eMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.Step2Procedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.Step2Procedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.Step2Procedure.html
index 94b95fc..f874eb4 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.Step2Procedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.Step2Procedure.html
@@ -206,7 +206,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedure
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimesta
mp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updat
eMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.html
index 6aa7517..630f3af 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.html
@@ -238,7 +238,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedure
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimesta
mp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updat
eMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestSingleStepProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestSingleStepProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestSingleStepProcedure.html
index 78108d4..a0b2b29 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestSingleStepProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestSingleStepProcedure.html
@@ -230,7 +230,7 @@ extends org.apache.hadoop.hbase.procedure2.SequentialProcedure<<a href="../..
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimesta
mp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updat
eMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.html
index de8701a..9422bc2 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.html
@@ -281,7 +281,7 @@ extends org.apache.hadoop.hbase.procedure2.StateMachineProcedure<<a href="../
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, updateTimestamp, wasExecuted</co
de></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, updateMetricsOnFinish, u
pdateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestProcedure.html
index 49b5073..167d61a 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestProcedure.html
@@ -234,7 +234,7 @@ extends org.apache.hadoop.hbase.procedure2.Procedure<<a href="../../../../../
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, execute, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimple
SB, toStringState, updateTimestamp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, execute, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStri
ngSimpleSB, toStringState, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestSingleStepProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestSingleStepProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestSingleStepProcedure.html
index c541c55..ab07869 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestSingleStepProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestSingleStepProcedure.html
@@ -222,7 +222,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedure
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState,
updateTimestamp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStrin
gState, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestTwoStepProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestTwoStepProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestTwoStepProcedure.html
index 9b6a83c..65cbd33 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestTwoStepProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestTwoStepProcedure.html
@@ -222,7 +222,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedure
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState,
updateTimestamp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStrin
gState, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.TestProcedureWithEvent.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.TestProcedureWithEvent.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.TestProcedureWithEvent.html
index 7e7a3d0..77606e1 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.TestProcedureWithEvent.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.TestProcedureWithEvent.html
@@ -222,7 +222,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTest
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStr
ingState, updateTimestamp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleS
B, toStringState, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.TestLockProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.TestLockProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.TestLockProcedure.html
index 6ffd998..3ec3f7b 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.TestLockProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.TestLockProcedure.html
@@ -289,7 +289,7 @@ extends org.apache.hadoop.hbase.procedure2.Procedure<<a href="../../../../../
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasOwner, hasParent, hasTimeout, haveSameParent, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateTimestamp, wasExecuted</code></li>
+<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasOwner, hasParent, hasTimeout, haveSameParent, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, toStringState, updateMetricsOnFinish, updateMetricsOnSubmit, upd
ateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.BasicProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.BasicProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.BasicProcedure.html
index a712fb9..f953e13 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.BasicProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.BasicProcedure.html
@@ -220,7 +220,7 @@ extends org.apache.hadoop.hbase.procedure2.Procedure<<a href="../../../../../
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStr
ingState, updateTimestamp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleS
B, toStringState, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.DoublingStateStringBasicProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.DoublingStateStringBasicProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.DoublingStateStringBasicProcedure.html
index 9671c65..40d0885 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.DoublingStateStringBasicProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.DoublingStateStringBasicProcedure.html
@@ -213,7 +213,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedure
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, updat
eTimestamp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleS
B, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.SimpleStateMachineProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.SimpleStateMachineProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.SimpleStateMachineProcedure.html
index c1d8995..8067502 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.SimpleStateMachineProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureToString.SimpleStateMachineProcedure.html
@@ -241,7 +241,7 @@ extends org.apache.hadoop.hbase.procedure2.StateMachineProcedure<<a href="../
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, updateTimestamp, wasExecuted</co
de></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, updateMetricsOnFinish, u
pdateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureUtil.TestProcedureNoDefaultConstructor.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureUtil.TestProcedureNoDefaultConstructor.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureUtil.TestProcedureNoDefaultConstructor.html
index 8ac8190..8a6fbd4 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureUtil.TestProcedureNoDefaultConstructor.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestProcedureUtil.TestProcedureNoDefaultConstructor.html
@@ -206,7 +206,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTest
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimestamp,
wasExecuted</code></li>
+<code>addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateMe
tricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html
index 0eec100..016b736 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.173">TestStateMachineProcedure.SimpleChildProcedure</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.172">TestStateMachineProcedure.SimpleChildProcedure</a>
extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.NoopProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureTestingUtility.NoopProcedure</a><<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a>></pre>
</li>
</ul>
@@ -215,7 +215,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTest
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStr
ingState, updateTimestamp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleS
B, toStringState, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -244,7 +244,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTest
<ul class="blockListLast">
<li class="blockList">
<h4>SimpleChildProcedure</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html#line.173">SimpleChildProcedure</a>()</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html#line.172">SimpleChildProcedure</a>()</pre>
</li>
</ul>
</li>
@@ -261,7 +261,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTest
<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/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html#line.174">execute</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a> env)</pre>
+<pre>protected org.apache.hadoop.hbase.procedure2.Procedure[] <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html#line.173">execute</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a> env)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.NoopProcedure.html#execute-TEnv-">execute</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.NoopProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureTestingUtility.NoopProcedure</a><<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a>></code></dd>
@@ -274,7 +274,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTest
<ul class="blockListLast">
<li class="blockList">
<h4>rollback</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html#line.184">rollback</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a> env)</pre>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html#line.183">rollback</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a> env)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.NoopProcedure.html#rollback-TEnv-">rollback</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.NoopProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureTestingUtility.NoopProcedure</a><<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a>></code></dd>
[04/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 1850c7d..ee59b2d 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -118,6 +118,7 @@
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestSequentialProcedure.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureExecution.TestSequentialProcedure</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureExecution.TestWaitingProcedure</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.TestWaitChild.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureExecution.TestWaitingProcedure.TestWaitChild</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureMetrics.ProcedureMetrics</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureNonce.TestSingleStepProcedure</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureRecovery.BaseTestStepProcedure</span></a>
<ul>
@@ -163,6 +164,8 @@
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureExecutor.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureExecutor.TestProcEnv</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureInMemoryChore</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureInMemoryChore.TestProcEnv</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureMetrics</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureMetrics.TestProcEnv</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureNonce</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureNonce.TestProcEnv</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureRecovery</span></a></li>
@@ -203,8 +206,8 @@
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
<li type="circle">org.apache.hadoop.hbase.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/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestStateMachineProcedure.TestSMProcedureState</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>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-use.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-use.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-use.html
index cf0cecb..700b8a9 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-use.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-use.html
@@ -146,6 +146,12 @@
<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/TestProcedureInMemoryChore.TestProcEnv.html#org.apache.hadoop.hbase.procedure2">TestProcedureInMemoryChore.TestProcEnv</a> </td>
</tr>
<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/TestProcedureMetrics.ProcedureMetrics.html#org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a> </td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/TestProcedureMetrics.TestProcEnv.html#org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> </td>
+</tr>
+<tr class="rowColor">
<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/procedure2/class-use/TestProcedureNonce.TestProcEnv.html#org.apache.hadoop.hbase.procedure2">TestProcedureNonce.TestProcEnv</a> </td>
</tr>
<tr class="altColor">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/store/wal/TestWALProcedureStore.TestSequentialProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/store/wal/TestWALProcedureStore.TestSequentialProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/store/wal/TestWALProcedureStore.TestSequentialProcedure.html
index 80c14fd..2e65cb1 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/store/wal/TestWALProcedureStore.TestSequentialProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/store/wal/TestWALProcedureStore.TestSequentialProcedure.html
@@ -238,7 +238,7 @@ extends org.apache.hadoop.hbase.procedure2.SequentialProcedure<<a href="http:
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimesta
mp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doReleaseLock, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updat
eMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 0234cce..3f091ab 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -587,9 +587,9 @@
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
<li type="circle">org.apache.hadoop.hbase.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/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/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>
-<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>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController.TestTableDDLProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController.TestTableDDLProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController.TestTableDDLProcedure.html
index 95ae798..eb8000c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController.TestTableDDLProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController.TestTableDDLProcedure.html
@@ -246,7 +246,7 @@ implements org.apache.hadoop.hbase.master.procedure.TableProcedureInterface</pre
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStr
ingState, updateTimestamp, wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, isYieldAfterExecutionStep, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleS
B, toStringState, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 d77b894..208ee4d 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
@@ -248,10 +248,10 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
+<li type="circle">org.apache.hadoop.hbase.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/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>
-<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>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 78afff3..c8d8170 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -139,9 +139,9 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/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/FaultyFSLog.FailureType.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">FaultyFSLog.FailureType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/IOTestProvider.AllowedOperations.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">IOTestProvider.AllowedOperations</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/TestWALSplit.Corruptions.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">TestWALSplit.Corruptions</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/overview-tree.html b/testdevapidocs/overview-tree.html
index 66badd2..a33c8f3 100644
--- a/testdevapidocs/overview-tree.html
+++ b/testdevapidocs/overview-tree.html
@@ -1569,6 +1569,7 @@
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestSequentialProcedure.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureExecution.TestSequentialProcedure</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureExecution.TestWaitingProcedure</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureExecution.TestWaitingProcedure.TestWaitChild.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureExecution.TestWaitingProcedure.TestWaitChild</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureMetrics.ProcedureMetrics</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureNonce.TestSingleStepProcedure</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureRecovery.BaseTestStepProcedure</span></a>
<ul>
@@ -2747,6 +2748,8 @@
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureInMemoryChore.TestProcEnv</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure.<a href="org/apache/hadoop/hbase/procedure/TestProcedureManager.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">TestProcedureManager</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure.<a href="org/apache/hadoop/hbase/procedure/TestProcedureMember.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">TestProcedureMember</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureMetrics</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureMetrics.TestProcEnv</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureNonce</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureNonce.TestProcEnv</span></a></li>
<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureRecovery</span></a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html
new file mode 100644
index 0000000..7406ba1
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html
@@ -0,0 +1,326 @@
+<!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><a name="line.18"></a>
+<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.procedure2;<a name="line.19"></a>
+<span class="sourceLineNo">020</span><a name="line.20"></a>
+<span class="sourceLineNo">021</span>import org.apache.commons.logging.Log;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import org.apache.commons.logging.LogFactory;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.fs.FileSystem;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.fs.Path;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.HBaseCommonTestingUtility;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.junit.After;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.junit.Before;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.junit.Test;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.junit.experimental.categories.Category;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.io.IOException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span><a name="line.35"></a>
+<span class="sourceLineNo">036</span>import static org.junit.Assert.assertEquals;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import static org.junit.Assert.assertNotEquals;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import static org.junit.Assert.assertTrue;<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>@Category({MasterTests.class, SmallTests.class})<a name="line.40"></a>
+<span class="sourceLineNo">041</span>public class TestProcedureMetrics {<a name="line.41"></a>
+<span class="sourceLineNo">042</span> private static final Log LOG = LogFactory.getLog(TestProcedureMetrics.class);<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span> private static final int PROCEDURE_EXECUTOR_SLOTS = 1;<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span> private TestProcEnv procEnv;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> private static ProcedureExecutor<TestProcEnv> procExecutor;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> private ProcedureStore procStore;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span> private HBaseCommonTestingUtility htu;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> private FileSystem fs;<a name="line.51"></a>
+<span class="sourceLineNo">052</span> private Path testDir;<a name="line.52"></a>
+<span class="sourceLineNo">053</span> private Path logDir;<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span> private static int beginCount = 0;<a name="line.55"></a>
+<span class="sourceLineNo">056</span> private static int successCount = 0;<a name="line.56"></a>
+<span class="sourceLineNo">057</span> private static int failedCount = 0;<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> @Before<a name="line.60"></a>
+<span class="sourceLineNo">061</span> public void setUp() throws IOException {<a name="line.61"></a>
+<span class="sourceLineNo">062</span> htu = new HBaseCommonTestingUtility();<a name="line.62"></a>
+<span class="sourceLineNo">063</span> testDir = htu.getDataTestDir();<a name="line.63"></a>
+<span class="sourceLineNo">064</span> fs = testDir.getFileSystem(htu.getConfiguration());<a name="line.64"></a>
+<span class="sourceLineNo">065</span> assertTrue(testDir.depth() > 1);<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span> logDir = new Path(testDir, "proc-logs");<a name="line.67"></a>
+<span class="sourceLineNo">068</span> procEnv = new TestProcEnv();<a name="line.68"></a>
+<span class="sourceLineNo">069</span> procStore = ProcedureTestingUtility.createStore(htu.getConfiguration(), fs, logDir);<a name="line.69"></a>
+<span class="sourceLineNo">070</span> procExecutor = new ProcedureExecutor<TestProcEnv>(htu.getConfiguration(), procEnv, procStore);<a name="line.70"></a>
+<span class="sourceLineNo">071</span> procExecutor.testing = new ProcedureExecutor.Testing();<a name="line.71"></a>
+<span class="sourceLineNo">072</span> procStore.start(PROCEDURE_EXECUTOR_SLOTS);<a name="line.72"></a>
+<span class="sourceLineNo">073</span> procExecutor.start(PROCEDURE_EXECUTOR_SLOTS, true);<a name="line.73"></a>
+<span class="sourceLineNo">074</span> }<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span> @After<a name="line.76"></a>
+<span class="sourceLineNo">077</span> public void tearDown() throws IOException {<a name="line.77"></a>
+<span class="sourceLineNo">078</span> procExecutor.stop();<a name="line.78"></a>
+<span class="sourceLineNo">079</span> procStore.stop(false);<a name="line.79"></a>
+<span class="sourceLineNo">080</span> fs.delete(logDir, true);<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> @Test<a name="line.83"></a>
+<span class="sourceLineNo">084</span> public void testMetricForSimpleProcedure() throws Exception {<a name="line.84"></a>
+<span class="sourceLineNo">085</span> // procedure that executes successfully<a name="line.85"></a>
+<span class="sourceLineNo">086</span> ProcedureMetrics proc = new ProcedureMetrics(true);<a name="line.86"></a>
+<span class="sourceLineNo">087</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.87"></a>
+<span class="sourceLineNo">088</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.88"></a>
+<span class="sourceLineNo">089</span> beginCount++;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> successCount++;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.91"></a>
+<span class="sourceLineNo">092</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.92"></a>
+<span class="sourceLineNo">093</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.93"></a>
+<span class="sourceLineNo">094</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<a name="line.94"></a>
+<span class="sourceLineNo">095</span> }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span> @Test<a name="line.97"></a>
+<span class="sourceLineNo">098</span> public void testMetricsForFailedProcedure() throws Exception {<a name="line.98"></a>
+<span class="sourceLineNo">099</span> // procedure that fails<a name="line.99"></a>
+<span class="sourceLineNo">100</span> ProcedureMetrics proc = new ProcedureMetrics(false);<a name="line.100"></a>
+<span class="sourceLineNo">101</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.101"></a>
+<span class="sourceLineNo">102</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.102"></a>
+<span class="sourceLineNo">103</span> beginCount++;<a name="line.103"></a>
+<span class="sourceLineNo">104</span> failedCount++;<a name="line.104"></a>
+<span class="sourceLineNo">105</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.105"></a>
+<span class="sourceLineNo">106</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.106"></a>
+<span class="sourceLineNo">107</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.107"></a>
+<span class="sourceLineNo">108</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<a name="line.108"></a>
+<span class="sourceLineNo">109</span> }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span> @Test<a name="line.111"></a>
+<span class="sourceLineNo">112</span> public void testMetricForYieldProcedure() throws Exception {<a name="line.112"></a>
+<span class="sourceLineNo">113</span> // procedure that yields<a name="line.113"></a>
+<span class="sourceLineNo">114</span> ProcedureMetrics proc = new ProcedureMetrics(true, true);<a name="line.114"></a>
+<span class="sourceLineNo">115</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.115"></a>
+<span class="sourceLineNo">116</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.116"></a>
+<span class="sourceLineNo">117</span> beginCount++;<a name="line.117"></a>
+<span class="sourceLineNo">118</span> successCount++;<a name="line.118"></a>
+<span class="sourceLineNo">119</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.119"></a>
+<span class="sourceLineNo">120</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.120"></a>
+<span class="sourceLineNo">121</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.121"></a>
+<span class="sourceLineNo">122</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<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> @Test<a name="line.125"></a>
+<span class="sourceLineNo">126</span> public void testMetricForFailedYiledProcedure() {<a name="line.126"></a>
+<span class="sourceLineNo">127</span> // procedure that yields and fails<a name="line.127"></a>
+<span class="sourceLineNo">128</span> ProcedureMetrics proc = new ProcedureMetrics(false, true);<a name="line.128"></a>
+<span class="sourceLineNo">129</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.129"></a>
+<span class="sourceLineNo">130</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.130"></a>
+<span class="sourceLineNo">131</span> beginCount++;<a name="line.131"></a>
+<span class="sourceLineNo">132</span> failedCount++;<a name="line.132"></a>
+<span class="sourceLineNo">133</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.133"></a>
+<span class="sourceLineNo">134</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.134"></a>
+<span class="sourceLineNo">135</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.135"></a>
+<span class="sourceLineNo">136</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<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 testMetricForProcedureWithChildren() throws Exception {<a name="line.140"></a>
+<span class="sourceLineNo">141</span> // Procedure that yileds with one of the sub-procedures that fail<a name="line.141"></a>
+<span class="sourceLineNo">142</span> int subProcCount = 10;<a name="line.142"></a>
+<span class="sourceLineNo">143</span> int failChildIndex = 2;<a name="line.143"></a>
+<span class="sourceLineNo">144</span> int yiledChildIndex = -1;<a name="line.144"></a>
+<span class="sourceLineNo">145</span> ProcedureMetrics[] subprocs = new ProcedureMetrics[subProcCount];<a name="line.145"></a>
+<span class="sourceLineNo">146</span> for (int i = 0; i < subProcCount; ++i) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span> subprocs[i] = new ProcedureMetrics(failChildIndex != i, yiledChildIndex == i, 3);<a name="line.147"></a>
+<span class="sourceLineNo">148</span> }<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span> ProcedureMetrics proc = new ProcedureMetrics(true, true, 3, subprocs);<a name="line.150"></a>
+<span class="sourceLineNo">151</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.151"></a>
+<span class="sourceLineNo">152</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.152"></a>
+<span class="sourceLineNo">153</span> beginCount += subProcCount + 1;<a name="line.153"></a>
+<span class="sourceLineNo">154</span> successCount += subProcCount - (failChildIndex + 1);<a name="line.154"></a>
+<span class="sourceLineNo">155</span> if (failChildIndex >= 0) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span> failedCount += subProcCount + 1;<a name="line.156"></a>
+<span class="sourceLineNo">157</span> } else {<a name="line.157"></a>
+<span class="sourceLineNo">158</span> successCount++;<a name="line.158"></a>
+<span class="sourceLineNo">159</span> }<a name="line.159"></a>
+<span class="sourceLineNo">160</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.160"></a>
+<span class="sourceLineNo">161</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.161"></a>
+<span class="sourceLineNo">162</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.162"></a>
+<span class="sourceLineNo">163</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<a name="line.163"></a>
+<span class="sourceLineNo">164</span> }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span> private static class TestProcEnv {<a name="line.166"></a>
+<span class="sourceLineNo">167</span> public boolean toggleKillBeforeStoreUpdate = false;<a name="line.167"></a>
+<span class="sourceLineNo">168</span> public boolean triggerRollbackOnChild = false;<a name="line.168"></a>
+<span class="sourceLineNo">169</span> }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span> public static class ProcedureMetrics extends SequentialProcedure<TestProcEnv> {<a name="line.171"></a>
+<span class="sourceLineNo">172</span> public static long beginCount = 0;<a name="line.172"></a>
+<span class="sourceLineNo">173</span> public static long successCount = 0;<a name="line.173"></a>
+<span class="sourceLineNo">174</span> public static long failedCount = 0;<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span> private boolean success;<a name="line.176"></a>
+<span class="sourceLineNo">177</span> private boolean yield;<a name="line.177"></a>
+<span class="sourceLineNo">178</span> private int yieldCount;<a name="line.178"></a>
+<span class="sourceLineNo">179</span> private int yieldNum;<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span> private ProcedureMetrics[] subprocs = null;<a name="line.181"></a>
+<span class="sourceLineNo">182</span><a name="line.182"></a>
+<span class="sourceLineNo">183</span> public ProcedureMetrics() {<a name="line.183"></a>
+<span class="sourceLineNo">184</span> this(true);<a name="line.184"></a>
+<span class="sourceLineNo">185</span> }<a name="line.185"></a>
+<span class="sourceLineNo">186</span><a name="line.186"></a>
+<span class="sourceLineNo">187</span> public ProcedureMetrics(boolean success) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span> this(success, true);<a name="line.188"></a>
+<span class="sourceLineNo">189</span> }<a name="line.189"></a>
+<span class="sourceLineNo">190</span><a name="line.190"></a>
+<span class="sourceLineNo">191</span> public ProcedureMetrics(boolean success, boolean yield) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span> this(success, yield, 1);<a name="line.192"></a>
+<span class="sourceLineNo">193</span> }<a name="line.193"></a>
+<span class="sourceLineNo">194</span><a name="line.194"></a>
+<span class="sourceLineNo">195</span> public ProcedureMetrics(boolean success, boolean yield, int yieldCount) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span> this(success, yield, yieldCount, null);<a name="line.196"></a>
+<span class="sourceLineNo">197</span> }<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span> public ProcedureMetrics(boolean success, ProcedureMetrics[] subprocs) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span> this(success, false, 1, subprocs);<a name="line.200"></a>
+<span class="sourceLineNo">201</span> }<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span> public ProcedureMetrics(boolean success, boolean yield, int yieldCount,<a name="line.203"></a>
+<span class="sourceLineNo">204</span> ProcedureMetrics[] subprocs) {<a name="line.204"></a>
+<span class="sourceLineNo">205</span> this.success = success;<a name="line.205"></a>
+<span class="sourceLineNo">206</span> this.yield = yield;<a name="line.206"></a>
+<span class="sourceLineNo">207</span> this.yieldCount = yieldCount;<a name="line.207"></a>
+<span class="sourceLineNo">208</span> this.subprocs = subprocs;<a name="line.208"></a>
+<span class="sourceLineNo">209</span> yieldNum = 0;<a name="line.209"></a>
+<span class="sourceLineNo">210</span> }<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span> @Override<a name="line.212"></a>
+<span class="sourceLineNo">213</span> protected void updateMetricsOnSubmit(TestProcEnv env) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span> beginCount++;<a name="line.214"></a>
+<span class="sourceLineNo">215</span> }<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span> @Override<a name="line.217"></a>
+<span class="sourceLineNo">218</span> protected Procedure[] execute(TestProcEnv env) throws ProcedureYieldException,<a name="line.218"></a>
+<span class="sourceLineNo">219</span> ProcedureSuspendedException, InterruptedException {<a name="line.219"></a>
+<span class="sourceLineNo">220</span> if (this.yield) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span> if (yieldNum < yieldCount) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span> yieldNum++;<a name="line.222"></a>
+<span class="sourceLineNo">223</span> throw new ProcedureYieldException();<a name="line.223"></a>
+<span class="sourceLineNo">224</span> }<a name="line.224"></a>
+<span class="sourceLineNo">225</span> }<a name="line.225"></a>
+<span class="sourceLineNo">226</span> if (!this.success) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> setFailure("Failed", new InterruptedException("Failed"));<a name="line.227"></a>
+<span class="sourceLineNo">228</span> return null;<a name="line.228"></a>
+<span class="sourceLineNo">229</span> }<a name="line.229"></a>
+<span class="sourceLineNo">230</span> return subprocs;<a name="line.230"></a>
+<span class="sourceLineNo">231</span> }<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span> @Override<a name="line.233"></a>
+<span class="sourceLineNo">234</span> protected void rollback(TestProcEnv env) throws IOException, InterruptedException {<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span> }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span> @Override<a name="line.238"></a>
+<span class="sourceLineNo">239</span> protected boolean abort(TestProcEnv env) {<a name="line.239"></a>
+<span class="sourceLineNo">240</span> return false;<a name="line.240"></a>
+<span class="sourceLineNo">241</span> }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span> @Override<a name="line.243"></a>
+<span class="sourceLineNo">244</span> protected void updateMetricsOnFinish(final TestProcEnv env, final long time,<a name="line.244"></a>
+<span class="sourceLineNo">245</span> boolean success) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span> if (success) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span> successCount++;<a name="line.247"></a>
+<span class="sourceLineNo">248</span> } else {<a name="line.248"></a>
+<span class="sourceLineNo">249</span> failedCount++;<a name="line.249"></a>
+<span class="sourceLineNo">250</span> }<a name="line.250"></a>
+<span class="sourceLineNo">251</span> }<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span> }<a name="line.253"></a>
+<span class="sourceLineNo">254</span>}<a name="line.254"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html
new file mode 100644
index 0000000..7406ba1
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html
@@ -0,0 +1,326 @@
+<!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><a name="line.18"></a>
+<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.procedure2;<a name="line.19"></a>
+<span class="sourceLineNo">020</span><a name="line.20"></a>
+<span class="sourceLineNo">021</span>import org.apache.commons.logging.Log;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import org.apache.commons.logging.LogFactory;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.fs.FileSystem;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.fs.Path;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.HBaseCommonTestingUtility;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.testclassification.MasterTests;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.junit.After;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.junit.Before;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.junit.Test;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.junit.experimental.categories.Category;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.io.IOException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span><a name="line.35"></a>
+<span class="sourceLineNo">036</span>import static org.junit.Assert.assertEquals;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import static org.junit.Assert.assertNotEquals;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import static org.junit.Assert.assertTrue;<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>@Category({MasterTests.class, SmallTests.class})<a name="line.40"></a>
+<span class="sourceLineNo">041</span>public class TestProcedureMetrics {<a name="line.41"></a>
+<span class="sourceLineNo">042</span> private static final Log LOG = LogFactory.getLog(TestProcedureMetrics.class);<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span> private static final int PROCEDURE_EXECUTOR_SLOTS = 1;<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span> private TestProcEnv procEnv;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> private static ProcedureExecutor<TestProcEnv> procExecutor;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> private ProcedureStore procStore;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span> private HBaseCommonTestingUtility htu;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> private FileSystem fs;<a name="line.51"></a>
+<span class="sourceLineNo">052</span> private Path testDir;<a name="line.52"></a>
+<span class="sourceLineNo">053</span> private Path logDir;<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span> private static int beginCount = 0;<a name="line.55"></a>
+<span class="sourceLineNo">056</span> private static int successCount = 0;<a name="line.56"></a>
+<span class="sourceLineNo">057</span> private static int failedCount = 0;<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> @Before<a name="line.60"></a>
+<span class="sourceLineNo">061</span> public void setUp() throws IOException {<a name="line.61"></a>
+<span class="sourceLineNo">062</span> htu = new HBaseCommonTestingUtility();<a name="line.62"></a>
+<span class="sourceLineNo">063</span> testDir = htu.getDataTestDir();<a name="line.63"></a>
+<span class="sourceLineNo">064</span> fs = testDir.getFileSystem(htu.getConfiguration());<a name="line.64"></a>
+<span class="sourceLineNo">065</span> assertTrue(testDir.depth() > 1);<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span> logDir = new Path(testDir, "proc-logs");<a name="line.67"></a>
+<span class="sourceLineNo">068</span> procEnv = new TestProcEnv();<a name="line.68"></a>
+<span class="sourceLineNo">069</span> procStore = ProcedureTestingUtility.createStore(htu.getConfiguration(), fs, logDir);<a name="line.69"></a>
+<span class="sourceLineNo">070</span> procExecutor = new ProcedureExecutor<TestProcEnv>(htu.getConfiguration(), procEnv, procStore);<a name="line.70"></a>
+<span class="sourceLineNo">071</span> procExecutor.testing = new ProcedureExecutor.Testing();<a name="line.71"></a>
+<span class="sourceLineNo">072</span> procStore.start(PROCEDURE_EXECUTOR_SLOTS);<a name="line.72"></a>
+<span class="sourceLineNo">073</span> procExecutor.start(PROCEDURE_EXECUTOR_SLOTS, true);<a name="line.73"></a>
+<span class="sourceLineNo">074</span> }<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span> @After<a name="line.76"></a>
+<span class="sourceLineNo">077</span> public void tearDown() throws IOException {<a name="line.77"></a>
+<span class="sourceLineNo">078</span> procExecutor.stop();<a name="line.78"></a>
+<span class="sourceLineNo">079</span> procStore.stop(false);<a name="line.79"></a>
+<span class="sourceLineNo">080</span> fs.delete(logDir, true);<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> @Test<a name="line.83"></a>
+<span class="sourceLineNo">084</span> public void testMetricForSimpleProcedure() throws Exception {<a name="line.84"></a>
+<span class="sourceLineNo">085</span> // procedure that executes successfully<a name="line.85"></a>
+<span class="sourceLineNo">086</span> ProcedureMetrics proc = new ProcedureMetrics(true);<a name="line.86"></a>
+<span class="sourceLineNo">087</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.87"></a>
+<span class="sourceLineNo">088</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.88"></a>
+<span class="sourceLineNo">089</span> beginCount++;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> successCount++;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.91"></a>
+<span class="sourceLineNo">092</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.92"></a>
+<span class="sourceLineNo">093</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.93"></a>
+<span class="sourceLineNo">094</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<a name="line.94"></a>
+<span class="sourceLineNo">095</span> }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span> @Test<a name="line.97"></a>
+<span class="sourceLineNo">098</span> public void testMetricsForFailedProcedure() throws Exception {<a name="line.98"></a>
+<span class="sourceLineNo">099</span> // procedure that fails<a name="line.99"></a>
+<span class="sourceLineNo">100</span> ProcedureMetrics proc = new ProcedureMetrics(false);<a name="line.100"></a>
+<span class="sourceLineNo">101</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.101"></a>
+<span class="sourceLineNo">102</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.102"></a>
+<span class="sourceLineNo">103</span> beginCount++;<a name="line.103"></a>
+<span class="sourceLineNo">104</span> failedCount++;<a name="line.104"></a>
+<span class="sourceLineNo">105</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.105"></a>
+<span class="sourceLineNo">106</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.106"></a>
+<span class="sourceLineNo">107</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.107"></a>
+<span class="sourceLineNo">108</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<a name="line.108"></a>
+<span class="sourceLineNo">109</span> }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span> @Test<a name="line.111"></a>
+<span class="sourceLineNo">112</span> public void testMetricForYieldProcedure() throws Exception {<a name="line.112"></a>
+<span class="sourceLineNo">113</span> // procedure that yields<a name="line.113"></a>
+<span class="sourceLineNo">114</span> ProcedureMetrics proc = new ProcedureMetrics(true, true);<a name="line.114"></a>
+<span class="sourceLineNo">115</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.115"></a>
+<span class="sourceLineNo">116</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.116"></a>
+<span class="sourceLineNo">117</span> beginCount++;<a name="line.117"></a>
+<span class="sourceLineNo">118</span> successCount++;<a name="line.118"></a>
+<span class="sourceLineNo">119</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.119"></a>
+<span class="sourceLineNo">120</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.120"></a>
+<span class="sourceLineNo">121</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.121"></a>
+<span class="sourceLineNo">122</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<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> @Test<a name="line.125"></a>
+<span class="sourceLineNo">126</span> public void testMetricForFailedYiledProcedure() {<a name="line.126"></a>
+<span class="sourceLineNo">127</span> // procedure that yields and fails<a name="line.127"></a>
+<span class="sourceLineNo">128</span> ProcedureMetrics proc = new ProcedureMetrics(false, true);<a name="line.128"></a>
+<span class="sourceLineNo">129</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.129"></a>
+<span class="sourceLineNo">130</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.130"></a>
+<span class="sourceLineNo">131</span> beginCount++;<a name="line.131"></a>
+<span class="sourceLineNo">132</span> failedCount++;<a name="line.132"></a>
+<span class="sourceLineNo">133</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.133"></a>
+<span class="sourceLineNo">134</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.134"></a>
+<span class="sourceLineNo">135</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.135"></a>
+<span class="sourceLineNo">136</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<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 testMetricForProcedureWithChildren() throws Exception {<a name="line.140"></a>
+<span class="sourceLineNo">141</span> // Procedure that yileds with one of the sub-procedures that fail<a name="line.141"></a>
+<span class="sourceLineNo">142</span> int subProcCount = 10;<a name="line.142"></a>
+<span class="sourceLineNo">143</span> int failChildIndex = 2;<a name="line.143"></a>
+<span class="sourceLineNo">144</span> int yiledChildIndex = -1;<a name="line.144"></a>
+<span class="sourceLineNo">145</span> ProcedureMetrics[] subprocs = new ProcedureMetrics[subProcCount];<a name="line.145"></a>
+<span class="sourceLineNo">146</span> for (int i = 0; i < subProcCount; ++i) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span> subprocs[i] = new ProcedureMetrics(failChildIndex != i, yiledChildIndex == i, 3);<a name="line.147"></a>
+<span class="sourceLineNo">148</span> }<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span> ProcedureMetrics proc = new ProcedureMetrics(true, true, 3, subprocs);<a name="line.150"></a>
+<span class="sourceLineNo">151</span> long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);<a name="line.151"></a>
+<span class="sourceLineNo">152</span> assertNotEquals("ProcId zero!", 0, id);<a name="line.152"></a>
+<span class="sourceLineNo">153</span> beginCount += subProcCount + 1;<a name="line.153"></a>
+<span class="sourceLineNo">154</span> successCount += subProcCount - (failChildIndex + 1);<a name="line.154"></a>
+<span class="sourceLineNo">155</span> if (failChildIndex >= 0) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span> failedCount += subProcCount + 1;<a name="line.156"></a>
+<span class="sourceLineNo">157</span> } else {<a name="line.157"></a>
+<span class="sourceLineNo">158</span> successCount++;<a name="line.158"></a>
+<span class="sourceLineNo">159</span> }<a name="line.159"></a>
+<span class="sourceLineNo">160</span> ProcedureTestingUtility.waitProcedure(procExecutor, proc);<a name="line.160"></a>
+<span class="sourceLineNo">161</span> assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);<a name="line.161"></a>
+<span class="sourceLineNo">162</span> assertEquals("successCount doesn't match!", successCount, proc.successCount);<a name="line.162"></a>
+<span class="sourceLineNo">163</span> assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);<a name="line.163"></a>
+<span class="sourceLineNo">164</span> }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span> private static class TestProcEnv {<a name="line.166"></a>
+<span class="sourceLineNo">167</span> public boolean toggleKillBeforeStoreUpdate = false;<a name="line.167"></a>
+<span class="sourceLineNo">168</span> public boolean triggerRollbackOnChild = false;<a name="line.168"></a>
+<span class="sourceLineNo">169</span> }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span> public static class ProcedureMetrics extends SequentialProcedure<TestProcEnv> {<a name="line.171"></a>
+<span class="sourceLineNo">172</span> public static long beginCount = 0;<a name="line.172"></a>
+<span class="sourceLineNo">173</span> public static long successCount = 0;<a name="line.173"></a>
+<span class="sourceLineNo">174</span> public static long failedCount = 0;<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span> private boolean success;<a name="line.176"></a>
+<span class="sourceLineNo">177</span> private boolean yield;<a name="line.177"></a>
+<span class="sourceLineNo">178</span> private int yieldCount;<a name="line.178"></a>
+<span class="sourceLineNo">179</span> private int yieldNum;<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span> private ProcedureMetrics[] subprocs = null;<a name="line.181"></a>
+<span class="sourceLineNo">182</span><a name="line.182"></a>
+<span class="sourceLineNo">183</span> public ProcedureMetrics() {<a name="line.183"></a>
+<span class="sourceLineNo">184</span> this(true);<a name="line.184"></a>
+<span class="sourceLineNo">185</span> }<a name="line.185"></a>
+<span class="sourceLineNo">186</span><a name="line.186"></a>
+<span class="sourceLineNo">187</span> public ProcedureMetrics(boolean success) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span> this(success, true);<a name="line.188"></a>
+<span class="sourceLineNo">189</span> }<a name="line.189"></a>
+<span class="sourceLineNo">190</span><a name="line.190"></a>
+<span class="sourceLineNo">191</span> public ProcedureMetrics(boolean success, boolean yield) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span> this(success, yield, 1);<a name="line.192"></a>
+<span class="sourceLineNo">193</span> }<a name="line.193"></a>
+<span class="sourceLineNo">194</span><a name="line.194"></a>
+<span class="sourceLineNo">195</span> public ProcedureMetrics(boolean success, boolean yield, int yieldCount) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span> this(success, yield, yieldCount, null);<a name="line.196"></a>
+<span class="sourceLineNo">197</span> }<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span> public ProcedureMetrics(boolean success, ProcedureMetrics[] subprocs) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span> this(success, false, 1, subprocs);<a name="line.200"></a>
+<span class="sourceLineNo">201</span> }<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span> public ProcedureMetrics(boolean success, boolean yield, int yieldCount,<a name="line.203"></a>
+<span class="sourceLineNo">204</span> ProcedureMetrics[] subprocs) {<a name="line.204"></a>
+<span class="sourceLineNo">205</span> this.success = success;<a name="line.205"></a>
+<span class="sourceLineNo">206</span> this.yield = yield;<a name="line.206"></a>
+<span class="sourceLineNo">207</span> this.yieldCount = yieldCount;<a name="line.207"></a>
+<span class="sourceLineNo">208</span> this.subprocs = subprocs;<a name="line.208"></a>
+<span class="sourceLineNo">209</span> yieldNum = 0;<a name="line.209"></a>
+<span class="sourceLineNo">210</span> }<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span> @Override<a name="line.212"></a>
+<span class="sourceLineNo">213</span> protected void updateMetricsOnSubmit(TestProcEnv env) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span> beginCount++;<a name="line.214"></a>
+<span class="sourceLineNo">215</span> }<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span> @Override<a name="line.217"></a>
+<span class="sourceLineNo">218</span> protected Procedure[] execute(TestProcEnv env) throws ProcedureYieldException,<a name="line.218"></a>
+<span class="sourceLineNo">219</span> ProcedureSuspendedException, InterruptedException {<a name="line.219"></a>
+<span class="sourceLineNo">220</span> if (this.yield) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span> if (yieldNum < yieldCount) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span> yieldNum++;<a name="line.222"></a>
+<span class="sourceLineNo">223</span> throw new ProcedureYieldException();<a name="line.223"></a>
+<span class="sourceLineNo">224</span> }<a name="line.224"></a>
+<span class="sourceLineNo">225</span> }<a name="line.225"></a>
+<span class="sourceLineNo">226</span> if (!this.success) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> setFailure("Failed", new InterruptedException("Failed"));<a name="line.227"></a>
+<span class="sourceLineNo">228</span> return null;<a name="line.228"></a>
+<span class="sourceLineNo">229</span> }<a name="line.229"></a>
+<span class="sourceLineNo">230</span> return subprocs;<a name="line.230"></a>
+<span class="sourceLineNo">231</span> }<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span> @Override<a name="line.233"></a>
+<span class="sourceLineNo">234</span> protected void rollback(TestProcEnv env) throws IOException, InterruptedException {<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span> }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span> @Override<a name="line.238"></a>
+<span class="sourceLineNo">239</span> protected boolean abort(TestProcEnv env) {<a name="line.239"></a>
+<span class="sourceLineNo">240</span> return false;<a name="line.240"></a>
+<span class="sourceLineNo">241</span> }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span> @Override<a name="line.243"></a>
+<span class="sourceLineNo">244</span> protected void updateMetricsOnFinish(final TestProcEnv env, final long time,<a name="line.244"></a>
+<span class="sourceLineNo">245</span> boolean success) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span> if (success) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span> successCount++;<a name="line.247"></a>
+<span class="sourceLineNo">248</span> } else {<a name="line.248"></a>
+<span class="sourceLineNo">249</span> failedCount++;<a name="line.249"></a>
+<span class="sourceLineNo">250</span> }<a name="line.250"></a>
+<span class="sourceLineNo">251</span> }<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span> }<a name="line.253"></a>
+<span class="sourceLineNo">254</span>}<a name="line.254"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>
[21/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.DelayedProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.DelayedProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.DelayedProcedure.html
index a1495ff..0c11099 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.DelayedProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.DelayedProcedure.html
@@ -839,1019 +839,1030 @@
<span class="sourceLineNo">831</span> private long pushProcedure(final Procedure proc) {<a name="line.831"></a>
<span class="sourceLineNo">832</span> final long currentProcId = proc.getProcId();<a name="line.832"></a>
<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span> // Create the rollback stack for the procedure<a name="line.834"></a>
-<span class="sourceLineNo">835</span> RootProcedureState stack = new RootProcedureState();<a name="line.835"></a>
-<span class="sourceLineNo">836</span> rollbackStack.put(currentProcId, stack);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span> // Submit the new subprocedures<a name="line.838"></a>
-<span class="sourceLineNo">839</span> assert !procedures.containsKey(currentProcId);<a name="line.839"></a>
-<span class="sourceLineNo">840</span> procedures.put(currentProcId, proc);<a name="line.840"></a>
-<span class="sourceLineNo">841</span> sendProcedureAddedNotification(currentProcId);<a name="line.841"></a>
-<span class="sourceLineNo">842</span> scheduler.addBack(proc);<a name="line.842"></a>
-<span class="sourceLineNo">843</span> return proc.getProcId();<a name="line.843"></a>
-<span class="sourceLineNo">844</span> }<a name="line.844"></a>
-<span class="sourceLineNo">845</span><a name="line.845"></a>
-<span class="sourceLineNo">846</span> /**<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * Send an abort notification the specified procedure.<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.848"></a>
-<span class="sourceLineNo">849</span> * @param procId the procedure to abort<a name="line.849"></a>
-<span class="sourceLineNo">850</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.850"></a>
-<span class="sourceLineNo">851</span> */<a name="line.851"></a>
-<span class="sourceLineNo">852</span> public boolean abort(final long procId) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span> return abort(procId, true);<a name="line.853"></a>
-<span class="sourceLineNo">854</span> }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span> /**<a name="line.856"></a>
-<span class="sourceLineNo">857</span> * Send an abort notification the specified procedure.<a name="line.857"></a>
-<span class="sourceLineNo">858</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.858"></a>
-<span class="sourceLineNo">859</span> * @param procId the procedure to abort<a name="line.859"></a>
-<span class="sourceLineNo">860</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.860"></a>
-<span class="sourceLineNo">861</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.861"></a>
-<span class="sourceLineNo">862</span> */<a name="line.862"></a>
-<span class="sourceLineNo">863</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.863"></a>
-<span class="sourceLineNo">864</span> final Procedure proc = procedures.get(procId);<a name="line.864"></a>
-<span class="sourceLineNo">865</span> if (proc != null) {<a name="line.865"></a>
-<span class="sourceLineNo">866</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.866"></a>
-<span class="sourceLineNo">867</span> return false;<a name="line.867"></a>
-<span class="sourceLineNo">868</span> }<a name="line.868"></a>
-<span class="sourceLineNo">869</span> return proc.abort(getEnvironment());<a name="line.869"></a>
-<span class="sourceLineNo">870</span> }<a name="line.870"></a>
-<span class="sourceLineNo">871</span> return false;<a name="line.871"></a>
-<span class="sourceLineNo">872</span> }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span> // ==========================================================================<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // Executor query helpers<a name="line.875"></a>
-<span class="sourceLineNo">876</span> // ==========================================================================<a name="line.876"></a>
-<span class="sourceLineNo">877</span> public Procedure getProcedure(final long procId) {<a name="line.877"></a>
-<span class="sourceLineNo">878</span> return procedures.get(procId);<a name="line.878"></a>
-<span class="sourceLineNo">879</span> }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span> final Procedure proc = getProcedure(procId);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> if (clazz.isInstance(proc)) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span> return (T)proc;<a name="line.884"></a>
-<span class="sourceLineNo">885</span> }<a name="line.885"></a>
-<span class="sourceLineNo">886</span> return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span> }<a name="line.887"></a>
-<span class="sourceLineNo">888</span><a name="line.888"></a>
-<span class="sourceLineNo">889</span> public ProcedureInfo getResult(final long procId) {<a name="line.889"></a>
-<span class="sourceLineNo">890</span> return completed.get(procId);<a name="line.890"></a>
-<span class="sourceLineNo">891</span> }<a name="line.891"></a>
-<span class="sourceLineNo">892</span><a name="line.892"></a>
-<span class="sourceLineNo">893</span> /**<a name="line.893"></a>
-<span class="sourceLineNo">894</span> * Return true if the procedure is finished.<a name="line.894"></a>
-<span class="sourceLineNo">895</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.895"></a>
-<span class="sourceLineNo">896</span> * Use getResult() to check the state or get the result data.<a name="line.896"></a>
-<span class="sourceLineNo">897</span> * @param procId the ID of the procedure to check<a name="line.897"></a>
-<span class="sourceLineNo">898</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.898"></a>
-<span class="sourceLineNo">899</span> */<a name="line.899"></a>
-<span class="sourceLineNo">900</span> public boolean isFinished(final long procId) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span> return !procedures.containsKey(procId);<a name="line.901"></a>
-<span class="sourceLineNo">902</span> }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span> /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span> * Return true if the procedure is started.<a name="line.905"></a>
-<span class="sourceLineNo">906</span> * @param procId the ID of the procedure to check<a name="line.906"></a>
-<span class="sourceLineNo">907</span> * @return true if the procedure execution is started, otherwise false.<a name="line.907"></a>
-<span class="sourceLineNo">908</span> */<a name="line.908"></a>
-<span class="sourceLineNo">909</span> public boolean isStarted(final long procId) {<a name="line.909"></a>
-<span class="sourceLineNo">910</span> final Procedure proc = procedures.get(procId);<a name="line.910"></a>
-<span class="sourceLineNo">911</span> if (proc == null) {<a name="line.911"></a>
-<span class="sourceLineNo">912</span> return completed.get(procId) != null;<a name="line.912"></a>
-<span class="sourceLineNo">913</span> }<a name="line.913"></a>
-<span class="sourceLineNo">914</span> return proc.wasExecuted();<a name="line.914"></a>
-<span class="sourceLineNo">915</span> }<a name="line.915"></a>
-<span class="sourceLineNo">916</span><a name="line.916"></a>
-<span class="sourceLineNo">917</span> /**<a name="line.917"></a>
-<span class="sourceLineNo">918</span> * Mark the specified completed procedure, as ready to remove.<a name="line.918"></a>
-<span class="sourceLineNo">919</span> * @param procId the ID of the procedure to remove<a name="line.919"></a>
-<span class="sourceLineNo">920</span> */<a name="line.920"></a>
-<span class="sourceLineNo">921</span> public void removeResult(final long procId) {<a name="line.921"></a>
-<span class="sourceLineNo">922</span> final ProcedureInfo result = completed.get(procId);<a name="line.922"></a>
-<span class="sourceLineNo">923</span> if (result == null) {<a name="line.923"></a>
-<span class="sourceLineNo">924</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.924"></a>
-<span class="sourceLineNo">925</span> if (LOG.isDebugEnabled()) {<a name="line.925"></a>
-<span class="sourceLineNo">926</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.926"></a>
-<span class="sourceLineNo">927</span> }<a name="line.927"></a>
-<span class="sourceLineNo">928</span> return;<a name="line.928"></a>
-<span class="sourceLineNo">929</span> }<a name="line.929"></a>
-<span class="sourceLineNo">930</span><a name="line.930"></a>
-<span class="sourceLineNo">931</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.931"></a>
-<span class="sourceLineNo">932</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span><a name="line.934"></a>
-<span class="sourceLineNo">935</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.935"></a>
-<span class="sourceLineNo">936</span> ProcedureInfo result = completed.get(procId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span> Procedure proc = null;<a name="line.937"></a>
-<span class="sourceLineNo">938</span> if (result == null) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span> proc = procedures.get(procId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span> if (proc == null) {<a name="line.940"></a>
-<span class="sourceLineNo">941</span> result = completed.get(procId);<a name="line.941"></a>
-<span class="sourceLineNo">942</span> }<a name="line.942"></a>
-<span class="sourceLineNo">943</span> }<a name="line.943"></a>
-<span class="sourceLineNo">944</span> return new Pair(result, proc);<a name="line.944"></a>
-<span class="sourceLineNo">945</span> }<a name="line.945"></a>
-<span class="sourceLineNo">946</span><a name="line.946"></a>
-<span class="sourceLineNo">947</span> /**<a name="line.947"></a>
-<span class="sourceLineNo">948</span> * Check if the user is this procedure's owner<a name="line.948"></a>
-<span class="sourceLineNo">949</span> * @param procId the target procedure<a name="line.949"></a>
-<span class="sourceLineNo">950</span> * @param user the user<a name="line.950"></a>
-<span class="sourceLineNo">951</span> * @return true if the user is the owner of the procedure,<a name="line.951"></a>
-<span class="sourceLineNo">952</span> * false otherwise or the owner is unknown.<a name="line.952"></a>
-<span class="sourceLineNo">953</span> */<a name="line.953"></a>
-<span class="sourceLineNo">954</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> if (user == null) return false;<a name="line.955"></a>
-<span class="sourceLineNo">956</span><a name="line.956"></a>
-<span class="sourceLineNo">957</span> final Procedure proc = procedures.get(procId);<a name="line.957"></a>
-<span class="sourceLineNo">958</span> if (proc != null) {<a name="line.958"></a>
-<span class="sourceLineNo">959</span> return proc.getOwner().equals(user.getShortName());<a name="line.959"></a>
-<span class="sourceLineNo">960</span> }<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.962"></a>
-<span class="sourceLineNo">963</span> if (procInfo == null) {<a name="line.963"></a>
-<span class="sourceLineNo">964</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.964"></a>
-<span class="sourceLineNo">965</span> // At this time, we cannot check the owner of the procedure<a name="line.965"></a>
-<span class="sourceLineNo">966</span> return false;<a name="line.966"></a>
-<span class="sourceLineNo">967</span> }<a name="line.967"></a>
-<span class="sourceLineNo">968</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.968"></a>
-<span class="sourceLineNo">969</span> }<a name="line.969"></a>
-<span class="sourceLineNo">970</span><a name="line.970"></a>
-<span class="sourceLineNo">971</span> /**<a name="line.971"></a>
-<span class="sourceLineNo">972</span> * List procedures.<a name="line.972"></a>
-<span class="sourceLineNo">973</span> * @return the procedures in a list<a name="line.973"></a>
-<span class="sourceLineNo">974</span> */<a name="line.974"></a>
-<span class="sourceLineNo">975</span> public List<ProcedureInfo> listProcedures() {<a name="line.975"></a>
-<span class="sourceLineNo">976</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.976"></a>
-<span class="sourceLineNo">977</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.977"></a>
-<span class="sourceLineNo">978</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.978"></a>
-<span class="sourceLineNo">979</span> }<a name="line.979"></a>
-<span class="sourceLineNo">980</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.981"></a>
-<span class="sourceLineNo">982</span> // it could complete after we walk through procedures list and insert into<a name="line.982"></a>
-<span class="sourceLineNo">983</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.983"></a>
-<span class="sourceLineNo">984</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.984"></a>
-<span class="sourceLineNo">985</span> procedureLists.add(e.getValue());<a name="line.985"></a>
-<span class="sourceLineNo">986</span> }<a name="line.986"></a>
-<span class="sourceLineNo">987</span> return procedureLists;<a name="line.987"></a>
-<span class="sourceLineNo">988</span> }<a name="line.988"></a>
-<span class="sourceLineNo">989</span><a name="line.989"></a>
-<span class="sourceLineNo">990</span> // ==========================================================================<a name="line.990"></a>
-<span class="sourceLineNo">991</span> // Listeners helpers<a name="line.991"></a>
-<span class="sourceLineNo">992</span> // ==========================================================================<a name="line.992"></a>
-<span class="sourceLineNo">993</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.993"></a>
-<span class="sourceLineNo">994</span> this.listeners.add(listener);<a name="line.994"></a>
-<span class="sourceLineNo">995</span> }<a name="line.995"></a>
-<span class="sourceLineNo">996</span><a name="line.996"></a>
-<span class="sourceLineNo">997</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.997"></a>
-<span class="sourceLineNo">998</span> return this.listeners.remove(listener);<a name="line.998"></a>
-<span class="sourceLineNo">999</span> }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span><a name="line.1000"></a>
-<span class="sourceLineNo">1001</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> if (!this.listeners.isEmpty()) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> try {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> listener.procedureLoaded(procId);<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span> } catch (Throwable e) {<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> }<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> }<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span><a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span> if (!this.listeners.isEmpty()) {<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> try {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> listener.procedureAdded(procId);<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> } catch (Throwable e) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> }<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span> }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span><a name="line.1024"></a>
-<span class="sourceLineNo">1025</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span> if (!this.listeners.isEmpty()) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span> try {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span> listener.procedureFinished(procId);<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> } catch (Throwable e) {<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span> }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span> }<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span> }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span> // ==========================================================================<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span> // Procedure IDs helpers<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span> // ==========================================================================<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span> private long nextProcId() {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span> long procId = lastProcId.incrementAndGet();<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span> if (procId < 0) {<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span> procId = lastProcId.get();<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span> if (procId >= 0)<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span> break;<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span> }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span> while (procedures.containsKey(procId)) {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span> procId = lastProcId.incrementAndGet();<a name="line.1049"></a>
+<span class="sourceLineNo">834</span> // Update metrics on start of a procedure<a name="line.834"></a>
+<span class="sourceLineNo">835</span> proc.updateMetricsOnSubmit(getEnvironment());<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span> // Create the rollback stack for the procedure<a name="line.837"></a>
+<span class="sourceLineNo">838</span> RootProcedureState stack = new RootProcedureState();<a name="line.838"></a>
+<span class="sourceLineNo">839</span> rollbackStack.put(currentProcId, stack);<a name="line.839"></a>
+<span class="sourceLineNo">840</span><a name="line.840"></a>
+<span class="sourceLineNo">841</span> // Submit the new subprocedures<a name="line.841"></a>
+<span class="sourceLineNo">842</span> assert !procedures.containsKey(currentProcId);<a name="line.842"></a>
+<span class="sourceLineNo">843</span> procedures.put(currentProcId, proc);<a name="line.843"></a>
+<span class="sourceLineNo">844</span> sendProcedureAddedNotification(currentProcId);<a name="line.844"></a>
+<span class="sourceLineNo">845</span> scheduler.addBack(proc);<a name="line.845"></a>
+<span class="sourceLineNo">846</span> return proc.getProcId();<a name="line.846"></a>
+<span class="sourceLineNo">847</span> }<a name="line.847"></a>
+<span class="sourceLineNo">848</span><a name="line.848"></a>
+<span class="sourceLineNo">849</span> /**<a name="line.849"></a>
+<span class="sourceLineNo">850</span> * Send an abort notification the specified procedure.<a name="line.850"></a>
+<span class="sourceLineNo">851</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.851"></a>
+<span class="sourceLineNo">852</span> * @param procId the procedure to abort<a name="line.852"></a>
+<span class="sourceLineNo">853</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.853"></a>
+<span class="sourceLineNo">854</span> */<a name="line.854"></a>
+<span class="sourceLineNo">855</span> public boolean abort(final long procId) {<a name="line.855"></a>
+<span class="sourceLineNo">856</span> return abort(procId, true);<a name="line.856"></a>
+<span class="sourceLineNo">857</span> }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span> /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span> * Send an abort notification the specified procedure.<a name="line.860"></a>
+<span class="sourceLineNo">861</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.861"></a>
+<span class="sourceLineNo">862</span> * @param procId the procedure to abort<a name="line.862"></a>
+<span class="sourceLineNo">863</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.863"></a>
+<span class="sourceLineNo">864</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.864"></a>
+<span class="sourceLineNo">865</span> */<a name="line.865"></a>
+<span class="sourceLineNo">866</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.866"></a>
+<span class="sourceLineNo">867</span> final Procedure proc = procedures.get(procId);<a name="line.867"></a>
+<span class="sourceLineNo">868</span> if (proc != null) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.869"></a>
+<span class="sourceLineNo">870</span> return false;<a name="line.870"></a>
+<span class="sourceLineNo">871</span> }<a name="line.871"></a>
+<span class="sourceLineNo">872</span> return proc.abort(getEnvironment());<a name="line.872"></a>
+<span class="sourceLineNo">873</span> }<a name="line.873"></a>
+<span class="sourceLineNo">874</span> return false;<a name="line.874"></a>
+<span class="sourceLineNo">875</span> }<a name="line.875"></a>
+<span class="sourceLineNo">876</span><a name="line.876"></a>
+<span class="sourceLineNo">877</span> // ==========================================================================<a name="line.877"></a>
+<span class="sourceLineNo">878</span> // Executor query helpers<a name="line.878"></a>
+<span class="sourceLineNo">879</span> // ==========================================================================<a name="line.879"></a>
+<span class="sourceLineNo">880</span> public Procedure getProcedure(final long procId) {<a name="line.880"></a>
+<span class="sourceLineNo">881</span> return procedures.get(procId);<a name="line.881"></a>
+<span class="sourceLineNo">882</span> }<a name="line.882"></a>
+<span class="sourceLineNo">883</span><a name="line.883"></a>
+<span class="sourceLineNo">884</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span> final Procedure proc = getProcedure(procId);<a name="line.885"></a>
+<span class="sourceLineNo">886</span> if (clazz.isInstance(proc)) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span> return (T)proc;<a name="line.887"></a>
+<span class="sourceLineNo">888</span> }<a name="line.888"></a>
+<span class="sourceLineNo">889</span> return null;<a name="line.889"></a>
+<span class="sourceLineNo">890</span> }<a name="line.890"></a>
+<span class="sourceLineNo">891</span><a name="line.891"></a>
+<span class="sourceLineNo">892</span> public ProcedureInfo getResult(final long procId) {<a name="line.892"></a>
+<span class="sourceLineNo">893</span> return completed.get(procId);<a name="line.893"></a>
+<span class="sourceLineNo">894</span> }<a name="line.894"></a>
+<span class="sourceLineNo">895</span><a name="line.895"></a>
+<span class="sourceLineNo">896</span> /**<a name="line.896"></a>
+<span class="sourceLineNo">897</span> * Return true if the procedure is finished.<a name="line.897"></a>
+<span class="sourceLineNo">898</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.898"></a>
+<span class="sourceLineNo">899</span> * Use getResult() to check the state or get the result data.<a name="line.899"></a>
+<span class="sourceLineNo">900</span> * @param procId the ID of the procedure to check<a name="line.900"></a>
+<span class="sourceLineNo">901</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.901"></a>
+<span class="sourceLineNo">902</span> */<a name="line.902"></a>
+<span class="sourceLineNo">903</span> public boolean isFinished(final long procId) {<a name="line.903"></a>
+<span class="sourceLineNo">904</span> return !procedures.containsKey(procId);<a name="line.904"></a>
+<span class="sourceLineNo">905</span> }<a name="line.905"></a>
+<span class="sourceLineNo">906</span><a name="line.906"></a>
+<span class="sourceLineNo">907</span> /**<a name="line.907"></a>
+<span class="sourceLineNo">908</span> * Return true if the procedure is started.<a name="line.908"></a>
+<span class="sourceLineNo">909</span> * @param procId the ID of the procedure to check<a name="line.909"></a>
+<span class="sourceLineNo">910</span> * @return true if the procedure execution is started, otherwise false.<a name="line.910"></a>
+<span class="sourceLineNo">911</span> */<a name="line.911"></a>
+<span class="sourceLineNo">912</span> public boolean isStarted(final long procId) {<a name="line.912"></a>
+<span class="sourceLineNo">913</span> final Procedure proc = procedures.get(procId);<a name="line.913"></a>
+<span class="sourceLineNo">914</span> if (proc == null) {<a name="line.914"></a>
+<span class="sourceLineNo">915</span> return completed.get(procId) != null;<a name="line.915"></a>
+<span class="sourceLineNo">916</span> }<a name="line.916"></a>
+<span class="sourceLineNo">917</span> return proc.wasExecuted();<a name="line.917"></a>
+<span class="sourceLineNo">918</span> }<a name="line.918"></a>
+<span class="sourceLineNo">919</span><a name="line.919"></a>
+<span class="sourceLineNo">920</span> /**<a name="line.920"></a>
+<span class="sourceLineNo">921</span> * Mark the specified completed procedure, as ready to remove.<a name="line.921"></a>
+<span class="sourceLineNo">922</span> * @param procId the ID of the procedure to remove<a name="line.922"></a>
+<span class="sourceLineNo">923</span> */<a name="line.923"></a>
+<span class="sourceLineNo">924</span> public void removeResult(final long procId) {<a name="line.924"></a>
+<span class="sourceLineNo">925</span> final ProcedureInfo result = completed.get(procId);<a name="line.925"></a>
+<span class="sourceLineNo">926</span> if (result == null) {<a name="line.926"></a>
+<span class="sourceLineNo">927</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.927"></a>
+<span class="sourceLineNo">928</span> if (LOG.isDebugEnabled()) {<a name="line.928"></a>
+<span class="sourceLineNo">929</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.929"></a>
+<span class="sourceLineNo">930</span> }<a name="line.930"></a>
+<span class="sourceLineNo">931</span> return;<a name="line.931"></a>
+<span class="sourceLineNo">932</span> }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.934"></a>
+<span class="sourceLineNo">935</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.935"></a>
+<span class="sourceLineNo">936</span> }<a name="line.936"></a>
+<span class="sourceLineNo">937</span><a name="line.937"></a>
+<span class="sourceLineNo">938</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.938"></a>
+<span class="sourceLineNo">939</span> ProcedureInfo result = completed.get(procId);<a name="line.939"></a>
+<span class="sourceLineNo">940</span> Procedure proc = null;<a name="line.940"></a>
+<span class="sourceLineNo">941</span> if (result == null) {<a name="line.941"></a>
+<span class="sourceLineNo">942</span> proc = procedures.get(procId);<a name="line.942"></a>
+<span class="sourceLineNo">943</span> if (proc == null) {<a name="line.943"></a>
+<span class="sourceLineNo">944</span> result = completed.get(procId);<a name="line.944"></a>
+<span class="sourceLineNo">945</span> }<a name="line.945"></a>
+<span class="sourceLineNo">946</span> }<a name="line.946"></a>
+<span class="sourceLineNo">947</span> return new Pair(result, proc);<a name="line.947"></a>
+<span class="sourceLineNo">948</span> }<a name="line.948"></a>
+<span class="sourceLineNo">949</span><a name="line.949"></a>
+<span class="sourceLineNo">950</span> /**<a name="line.950"></a>
+<span class="sourceLineNo">951</span> * Check if the user is this procedure's owner<a name="line.951"></a>
+<span class="sourceLineNo">952</span> * @param procId the target procedure<a name="line.952"></a>
+<span class="sourceLineNo">953</span> * @param user the user<a name="line.953"></a>
+<span class="sourceLineNo">954</span> * @return true if the user is the owner of the procedure,<a name="line.954"></a>
+<span class="sourceLineNo">955</span> * false otherwise or the owner is unknown.<a name="line.955"></a>
+<span class="sourceLineNo">956</span> */<a name="line.956"></a>
+<span class="sourceLineNo">957</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span> if (user == null) return false;<a name="line.958"></a>
+<span class="sourceLineNo">959</span><a name="line.959"></a>
+<span class="sourceLineNo">960</span> final Procedure proc = procedures.get(procId);<a name="line.960"></a>
+<span class="sourceLineNo">961</span> if (proc != null) {<a name="line.961"></a>
+<span class="sourceLineNo">962</span> return proc.getOwner().equals(user.getShortName());<a name="line.962"></a>
+<span class="sourceLineNo">963</span> }<a name="line.963"></a>
+<span class="sourceLineNo">964</span><a name="line.964"></a>
+<span class="sourceLineNo">965</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.965"></a>
+<span class="sourceLineNo">966</span> if (procInfo == null) {<a name="line.966"></a>
+<span class="sourceLineNo">967</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.967"></a>
+<span class="sourceLineNo">968</span> // At this time, we cannot check the owner of the procedure<a name="line.968"></a>
+<span class="sourceLineNo">969</span> return false;<a name="line.969"></a>
+<span class="sourceLineNo">970</span> }<a name="line.970"></a>
+<span class="sourceLineNo">971</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.971"></a>
+<span class="sourceLineNo">972</span> }<a name="line.972"></a>
+<span class="sourceLineNo">973</span><a name="line.973"></a>
+<span class="sourceLineNo">974</span> /**<a name="line.974"></a>
+<span class="sourceLineNo">975</span> * List procedures.<a name="line.975"></a>
+<span class="sourceLineNo">976</span> * @return the procedures in a list<a name="line.976"></a>
+<span class="sourceLineNo">977</span> */<a name="line.977"></a>
+<span class="sourceLineNo">978</span> public List<ProcedureInfo> listProcedures() {<a name="line.978"></a>
+<span class="sourceLineNo">979</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.979"></a>
+<span class="sourceLineNo">980</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.980"></a>
+<span class="sourceLineNo">981</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.981"></a>
+<span class="sourceLineNo">982</span> }<a name="line.982"></a>
+<span class="sourceLineNo">983</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.984"></a>
+<span class="sourceLineNo">985</span> // it could complete after we walk through procedures list and insert into<a name="line.985"></a>
+<span class="sourceLineNo">986</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.986"></a>
+<span class="sourceLineNo">987</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.987"></a>
+<span class="sourceLineNo">988</span> procedureLists.add(e.getValue());<a name="line.988"></a>
+<span class="sourceLineNo">989</span> }<a name="line.989"></a>
+<span class="sourceLineNo">990</span> return procedureLists;<a name="line.990"></a>
+<span class="sourceLineNo">991</span> }<a name="line.991"></a>
+<span class="sourceLineNo">992</span><a name="line.992"></a>
+<span class="sourceLineNo">993</span> // ==========================================================================<a name="line.993"></a>
+<span class="sourceLineNo">994</span> // Listeners helpers<a name="line.994"></a>
+<span class="sourceLineNo">995</span> // ==========================================================================<a name="line.995"></a>
+<span class="sourceLineNo">996</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.996"></a>
+<span class="sourceLineNo">997</span> this.listeners.add(listener);<a name="line.997"></a>
+<span class="sourceLineNo">998</span> }<a name="line.998"></a>
+<span class="sourceLineNo">999</span><a name="line.999"></a>
+<span class="sourceLineNo">1000</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span> return this.listeners.remove(listener);<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span> }<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span><a name="line.1003"></a>
+<span class="sourceLineNo">1004</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span> if (!this.listeners.isEmpty()) {<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span> try {<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span> listener.procedureLoaded(procId);<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span> } catch (Throwable e) {<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span> }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span> }<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span> }<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span><a name="line.1015"></a>
+<span class="sourceLineNo">1016</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span> if (!this.listeners.isEmpty()) {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span> try {<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span> listener.procedureAdded(procId);<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span> } catch (Throwable e) {<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span> }<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> }<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span> }<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span><a name="line.1027"></a>
+<span class="sourceLineNo">1028</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span> if (!this.listeners.isEmpty()) {<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span> try {<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span> listener.procedureFinished(procId);<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span> } catch (Throwable e) {<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span> }<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span> }<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span> }<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span><a name="line.1039"></a>
+<span class="sourceLineNo">1040</span> // ==========================================================================<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span> // Procedure IDs helpers<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span> // ==========================================================================<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span> private long nextProcId() {<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span> long procId = lastProcId.incrementAndGet();<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span> if (procId < 0) {<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span> procId = lastProcId.get();<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span> if (procId >= 0)<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span> break;<a name="line.1049"></a>
<span class="sourceLineNo">1050</span> }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span> }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span> return procId;<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span><a name="line.1055"></a>
-<span class="sourceLineNo">1056</span> @VisibleForTesting<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span> protected long getLastProcId() {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span> return lastProcId.get();<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span> }<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span><a name="line.1060"></a>
-<span class="sourceLineNo">1061</span> @VisibleForTesting<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span> public Set<Long> getActiveProcIds() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span> return procedures.keySet();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span> }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span><a name="line.1065"></a>
-<span class="sourceLineNo">1066</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span> }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span><a name="line.1069"></a>
-<span class="sourceLineNo">1070</span> // ==========================================================================<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span> // Executions<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span> // ==========================================================================<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span> private void executeProcedure(final Procedure proc) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span> if (rootProcId == null) {<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span> executeRollback(proc);<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span> return;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span> }<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span><a name="line.1080"></a>
-<span class="sourceLineNo">1081</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span> if (procStack == null) return;<a name="line.1082"></a>
+<span class="sourceLineNo">1051</span> while (procedures.containsKey(procId)) {<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span> procId = lastProcId.incrementAndGet();<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span> }<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span> return procId;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span> }<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span><a name="line.1058"></a>
+<span class="sourceLineNo">1059</span> @VisibleForTesting<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span> protected long getLastProcId() {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span> return lastProcId.get();<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span> }<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span> @VisibleForTesting<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span> public Set<Long> getActiveProcIds() {<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span> return procedures.keySet();<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span> }<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span><a name="line.1068"></a>
+<span class="sourceLineNo">1069</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span> }<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span><a name="line.1072"></a>
+<span class="sourceLineNo">1073</span> // ==========================================================================<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span> // Executions<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span> // ==========================================================================<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span> private void executeProcedure(final Procedure proc) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span> if (rootProcId == null) {<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span> executeRollback(proc);<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span> return;<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span> }<a name="line.1082"></a>
<span class="sourceLineNo">1083</span><a name="line.1083"></a>
-<span class="sourceLineNo">1084</span> do {<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span> // Try to acquire the execution<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span> if (!procStack.acquire(proc)) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span> if (procStack.setRollback()) {<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span> case LOCK_ACQUIRED:<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span> break;<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span> case LOCK_YIELD_WAIT:<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span> procStack.unsetRollback();<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span> scheduler.yield(proc);<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span> break;<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span> case LOCK_EVENT_WAIT:<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span> procStack.unsetRollback();<a name="line.1097"></a>
+<span class="sourceLineNo">1084</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span> if (procStack == null) return;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span><a name="line.1086"></a>
+<span class="sourceLineNo">1087</span> do {<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span> // Try to acquire the execution<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span> if (!procStack.acquire(proc)) {<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span> if (procStack.setRollback()) {<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span> case LOCK_ACQUIRED:<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span> break;<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span> case LOCK_YIELD_WAIT:<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span> procStack.unsetRollback();<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span> scheduler.yield(proc);<a name="line.1097"></a>
<span class="sourceLineNo">1098</span> break;<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span> default:<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span> throw new UnsupportedOperationException();<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> }<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span> } else {<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span> // if we can't rollback means that some child is still running.<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span> // the rollback will be executed after all the children are done.<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> if (!proc.wasExecuted()) {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> switch (executeRollback(proc)) {<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> case LOCK_ACQUIRED:<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> break;<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> case LOCK_YIELD_WAIT:<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span> scheduler.yield(proc);<a name="line.1111"></a>
+<span class="sourceLineNo">1099</span> case LOCK_EVENT_WAIT:<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span> procStack.unsetRollback();<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span> break;<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span> default:<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span> throw new UnsupportedOperationException();<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span> }<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span> } else {<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span> // if we can't rollback means that some child is still running.<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> // the rollback will be executed after all the children are done.<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> if (!proc.wasExecuted()) {<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> switch (executeRollback(proc)) {<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> case LOCK_ACQUIRED:<a name="line.1111"></a>
<span class="sourceLineNo">1112</span> break;<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> case LOCK_EVENT_WAIT:<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> break;<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> default:<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span> throw new UnsupportedOperationException();<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> }<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> }<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> }<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> break;<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span><a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> // Execute the procedure<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> switch (acquireLock(proc)) {<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> case LOCK_ACQUIRED:<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> execProcedure(procStack, proc);<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span> releaseLock(proc, false);<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> break;<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> case LOCK_YIELD_WAIT:<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> scheduler.yield(proc);<a name="line.1131"></a>
+<span class="sourceLineNo">1113</span> case LOCK_YIELD_WAIT:<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> scheduler.yield(proc);<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> break;<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> case LOCK_EVENT_WAIT:<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> break;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span> default:<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> throw new UnsupportedOperationException();<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> }<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> }<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> break;<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> }<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> // Execute the procedure<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> switch (acquireLock(proc)) {<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> case LOCK_ACQUIRED:<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span> execProcedure(procStack, proc);<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> releaseLock(proc, false);<a name="line.1131"></a>
<span class="sourceLineNo">1132</span> break;<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> case LOCK_EVENT_WAIT:<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> // someone will wake us up when the lock is available<a name="line.1134"></a>
+<span class="sourceLineNo">1133</span> case LOCK_YIELD_WAIT:<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> scheduler.yield(proc);<a name="line.1134"></a>
<span class="sourceLineNo">1135</span> break;<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> default:<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> throw new UnsupportedOperationException();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> procStack.release(proc);<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> // allows to kill the executor before something is stored to the wal.<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span> // useful to test the procedure recovery.<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (testing != null && !isRunning()) {<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> break;<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span> }<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> if (proc.isSuccess()) {<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> if (LOG.isDebugEnabled()) {<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> }<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> // Finalize the procedure state<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span> if (proc.getProcId() == rootProcId) {<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> procedureFinished(proc);<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> } else {<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> execCompletionCleanup(proc);<a name="line.1155"></a>
+<span class="sourceLineNo">1136</span> case LOCK_EVENT_WAIT:<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> // someone will wake us up when the lock is available<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> break;<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> default:<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> throw new UnsupportedOperationException();<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> }<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> procStack.release(proc);<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span><a name="line.1143"></a>
+<span class="sourceLineNo">1144</span> // allows to kill the executor before something is stored to the wal.<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> // useful to test the procedure recovery.<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> if (testing != null && !isRunning()) {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span> break;<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> }<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> if (proc.isSuccess()) {<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span> // update metrics on finishing the procedure<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> proc.updateMetricsOnFinish(getEnvironment(), proc.elapsedTime(), true);<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span><a name="line.1153"></a>
+<span class="sourceLineNo">1154</span> if (LOG.isDebugEnabled()) {<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1155"></a>
<span class="sourceLineNo">1156</span> }<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> break;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> } while (procStack.isFailed());<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span> }<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span><a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> private LockState acquireLock(final Procedure proc) {<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> final TEnvironment env = getEnvironment();<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> // hasLock() is used in conjunction with holdLock().<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> return LockState.LOCK_ACQUIRED;<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> }<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> return proc.doAcquireLock(env);<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> }<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> final TEnvironment env = getEnvironment();<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // for how the framework works, we know that we will always have the lock<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span> if (force || !proc.holdLock(env)) {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> proc.doReleaseLock(env);<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> }<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span> }<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span><a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> /**<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> * Execute the rollback of the full procedure stack.<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> * finished to user, and the result will be the fatal exception.<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> */<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> if (exception == null) {<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> exception = procStack.getException();<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span> rootProc.setFailure(exception);<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> store.update(rootProc);<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> }<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span><a name="line.1195"></a>
-<span class="sourceLineNo">1196</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span><a name="line.1198"></a>
-<span class="sourceLineNo">1199</span> int stackTail = subprocStack.size();<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> boolean reuseLock = false;<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> while (stackTail --> 0) {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span><a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> LockState lockState;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> // queue waiting for the lock availability<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span> return lockState;<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> }<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> lockState = executeRollback(proc);<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // If the next procedure is the same to this one<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> // we can avoid to lock/unlock each step<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span> if (!reuseLock) {<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> releaseLock(proc, false);<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> }<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span><a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // allows to kill the executor before something is stored to the wal.<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // useful to test the procedure recovery.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> if (abortRollback) {<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> return lockState;<a name="line.1226"></a>
+<span class="sourceLineNo">1157</span> // Finalize the procedure state<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> if (proc.getProcId() == rootProcId) {<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> procedureFinished(proc);<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> } else {<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> execCompletionCleanup(proc);<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span> }<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> break;<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> }<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> } while (procStack.isFailed());<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> }<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span><a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> private LockState acquireLock(final Procedure proc) {<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> final TEnvironment env = getEnvironment();<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> // hasLock() is used in conjunction with holdLock().<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> return LockState.LOCK_ACQUIRED;<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> }<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> return proc.doAcquireLock(env);<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> }<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span><a name="line.1178"></a>
+<span class="sourceLineNo">1179</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> final TEnvironment env = getEnvironment();<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> // for how the framework works, we know that we will always have the lock<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> if (force || !proc.holdLock(env)) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> proc.doReleaseLock(env);<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> }<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span> }<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span><a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> /**<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> * Execute the rollback of the full procedure stack.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> * finished to user, and the result will be the fatal exception.<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> */<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> if (exception == null) {<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> exception = procStack.getException();<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span> rootProc.setFailure(exception);<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> store.update(rootProc);<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span><a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> int stackTail = subprocStack.size();<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> boolean reuseLock = false;<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> while (stackTail --> 0) {<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span><a name="line.1209"></a>
+<span class="sourceLineNo">1210</span> LockState lockState;<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> // queue waiting for the lock availability<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> return lockState;<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> }<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span><a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> lockState = executeRollback(proc);<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span><a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> // If the next procedure is the same to this one<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> // we can avoid to lock/unlock each step<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> if (!reuseLock) {<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> releaseLock(proc, false);<a name="line.1226"></a>
<span class="sourceLineNo">1227</span> }<a name="line.1227"></a>
<span class="sourceLineNo">1228</span><a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> subprocStack.remove(stackTail);<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span><a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> // if the procedure is kind enough to pass the slot to someone else, yield<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span> if (proc.isYieldAfterExecutionStep(getEnvironment())) {<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> }<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span><a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> if (proc != rootProc) {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> execCompletionCleanup(proc);<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span> }<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span><a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> // Finalize the procedure state<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> LOG.info("Rolled back " + rootProc +<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> " exec-time=" + StringUtils.humanTimeDiff(rootProc.elapsedTime()));<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> procedureFinished(rootProc);<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> return LockState.LOCK_ACQUIRED;<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span> }<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> /**<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> * Execute the rollback of the procedure step.<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> * It updates the store with the new state (stack index)<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> * or will remove completly the procedure in case it is a child.<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> */<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span> private LockState executeRollback(final Procedure proc) {<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> try {<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> proc.doRollback(getEnvironment());<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> } catch (IOException e) {<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> if (LOG.isDebugEnabled()) {<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> LOG.debug("Roll back attempt failed for " + proc, e);<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> }<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> } catch (InterruptedException e) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> handleInterruptedException(proc, e);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span> } catch (Throwable e) {<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> // Catch NullPointerExceptions or similar errors...<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> LOG.fatal("CODE-BUG: Uncatched runtime exception for procedure: " + proc, e);<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> }<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span><a name="line.1268"></a>
-<span class="sourceLineNo">1269</span> // allows to kill the executor before something is stored to the wal.<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> // useful to test the procedure recovery.<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> if (testing != null && testing.shouldKillBeforeStoreUpdate()) {<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> LOG.debug("TESTING: Kill before store update");<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span> stop();<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> }<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> if (proc.removeStackIndex()) {<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> proc.setState(ProcedureState.ROLLEDBACK);<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span> if (proc.hasParent()) {<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> store.delete(proc.getProcId());<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> procedures.remove(proc.getProcId());<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> } else {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> final long[] childProcIds = rollbackStack.get(proc.getProcId()).getSubprocedureIds();<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> if (childProcIds != null) {<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span> store.delete(proc, childProcIds);<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> } else {<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> store.update(proc);<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> }<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> } else {<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span> store.update(proc);<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> }<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span><a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> return LockState.LOCK_ACQUIRED;<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span><a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> * Executes the specified procedure<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> * - calls the doExecute() of the procedure<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> * - if the procedure execution didn't fail (e.g. invalid user input)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> * - ...and returned subprocedures<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span> * - the subprocedures are initialized.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> * - the subprocedures are added to the store<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> * - the subprocedures are added to the runnable queue<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> * - the procedure is now in a WAITING state, waiting for the subprocedures to complete<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span> * - ...if there are no subprocedure<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> * - the procedure completed successfully<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> * - if there is a parent (WAITING)<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> * - the parent state will be set to RUNNABLE<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span> * - in case of failure<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> * - the store is updated with the new state<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> * - the executor (caller of this method) will start the rollback of the procedure<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> */<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span> private void execProcedure(final RootProcedureState procStack, final Procedure procedure) {<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> Preconditions.checkArgument(procedure.getState() == ProcedureState.RUNNABLE);<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span><a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> // Execute the procedure<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> boolean suspended = false;<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> boolean reExecute = false;<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> Procedure[] subprocs = null;<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> do {<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> reExecute = false;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> try {<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span> subprocs = procedure.doExecute(getEnvironment());<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (subprocs != null && subprocs.length == 0) {<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> subprocs = null;<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span> }<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> } catch (ProcedureSuspendedException e) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> suspended = true;<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> } catch (ProcedureYieldException e) {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> if (LOG.isTraceEnabled()) {<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> LOG.trace("Yield " + procedure + ": " + e.getMessage());<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span> }<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> scheduler.yield(procedure);<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> return;<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> } catch (InterruptedException e) {<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> handleInterruptedException(procedure, e);<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> scheduler.yield(procedure);<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span> return;<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> } catch (Throwable e) {<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // Catch NullPointerExceptions or similar errors...<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> String msg = "CODE-BUG: Uncaught runtime exception: " + procedure;<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> LOG.error(msg, e);<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> procedure.setFailure(new RemoteProcedureException(msg, e));<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span> }<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span><a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> if (!procedure.isFailed()) {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> if (subprocs != null) {<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span> if (subprocs.length == 1 && subprocs[0] == procedure) {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span> // quick-shortcut for a state machine like procedure<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> subprocs = null;<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> reExecute = true;<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> } else {<a name="line.1353"></a>
-<span class="source
<TRUNCATED>
[36/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 4f1b99a..e112613 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Checkstyle Results</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -301,7 +301,7 @@
<td>2144</td>
<td>0</td>
<td>0</td>
-<td>14240</td></tr></table></div>
+<td>14242</td></tr></table></div>
<div class="section">
<h2><a name="Files"></a>Files</h2>
<table border="0" class="table table-striped">
@@ -3011,3996 +3011,4001 @@
<td>0</td>
<td>4</td></tr>
<tr class="b">
+<td><a href="#org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.java">org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.java</a></td>
+<td>0</td>
+<td>0</td>
+<td>1</td></tr>
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.MetricsAssignmentManagerSourceImpl.java">org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.MetricsMaster.java">org/apache/hadoop/hbase/master/MetricsMaster.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.MetricsMasterProcSource.java">org/apache/hadoop/hbase/master/MetricsMasterProcSource.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.MetricsMasterSourceImpl.java">org/apache/hadoop/hbase/master/MetricsMasterSourceImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.MetricsMasterWrapperImpl.java">org/apache/hadoop/hbase/master/MetricsMasterWrapperImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.RackManager.java">org/apache/hadoop/hbase/master/RackManager.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.RegionPlacementMaintainer.java">org/apache/hadoop/hbase/master/RegionPlacementMaintainer.java</a></td>
<td>0</td>
<td>0</td>
<td>198</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.RegionPlan.java">org/apache/hadoop/hbase/master/RegionPlan.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.RegionState.java">org/apache/hadoop/hbase/master/RegionState.java</a></td>
<td>0</td>
<td>0</td>
<td>96</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.RegionStateStore.java">org/apache/hadoop/hbase/master/RegionStateStore.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.RegionStates.java">org/apache/hadoop/hbase/master/RegionStates.java</a></td>
<td>0</td>
<td>0</td>
<td>28</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.ServerListener.java">org/apache/hadoop/hbase/master/ServerListener.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.ServerManager.java">org/apache/hadoop/hbase/master/ServerManager.java</a></td>
<td>0</td>
<td>0</td>
<td>36</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.SnapshotOfRegionAssignmentFromMeta.java">org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.java</a></td>
<td>0</td>
<td>0</td>
<td>15</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.SnapshotSentinel.java">org/apache/hadoop/hbase/master/SnapshotSentinel.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.SplitLogManager.java">org/apache/hadoop/hbase/master/SplitLogManager.java</a></td>
<td>0</td>
<td>0</td>
<td>22</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.TableNamespaceManager.java">org/apache/hadoop/hbase/master/TableNamespaceManager.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.TableStateManager.java">org/apache/hadoop/hbase/master/TableStateManager.java</a></td>
<td>0</td>
<td>0</td>
<td>10</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.UnAssignCallable.java">org/apache/hadoop/hbase/master/UnAssignCallable.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java</a></td>
<td>0</td>
<td>0</td>
<td>77</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.balancer.ClusterLoadState.java">org/apache/hadoop/hbase/master/balancer/ClusterLoadState.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.balancer.LoadBalancerFactory.java">org/apache/hadoop/hbase/master/balancer/LoadBalancerFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.balancer.MetricsBalancerSourceImpl.java">org/apache/hadoop/hbase/master/balancer/MetricsBalancerSourceImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.balancer.MetricsStochasticBalancerSourceImpl.java">org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancerSourceImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.balancer.RegionInfoComparator.java">org/apache/hadoop/hbase/master/balancer/RegionInfoComparator.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.balancer.RegionLocationFinder.java">org/apache/hadoop/hbase/master/balancer/RegionLocationFinder.java</a></td>
<td>0</td>
<td>0</td>
<td>11</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.balancer.ServerAndLoad.java">org/apache/hadoop/hbase/master/balancer/ServerAndLoad.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.balancer.SimpleLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.java</a></td>
<td>0</td>
<td>0</td>
<td>37</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java</a></td>
<td>0</td>
<td>0</td>
<td>29</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.cleaner.BaseFileCleanerDelegate.java">org/apache/hadoop/hbase/master/cleaner/BaseFileCleanerDelegate.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.cleaner.BaseLogCleanerDelegate.java">org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.cleaner.CleanerChore.java">org/apache/hadoop/hbase/master/cleaner/CleanerChore.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.cleaner.FileCleanerDelegate.java">org/apache/hadoop/hbase/master/cleaner/FileCleanerDelegate.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.cleaner.HFileCleaner.java">org/apache/hadoop/hbase/master/cleaner/HFileCleaner.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.cleaner.HFileLinkCleaner.java">org/apache/hadoop/hbase/master/cleaner/HFileLinkCleaner.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.cleaner.ReplicationZKNodeCleaner.java">org/apache/hadoop/hbase/master/cleaner/ReplicationZKNodeCleaner.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner.java">org/apache/hadoop/hbase/master/cleaner/TimeToLiveHFileCleaner.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.cleaner.TimeToLiveLogCleaner.java">org/apache/hadoop/hbase/master/cleaner/TimeToLiveLogCleaner.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.locking.LockManager.java">org/apache/hadoop/hbase/master/locking/LockManager.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.locking.LockProcedure.java">org/apache/hadoop/hbase/master/locking/LockProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.normalizer.MergeNormalizationPlan.java">org/apache/hadoop/hbase/master/normalizer/MergeNormalizationPlan.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.normalizer.RegionNormalizerChore.java">org/apache/hadoop/hbase/master/normalizer/RegionNormalizerChore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.normalizer.SplitNormalizationPlan.java">org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.procedure.AbstractStateMachineNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/AbstractStateMachineNamespaceProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.procedure.AbstractStateMachineTableProcedure.java">org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.procedure.AddColumnFamilyProcedure.java">org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>30</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.procedure.CloneSnapshotProcedure.java">org/apache/hadoop/hbase/master/procedure/CloneSnapshotProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.procedure.CreateNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>25</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.java">org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.procedure.DeleteColumnFamilyProcedure.java">org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>34</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.procedure.DeleteNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>28</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.procedure.DeleteTableProcedure.java">org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.procedure.DisableTableProcedure.java">org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>43</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.procedure.EnableTableProcedure.java">org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>41</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.procedure.MasterDDLOperationHelper.java">org/apache/hadoop/hbase/master/procedure/MasterDDLOperationHelper.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.java</a></td>
<td>0</td>
<td>0</td>
<td>25</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.procedure.MergeTableRegionsProcedure.java">org/apache/hadoop/hbase/master/procedure/MergeTableRegionsProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>93</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.procedure.ModifyColumnFamilyProcedure.java">org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>30</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.procedure.ModifyNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>16</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure.java">org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>44</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.procedure.ProcedureSyncWait.java">org/apache/hadoop/hbase/master/procedure/ProcedureSyncWait.java</a></td>
<td>0</td>
<td>0</td>
<td>23</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.procedure.RestoreSnapshotProcedure.java">org/apache/hadoop/hbase/master/procedure/RestoreSnapshotProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure.java">org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>94</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.procedure.SplitTableRegionProcedure.java">org/apache/hadoop/hbase/master/procedure/SplitTableRegionProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>81</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure.java">org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.replication.ReplicationManager.java">org/apache/hadoop/hbase/master/replication/ReplicationManager.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.snapshot.DisabledTableSnapshotHandler.java">org/apache/hadoop/hbase/master/snapshot/DisabledTableSnapshotHandler.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.snapshot.EnabledTableSnapshotHandler.java">org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.snapshot.MasterSnapshotVerifier.java">org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.snapshot.SnapshotFileCache.java">org/apache/hadoop/hbase/master/snapshot/SnapshotFileCache.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.snapshot.SnapshotHFileCleaner.java">org/apache/hadoop/hbase/master/snapshot/SnapshotHFileCleaner.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.master.snapshot.SnapshotManager.java">org/apache/hadoop/hbase/master/snapshot/SnapshotManager.java</a></td>
<td>0</td>
<td>0</td>
<td>17</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.master.snapshot.TakeSnapshotHandler.java">org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.metrics.BaseSourceImpl.java">org/apache/hadoop/hbase/metrics/BaseSourceImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.metrics.MetricRegistriesLoader.java">org/apache/hadoop/hbase/metrics/MetricRegistriesLoader.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.metrics.MetricSet.java">org/apache/hadoop/hbase/metrics/MetricSet.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.metrics.impl.DropwizardMeter.java">org/apache/hadoop/hbase/metrics/impl/DropwizardMeter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.metrics.impl.GlobalMetricRegistriesAdapter.java">org/apache/hadoop/hbase/metrics/impl/GlobalMetricRegistriesAdapter.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.metrics.impl.RefCountingMap.java">org/apache/hadoop/hbase/metrics/impl/RefCountingMap.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.mob.CachedMobFile.java">org/apache/hadoop/hbase/mob/CachedMobFile.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.mob.DefaultMobStoreCompactor.java">org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.mob.DefaultMobStoreFlusher.java">org/apache/hadoop/hbase/mob/DefaultMobStoreFlusher.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.mob.MobFile.java">org/apache/hadoop/hbase/mob/MobFile.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.mob.MobFileCache.java">org/apache/hadoop/hbase/mob/MobFileCache.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.mob.MobUtils.java">org/apache/hadoop/hbase/mob/MobUtils.java</a></td>
<td>0</td>
<td>0</td>
<td>12</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.mob.compactions.MobCompactor.java">org/apache/hadoop/hbase/mob/compactions/MobCompactor.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.mob.compactions.PartitionedMobCompactionRequest.java">org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactionRequest.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.mob.compactions.PartitionedMobCompactor.java">org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactor.java</a></td>
<td>0</td>
<td>0</td>
<td>11</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.monitoring.LogMonitoring.java">org/apache/hadoop/hbase/monitoring/LogMonitoring.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer.java">org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.monitoring.MonitoredRPCHandlerImpl.java">org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.monitoring.MonitoredTaskImpl.java">org/apache/hadoop/hbase/monitoring/MonitoredTaskImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.monitoring.StateDumpServlet.java">org/apache/hadoop/hbase/monitoring/StateDumpServlet.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.monitoring.TaskMonitor.java">org/apache/hadoop/hbase/monitoring/TaskMonitor.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.monitoring.ThreadMonitoring.java">org/apache/hadoop/hbase/monitoring/ThreadMonitoring.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.namespace.NamespaceStateManager.java">org/apache/hadoop/hbase/namespace/NamespaceStateManager.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.namespace.NamespaceTableAndRegionInfo.java">org/apache/hadoop/hbase/namespace/NamespaceTableAndRegionInfo.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.net.Address.java">org/apache/hadoop/hbase/net/Address.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.nio.ByteBuff.java">org/apache/hadoop/hbase/nio/ByteBuff.java</a></td>
<td>0</td>
<td>0</td>
<td>24</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.nio.MultiByteBuff.java">org/apache/hadoop/hbase/nio/MultiByteBuff.java</a></td>
<td>0</td>
<td>0</td>
<td>30</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.nio.SingleByteBuff.java">org/apache/hadoop/hbase/nio/SingleByteBuff.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.MasterProcedureManager.java">org/apache/hadoop/hbase/procedure/MasterProcedureManager.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.Procedure.java">org/apache/hadoop/hbase/procedure/Procedure.java</a></td>
<td>0</td>
<td>0</td>
<td>14</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.ProcedureCoordinator.java">org/apache/hadoop/hbase/procedure/ProcedureCoordinator.java</a></td>
<td>0</td>
<td>0</td>
<td>12</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.ProcedureCoordinatorRpcs.java">org/apache/hadoop/hbase/procedure/ProcedureCoordinatorRpcs.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.ProcedureManagerHost.java">org/apache/hadoop/hbase/procedure/ProcedureManagerHost.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.ProcedureMember.java">org/apache/hadoop/hbase/procedure/ProcedureMember.java</a></td>
<td>0</td>
<td>0</td>
<td>17</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.ProcedureMemberRpcs.java">org/apache/hadoop/hbase/procedure/ProcedureMemberRpcs.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.RegionServerProcedureManager.java">org/apache/hadoop/hbase/procedure/RegionServerProcedureManager.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.Subprocedure.java">org/apache/hadoop/hbase/procedure/Subprocedure.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.ZKProcedureCoordinator.java">org/apache/hadoop/hbase/procedure/ZKProcedureCoordinator.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.ZKProcedureMemberRpcs.java">org/apache/hadoop/hbase/procedure/ZKProcedureMemberRpcs.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.ZKProcedureUtil.java">org/apache/hadoop/hbase/procedure/ZKProcedureUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager.java">org/apache/hadoop/hbase/procedure/flush/MasterFlushTableProcedureManager.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure.flush.RegionServerFlushTableProcedureManager.java">org/apache/hadoop/hbase/procedure/flush/RegionServerFlushTableProcedureManager.java</a></td>
<td>0</td>
<td>0</td>
<td>10</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler.java">org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.BadProcedureException.java">org/apache/hadoop/hbase/procedure2/BadProcedureException.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.LockAndQueue.java">org/apache/hadoop/hbase/procedure2/LockAndQueue.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.Procedure.java">org/apache/hadoop/hbase/procedure2/Procedure.java</a></td>
<td>0</td>
<td>0</td>
-<td>4</td></tr>
-<tr class="a">
+<td>5</td></tr>
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureDeque.java">org/apache/hadoop/hbase/procedure2/ProcedureDeque.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureExecutor.java">org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java</a></td>
<td>0</td>
<td>0</td>
<td>26</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureUtil.java">org/apache/hadoop/hbase/procedure2/ProcedureUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.RemoteProcedureException.java">org/apache/hadoop/hbase/procedure2/RemoteProcedureException.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.RootProcedureState.java">org/apache/hadoop/hbase/procedure2/RootProcedureState.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.StateMachineProcedure.java">org/apache/hadoop/hbase/procedure2/StateMachineProcedure.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.ProcedureStore.java">org/apache/hadoop/hbase/procedure2/store/ProcedureStore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.ProcedureStoreBase.java">org/apache/hadoop/hbase/procedure2/store/ProcedureStoreBase.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.ProcedureStoreTracker.java">org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALFile.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALFormat.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormat.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALFormatReader.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.java">org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.procedure2.util.DelayedUtil.java">org/apache/hadoop/hbase/procedure2/util/DelayedUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.procedure2.util.StringUtils.java">org/apache/hadoop/hbase/procedure2/util/StringUtils.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.protobuf.ProtobufMagic.java">org/apache/hadoop/hbase/protobuf/ProtobufMagic.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.protobuf.ProtobufUtil.java">org/apache/hadoop/hbase/protobuf/ProtobufUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>103</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.protobuf.ReplicationProtbufUtil.java">org/apache/hadoop/hbase/protobuf/ReplicationProtbufUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.AverageIntervalRateLimiter.java">org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.DefaultOperationQuota.java">org/apache/hadoop/hbase/quotas/DefaultOperationQuota.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter.java">org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.MasterQuotaManager.java">org/apache/hadoop/hbase/quotas/MasterQuotaManager.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.NoopOperationQuota.java">org/apache/hadoop/hbase/quotas/NoopOperationQuota.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.NoopQuotaLimiter.java">org/apache/hadoop/hbase/quotas/NoopQuotaLimiter.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaCache.java">org/apache/hadoop/hbase/quotas/QuotaCache.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaLimiter.java">org/apache/hadoop/hbase/quotas/QuotaLimiter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaLimiterFactory.java">org/apache/hadoop/hbase/quotas/QuotaLimiterFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaRetriever.java">org/apache/hadoop/hbase/quotas/QuotaRetriever.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaSettings.java">org/apache/hadoop/hbase/quotas/QuotaSettings.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaSettingsFactory.java">org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaTableUtil.java">org/apache/hadoop/hbase/quotas/QuotaTableUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.QuotaUtil.java">org/apache/hadoop/hbase/quotas/QuotaUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.RateLimiter.java">org/apache/hadoop/hbase/quotas/RateLimiter.java</a></td>
<td>0</td>
<td>0</td>
<td>19</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.RegionServerQuotaManager.java">org/apache/hadoop/hbase/quotas/RegionServerQuotaManager.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.ThrottleSettings.java">org/apache/hadoop/hbase/quotas/ThrottleSettings.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.ThrottlingException.java">org/apache/hadoop/hbase/quotas/ThrottlingException.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.quotas.TimeBasedLimiter.java">org/apache/hadoop/hbase/quotas/TimeBasedLimiter.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.quotas.UserQuotaState.java">org/apache/hadoop/hbase/quotas/UserQuotaState.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.AbstractMemStore.java">org/apache/hadoop/hbase/regionserver/AbstractMemStore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.AbstractMultiFileWriter.java">org/apache/hadoop/hbase/regionserver/AbstractMultiFileWriter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.AnnotationReadingPriorityFunction.java">org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.java</a></td>
<td>0</td>
<td>0</td>
<td>16</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.BaseRowProcessor.java">org/apache/hadoop/hbase/regionserver/BaseRowProcessor.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CellArrayMap.java">org/apache/hadoop/hbase/regionserver/CellArrayMap.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.CellFlatMap.java">org/apache/hadoop/hbase/regionserver/CellFlatMap.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CellSet.java">org/apache/hadoop/hbase/regionserver/CellSet.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.CellSink.java">org/apache/hadoop/hbase/regionserver/CellSink.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.Chunk.java">org/apache/hadoop/hbase/regionserver/Chunk.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompactSplitThread.java">org/apache/hadoop/hbase/regionserver/CompactSplitThread.java</a></td>
<td>0</td>
<td>0</td>
<td>11</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompactedHFilesDischargeHandler.java">org/apache/hadoop/hbase/regionserver/CompactedHFilesDischargeHandler.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompactedHFilesDischarger.java">org/apache/hadoop/hbase/regionserver/CompactedHFilesDischarger.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompactingMemStore.java">org/apache/hadoop/hbase/regionserver/CompactingMemStore.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompactionPipeline.java">org/apache/hadoop/hbase/regionserver/CompactionPipeline.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompactionRequestor.java">org/apache/hadoop/hbase/regionserver/CompactionRequestor.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompactionTool.java">org/apache/hadoop/hbase/regionserver/CompactionTool.java</a></td>
<td>0</td>
<td>0</td>
<td>12</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.CompositeImmutableSegment.java">org/apache/hadoop/hbase/regionserver/CompositeImmutableSegment.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.DefaultHeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.java</a></td>
<td>0</td>
<td>0</td>
<td>31</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.DefaultMemStore.java">org/apache/hadoop/hbase/regionserver/DefaultMemStore.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.DefaultStoreFileManager.java">org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.java">org/apache/hadoop/hbase/regionserver/DefaultStoreFlusher.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/DisabledRegionSplitPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.FavoredNodesForRegion.java">org/apache/hadoop/hbase/regionserver/FavoredNodesForRegion.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.FifoRpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/FifoRpcSchedulerFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.FlushAllLargeStoresPolicy.java">org/apache/hadoop/hbase/regionserver/FlushAllLargeStoresPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.FlushNonSloppyStoresFirstPolicy.java">org/apache/hadoop/hbase/regionserver/FlushNonSloppyStoresFirstPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.FlushPolicyFactory.java">org/apache/hadoop/hbase/regionserver/FlushPolicyFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.FlushRequestListener.java">org/apache/hadoop/hbase/regionserver/FlushRequestListener.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.FlushRequester.java">org/apache/hadoop/hbase/regionserver/FlushRequester.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.HMobStore.java">org/apache/hadoop/hbase/regionserver/HMobStore.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.HRegion.java">org/apache/hadoop/hbase/regionserver/HRegion.java</a></td>
<td>0</td>
<td>0</td>
<td>204</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.HRegionFileSystem.java">org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java</a></td>
<td>0</td>
<td>0</td>
<td>46</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.HRegionServer.java">org/apache/hadoop/hbase/regionserver/HRegionServer.java</a></td>
<td>0</td>
<td>0</td>
<td>128</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.java">org/apache/hadoop/hbase/regionserver/HRegionServerCommandLine.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.HStore.java">org/apache/hadoop/hbase/regionserver/HStore.java</a></td>
<td>0</td>
<td>0</td>
<td>53</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.HeapMemoryManager.java">org/apache/hadoop/hbase/regionserver/HeapMemoryManager.java</a></td>
<td>0</td>
<td>0</td>
<td>15</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.HeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/HeapMemoryTuner.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ImmutableSegment.java">org/apache/hadoop/hbase/regionserver/ImmutableSegment.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.IncreasingToUpperBoundRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/IncreasingToUpperBoundRegionSplitPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.InternalScan.java">org/apache/hadoop/hbase/regionserver/InternalScan.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.InternalScanner.java">org/apache/hadoop/hbase/regionserver/InternalScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.KeyPrefixRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/KeyPrefixRegionSplitPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.KeyValueHeap.java">org/apache/hadoop/hbase/regionserver/KeyValueHeap.java</a></td>
<td>0</td>
<td>0</td>
<td>10</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.KeyValueScanner.java">org/apache/hadoop/hbase/regionserver/KeyValueScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.LeaseException.java">org/apache/hadoop/hbase/regionserver/LeaseException.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.Leases.java">org/apache/hadoop/hbase/regionserver/Leases.java</a></td>
<td>0</td>
<td>0</td>
<td>12</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.LogRoller.java">org/apache/hadoop/hbase/regionserver/LogRoller.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStore.java">org/apache/hadoop/hbase/regionserver/MemStore.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreChunkPool.java">org/apache/hadoop/hbase/regionserver/MemStoreChunkPool.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreCompactor.java">org/apache/hadoop/hbase/regionserver/MemStoreCompactor.java</a></td>
<td>0</td>
<td>0</td>
<td>19</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreCompactorSegmentsIterator.java">org/apache/hadoop/hbase/regionserver/MemStoreCompactorSegmentsIterator.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreFlusher.java">org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java</a></td>
<td>0</td>
<td>0</td>
<td>31</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreLABImpl.java">org/apache/hadoop/hbase/regionserver/MemStoreLABImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreMergerSegmentsIterator.java">org/apache/hadoop/hbase/regionserver/MemStoreMergerSegmentsIterator.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreSegmentsIterator.java">org/apache/hadoop/hbase/regionserver/MemStoreSegmentsIterator.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreSnapshot.java">org/apache/hadoop/hbase/regionserver/MemStoreSnapshot.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsHeapMemoryManagerSource.java">org/apache/hadoop/hbase/regionserver/MetricsHeapMemoryManagerSource.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegion.java">org/apache/hadoop/hbase/regionserver/MetricsRegion.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionServer.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServer.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSourceFactoryImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSourceImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionServerWrapperImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsRegionWrapperImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsTable.java">org/apache/hadoop/hbase/regionserver/MetricsTable.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsTableAggregateSourceImpl.java">org/apache/hadoop/hbase/regionserver/MetricsTableAggregateSourceImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsTableSourceImpl.java">org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MetricsTableWrapperAggregateImpl.java">org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>20</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress.java">org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MultiRowMutationProcessor.java">org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.java">org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.MutableSegment.java">org/apache/hadoop/hbase/regionserver/MutableSegment.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.NoOpHeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/NoOpHeapMemoryTuner.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.NonLazyKeyValueScanner.java">org/apache/hadoop/hbase/regionserver/NonLazyKeyValueScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.NonReversedNonLazyKeyValueScanner.java">org/apache/hadoop/hbase/regionserver/NonReversedNonLazyKeyValueScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.OffheapChunk.java">org/apache/hadoop/hbase/regionserver/OffheapChunk.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.OnheapChunk.java">org/apache/hadoop/hbase/regionserver/OnheapChunk.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.OnlineRegions.java">org/apache/hadoop/hbase/regionserver/OnlineRegions.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.OperationStatus.java">org/apache/hadoop/hbase/regionserver/OperationStatus.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.RSDumpServlet.java">org/apache/hadoop/hbase/regionserver/RSDumpServlet.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.RSRpcServices.java">org/apache/hadoop/hbase/regionserver/RSRpcServices.java</a></td>
<td>0</td>
<td>0</td>
<td>117</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.RSStatusServlet.java">org/apache/hadoop/hbase/regionserver/RSStatusServlet.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.Region.java">org/apache/hadoop/hbase/regionserver/Region.java</a></td>
<td>0</td>
<td>0</td>
<td>61</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java</a></td>
<td>0</td>
<td>0</td>
<td>185</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.RegionScanner.java">org/apache/hadoop/hbase/regionserver/RegionScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.RegionServerCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.RegionServerServices.java">org/apache/hadoop/hbase/regionserver/RegionServerServices.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.RegionServicesForStores.java">org/apache/hadoop/hbase/regionserver/RegionServicesForStores.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.RegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.ReplicationService.java">org/apache/hadoop/hbase/regionserver/ReplicationService.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ReplicationSinkService.java">org/apache/hadoop/hbase/regionserver/ReplicationSinkService.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.ReversedKeyValueHeap.java">org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ReversedRegionScannerImpl.java">org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.ReversedStoreScanner.java">org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.RowProcessor.java">org/apache/hadoop/hbase/regionserver/RowProcessor.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.RpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/RpcSchedulerFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ScanInfo.java">org/apache/hadoop/hbase/regionserver/ScanInfo.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.ScannerContext.java">org/apache/hadoop/hbase/regionserver/ScannerContext.java</a></td>
<td>0</td>
<td>0</td>
<td>12</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.SecureBulkLoadManager.java">org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.Segment.java">org/apache/hadoop/hbase/regionserver/Segment.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.SegmentFactory.java">org/apache/hadoop/hbase/regionserver/SegmentFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.SegmentScanner.java">org/apache/hadoop/hbase/regionserver/SegmentScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ServerNonceManager.java">org/apache/hadoop/hbase/regionserver/ServerNonceManager.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.ShipperListener.java">org/apache/hadoop/hbase/regionserver/ShipperListener.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.ShutdownHook.java">org/apache/hadoop/hbase/regionserver/ShutdownHook.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.SimpleRpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/SimpleRpcSchedulerFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.SplitLogWorker.java">org/apache/hadoop/hbase/regionserver/SplitLogWorker.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.SplitRequest.java">org/apache/hadoop/hbase/regionserver/SplitRequest.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.SteppingSplitPolicy.java">org/apache/hadoop/hbase/regionserver/SteppingSplitPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.Store.java">org/apache/hadoop/hbase/regionserver/Store.java</a></td>
<td>0</td>
<td>0</td>
<td>15</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreEngine.java">org/apache/hadoop/hbase/regionserver/StoreEngine.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFile.java">org/apache/hadoop/hbase/regionserver/StoreFile.java</a></td>
<td>0</td>
<td>0</td>
<td>12</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileInfo.java">org/apache/hadoop/hbase/regionserver/StoreFileInfo.java</a></td>
<td>0</td>
<td>0</td>
<td>23</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileManager.java">org/apache/hadoop/hbase/regionserver/StoreFileManager.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileReader.java">org/apache/hadoop/hbase/regionserver/StoreFileReader.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileScanner.java">org/apache/hadoop/hbase/regionserver/StoreFileScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>11</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFileWriter.java">org/apache/hadoop/hbase/regionserver/StoreFileWriter.java</a></td>
<td>0</td>
<td>0</td>
<td>17</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFlushContext.java">org/apache/hadoop/hbase/regionserver/StoreFlushContext.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreFlusher.java">org/apache/hadoop/hbase/regionserver/StoreFlusher.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreScanner.java">org/apache/hadoop/hbase/regionserver/StoreScanner.java</a></td>
<td>0</td>
<td>0</td>
<td>55</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StoreUtils.java">org/apache/hadoop/hbase/regionserver/StoreUtils.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StorefileRefresherChore.java">org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StripeMultiFileWriter.java">org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreConfig.java">org/apache/hadoop/hbase/regionserver/StripeStoreConfig.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreEngine.java">org/apache/hadoop/hbase/regionserver/StripeStoreEngine.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreFileManager.java">org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.java</a></td>
<td>0</td>
<td>0</td>
<td>21</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.StripeStoreFlusher.java">org/apache/hadoop/hbase/regionserver/StripeStoreFlusher.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.TimeRangeTracker.java">org/apache/hadoop/hbase/regionserver/TimeRangeTracker.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionContext.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionProgress.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.compactions.Compactor.java">org/apache/hadoop/hbase/regionserver/compactions/Compactor.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.compactions.CurrentHourProvider.java">org/apache/hadoop/hbase/regionserver/compactions/CurrentHourProvider.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.compactions.DefaultCompactor.java">org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactor.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.compactions.OffPeakHours.java">org/apache/hadoop/hbase/regionserver/compactions/OffPeakHours.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.compactions.SortedCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/SortedCompactionPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.compactions.StripeCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/StripeCompactionPolicy.java</a></td>
<td>0</td>
<td>0</td>
<td>11</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.handler.CloseMetaHandler.java">org/apache/hadoop/hbase/regionserver/handler/CloseMetaHandler.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.handler.CloseRegionHandler.java">org/apache/hadoop/hbase/regionserver/handler/CloseRegionHandler.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler.java">org/apache/hadoop/hbase/regionserver/handler/OpenMetaHandler.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler.java">org/apache/hadoop/hbase/regionserver/handler/OpenPriorityRegionHandler.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.java">org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.handler.ParallelSeekHandler.java">org/apache/hadoop/hbase/regionserver/handler/ParallelSeekHandler.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.handler.RegionReplicaFlushHandler.java">org/apache/hadoop/hbase/regionserver/handler/RegionReplicaFlushHandler.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.handler.WALSplitterHandler.java">org/apache/hadoop/hbase/regionserver/handler/WALSplitterHandler.java</a></td>
<td>0</td>
<td>0</td>
<td>24</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.querymatcher.ColumnTracker.java">org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.querymatcher.DeleteTracker.java">org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.querymatcher.ExplicitColumnTracker.java">org/apache/hadoop/hbase/regionserver/querymatcher/ExplicitColumnTracker.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.querymatcher.LegacyScanQueryMatcher.java">org/apache/hadoop/hbase/regionserver/querymatcher/LegacyScanQueryMatcher.java</a></td>
<td>0</td>
<td>0</td>
<td>14</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.querymatcher.ScanDeleteTracker.java">org/apache/hadoop/hbase/regionserver/querymatcher/ScanDeleteTracker.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher.java">org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.snapshot.FlushSnapshotSubprocedure.java">org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.snapshot.RegionServerSnapshotManager.java">org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java</a></td>
<td>0</td>
<td>0</td>
<td>18</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.throttle.PressureAwareThroughputController.java">org/apache/hadoop/hbase/regionserver/throttle/PressureAwareThroughputController.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.java">org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.AbstractProtobufLogWriter.java">org/apache/hadoop/hbase/regionserver/wal/AbstractProtobufLogWriter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.java">org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.CompressionContext.java">org/apache/hadoop/hbase/regionserver/wal/CompressionContext.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.Compressor.java">org/apache/hadoop/hbase/regionserver/wal/Compressor.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.FSHLog.java">org/apache/hadoop/hbase/regionserver/wal/FSHLog.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.FSWALEntry.java">org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.FailedLogCloseException.java">org/apache/hadoop/hbase/regionserver/wal/FailedLogCloseException.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.FailedSyncBeforeLogCloseException.java">org/apache/hadoop/hbase/regionserver/wal/FailedSyncBeforeLogCloseException.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.HLogPrettyPrinter.java">org/apache/hadoop/hbase/regionserver/wal/HLogPrettyPrinter.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.MetricsWAL.java">org/apache/hadoop/hbase/regionserver/wal/MetricsWAL.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.MetricsWALEditsReplay.java">org/apache/hadoop/hbase/regionserver/wal/MetricsWALEditsReplay.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.MetricsWALSourceImpl.java">org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.java">org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.java</a></td>
<td>0</td>
<td>0</td>
<td>26</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.ProtobufLogWriter.java">org/apache/hadoop/hbase/regionserver/wal/ProtobufLogWriter.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.ReaderBase.java">org/apache/hadoop/hbase/regionserver/wal/ReaderBase.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.SecureAsyncProtobufLogWriter.java">org/apache/hadoop/hbase/regionserver/wal/SecureAsyncProtobufLogWriter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.SecureProtobufLogReader.java">org/apache/hadoop/hbase/regionserver/wal/SecureProtobufLogReader.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.SecureWALCellCodec.java">org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.SequenceIdAccounting.java">org/apache/hadoop/hbase/regionserver/wal/SequenceIdAccounting.java</a></td>
<td>0</td>
<td>0</td>
<td>13</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.WALActionsListener.java">org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.java">org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.WALCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.java</a></td>
<td>0</td>
<td>0</td>
<td>12</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.WALEdit.java">org/apache/hadoop/hbase/regionserver/wal/WALEdit.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.WALEditsReplaySink.java">org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.regionserver.wal.WALUtil.java">org/apache/hadoop/hbase/regionserver/wal/WALUtil.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.BaseReplicationEndpoint.java">org/apache/hadoop/hbase/replication/BaseReplicationEndpoint.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.BulkLoadCellFilter.java">org/apache/hadoop/hbase/replication/BulkLoadCellFilter.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.ChainWALEntryFilter.java">org/apache/hadoop/hbase/replication/ChainWALEntryFilter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.ClusterMarkingEntryFilter.java">org/apache/hadoop/hbase/replication/ClusterMarkingEntryFilter.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.HBaseReplicationEndpoint.java">org/apache/hadoop/hbase/replication/HBaseReplicationEndpoint.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.NamespaceTableCfWALEntryFilter.java">org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.ReplicationEndpoint.java">org/apache/hadoop/hbase/replication/ReplicationEndpoint.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.ReplicationFactory.java">org/apache/hadoop/hbase/replication/ReplicationFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.ReplicationPeerZKImpl.java">org/apache/hadoop/hbase/replication/ReplicationPeerZKImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.ReplicationPeers.java">org/apache/hadoop/hbase/replication/ReplicationPeers.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.ReplicationPeersZKImpl.java">org/apache/hadoop/hbase/replication/ReplicationPeersZKImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.ReplicationQueueInfo.java">org/apache/hadoop/hbase/replication/ReplicationQueueInfo.java</a></td>
<td>0</td>
<td>0</td>
<td>21</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.ReplicationQueues.java">org/apache/hadoop/hbase/replication/ReplicationQueues.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.ReplicationQueuesClient.java">org/apache/hadoop/hbase/replication/ReplicationQueuesClient.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.ReplicationQueuesClientZKImpl.java">org/apache/hadoop/hbase/replication/ReplicationQueuesClientZKImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.ReplicationQueuesZKImpl.java">org/apache/hadoop/hbase/replication/ReplicationQueuesZKImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.ReplicationStateZKBase.java">org/apache/hadoop/hbase/replication/ReplicationStateZKBase.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.ReplicationTableBase.java">org/apache/hadoop/hbase/replication/ReplicationTableBase.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.ReplicationTracker.java">org/apache/hadoop/hbase/replication/ReplicationTracker.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.ReplicationTrackerZKImpl.java">org/apache/hadoop/hbase/replication/ReplicationTrackerZKImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.ScopeWALEntryFilter.java">org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.java</a></td>
<td>0</td>
<td>0</td>
<td>10</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.TableBasedReplicationQueuesClientImpl.java">org/apache/hadoop/hbase/replication/TableBasedReplicationQueuesClientImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.TableBasedReplicationQueuesImpl.java">org/apache/hadoop/hbase/replication/TableBasedReplicationQueuesImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.WALCellFilter.java">org/apache/hadoop/hbase/replication/WALCellFilter.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.WALEntryFilter.java">org/apache/hadoop/hbase/replication/WALEntryFilter.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.master.ReplicationHFileCleaner.java">org/apache/hadoop/hbase/replication/master/ReplicationHFileCleaner.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.master.ReplicationLogCleaner.java">org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.java</a></td>
<td>0</td>
<td>0</td>
<td>10</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.master.TableCFsUpdater.java">org/apache/hadoop/hbase/replication/master/TableCFsUpdater.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.DumpReplicationQueues.java">org/apache/hadoop/hbase/replication/regionserver/DumpReplicationQueues.java</a></td>
<td>0</td>
<td>0</td>
<td>11</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.HBaseInterClusterReplicationEndpoint.java">org/apache/hadoop/hbase/replication/regionserver/HBaseInterClusterReplicationEndpoint.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.MetricsReplicationGlobalSourceSource.java">org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationGlobalSourceSource.java</a></td>
<td>0</td>
<td>0</td>
<td>4</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.MetricsReplicationSinkSourceImpl.java">org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSinkSourceImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.MetricsReplicationSource.java">org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSource.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.MetricsReplicationSourceSource.java">org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceSource.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.MetricsReplicationSourceSourceImpl.java">org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceSourceImpl.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.MetricsSink.java">org/apache/hadoop/hbase/replication/regionserver/MetricsSink.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.MetricsSource.java">org/apache/hadoop/hbase/replication/regionserver/MetricsSource.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.RegionReplicaReplicationEndpoint.java">org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.Replication.java">org/apache/hadoop/hbase/replication/regionserver/Replication.java</a></td>
<td>0</td>
<td>0</td>
<td>9</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationLoad.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationObserver.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationObserver.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSink.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java</a></td>
<td>0</td>
<td>0</td>
<td>16</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSinkManager.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSource.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java</a></td>
<td>0</td>
<td>0</td>
<td>8</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.java</a></td>
<td>0</td>
<td>0</td>
<td>6</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.java</a></td>
<td>0</td>
<td>0</td>
<td>15</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReaderThread.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReaderThread.java</a></td>
<td>0</td>
<td>0</td>
<td>7</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSyncUp.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationThrottler.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.replication.regionserver.WALEntryStream.java">org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.java</a></td>
<td>0</td>
<td>0</td>
<td>5</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.rest.Constants.java">org/apache/hadoop/hbase/rest/Constants.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.rest.ExistsResource.java">org/apache/hadoop/hbase/rest/ExistsResource.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.rest.MetricsREST.java">org/apache/hadoop/hbase/rest/MetricsREST.java</a></td>
<td>0</td>
<td>0</td>
<td>3</td></tr>
-<tr class="b">
+<tr class="a">
<td><a href="#org.apache.hadoop.hbase.rest.MetricsRESTSource.java">org/apache/hadoop/hbase/rest/MetricsRESTSource.java</a></td>
<td>0</td>
<td>0</td>
<td>1</td></tr>
-<tr class="a">
+<tr class="b">
<td><a href="#org.apache.hadoop.hbase.rest.MetricsRESTSourceImpl.java">org/apache/hadoop/hbase/r
<TRUNCATED>
[26/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
index 3f5aeaf..65cb8d8 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -393,166 +393,166 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<pre>private <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.112">m_master</a></pre>
</li>
</ul>
-<a name="m_filter">
+<a name="m_frags">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_filter</h4>
-<pre>private <a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.124">m_filter</a></pre>
+<h4>m_frags</h4>
+<pre>private <a href="http://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="http://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="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.124">m_frags</a></pre>
</li>
</ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_frags__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_filter__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.129">m_filter__IsNotDefault</a></pre>
+<h4>m_frags__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.129">m_frags__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_metaLocation">
+<a name="m_servers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_metaLocation</h4>
-<pre>private <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.141">m_metaLocation</a></pre>
+<h4>m_servers</h4>
+<pre>private <a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.141">m_servers</a></pre>
</li>
</ul>
-<a name="m_metaLocation__IsNotDefault">
+<a name="m_servers__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_metaLocation__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">m_metaLocation__IsNotDefault</a></pre>
+<h4>m_servers__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">m_servers__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_serverManager">
+<a name="m_catalogJanitorEnabled">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_serverManager</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.158">m_serverManager</a></pre>
+<h4>m_catalogJanitorEnabled</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.158">m_catalogJanitorEnabled</a></pre>
</li>
</ul>
-<a name="m_serverManager__IsNotDefault">
+<a name="m_catalogJanitorEnabled__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_serverManager__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.163">m_serverManager__IsNotDefault</a></pre>
+<h4>m_catalogJanitorEnabled__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.163">m_catalogJanitorEnabled__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_format">
+<a name="m_metaLocation">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_format</h4>
-<pre>private <a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.175">m_format</a></pre>
+<h4>m_metaLocation</h4>
+<pre>private <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.175">m_metaLocation</a></pre>
</li>
</ul>
-<a name="m_format__IsNotDefault">
+<a name="m_metaLocation__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_format__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">m_format__IsNotDefault</a></pre>
+<h4>m_metaLocation__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">m_metaLocation__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_assignmentManager">
+<a name="m_serverManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_assignmentManager</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.192">m_assignmentManager</a></pre>
+<h4>m_serverManager</h4>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.192">m_serverManager</a></pre>
</li>
</ul>
-<a name="m_assignmentManager__IsNotDefault">
+<a name="m_serverManager__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_assignmentManager__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">m_assignmentManager__IsNotDefault</a></pre>
+<h4>m_serverManager__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">m_serverManager__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_frags">
+<a name="m_deadServers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_frags</h4>
-<pre>private <a href="http://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="http://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="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.209">m_frags</a></pre>
+<h4>m_deadServers</h4>
+<pre>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</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/tmpl/master/MasterStatusTmpl.ImplData.html#line.209">m_deadServers</a></pre>
</li>
</ul>
-<a name="m_frags__IsNotDefault">
+<a name="m_deadServers__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_frags__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.214">m_frags__IsNotDefault</a></pre>
+<h4>m_deadServers__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.214">m_deadServers__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_servers">
+<a name="m_format">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_servers</h4>
-<pre>private <a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.226">m_servers</a></pre>
+<h4>m_format</h4>
+<pre>private <a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.226">m_format</a></pre>
</li>
</ul>
-<a name="m_servers__IsNotDefault">
+<a name="m_format__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_servers__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.231">m_servers__IsNotDefault</a></pre>
+<h4>m_format__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.231">m_format__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_deadServers">
+<a name="m_assignmentManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_deadServers</h4>
-<pre>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</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/tmpl/master/MasterStatusTmpl.ImplData.html#line.243">m_deadServers</a></pre>
+<h4>m_assignmentManager</h4>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.243">m_assignmentManager</a></pre>
</li>
</ul>
-<a name="m_deadServers__IsNotDefault">
+<a name="m_assignmentManager__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_deadServers__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.248">m_deadServers__IsNotDefault</a></pre>
+<h4>m_assignmentManager__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.248">m_assignmentManager__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_catalogJanitorEnabled">
+<a name="m_filter">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_catalogJanitorEnabled</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.260">m_catalogJanitorEnabled</a></pre>
+<h4>m_filter</h4>
+<pre>private <a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.260">m_filter</a></pre>
</li>
</ul>
-<a name="m_catalogJanitorEnabled__IsNotDefault">
+<a name="m_filter__IsNotDefault">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>m_catalogJanitorEnabled__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.265">m_catalogJanitorEnabled__IsNotDefault</a></pre>
+<h4>m_filter__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.265">m_filter__IsNotDefault</a></pre>
</li>
</ul>
</li>
@@ -598,247 +598,247 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<pre>public <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.108">getMaster</a>()</pre>
</li>
</ul>
-<a name="setFilter-java.lang.String-">
+<a name="setFrags-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFilter</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.114">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> filter)</pre>
+<h4>setFrags</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.114">setFrags</a>(<a href="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> frags)</pre>
</li>
</ul>
-<a name="getFilter--">
+<a name="getFrags--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFilter</h4>
-<pre>public <a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.120">getFilter</a>()</pre>
+<h4>getFrags</h4>
+<pre>public <a href="http://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="http://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="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.120">getFrags</a>()</pre>
</li>
</ul>
-<a name="getFilter__IsNotDefault--">
+<a name="getFrags__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFilter__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.125">getFilter__IsNotDefault</a>()</pre>
+<h4>getFrags__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.125">getFrags__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
+<a name="setServers-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setMetaLocation</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.131">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> metaLocation)</pre>
+<h4>setServers</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.131">setServers</a>(<a href="http://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>
</li>
</ul>
-<a name="getMetaLocation--">
+<a name="getServers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getMetaLocation</h4>
-<pre>public <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.137">getMetaLocation</a>()</pre>
+<h4>getServers</h4>
+<pre>public <a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.137">getServers</a>()</pre>
</li>
</ul>
-<a name="getMetaLocation__IsNotDefault--">
+<a name="getServers__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getMetaLocation__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.142">getMetaLocation__IsNotDefault</a>()</pre>
+<h4>getServers__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.142">getServers__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
+<a name="setCatalogJanitorEnabled-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setServerManager</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.148">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> serverManager)</pre>
+<h4>setCatalogJanitorEnabled</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.148">setCatalogJanitorEnabled</a>(boolean catalogJanitorEnabled)</pre>
</li>
</ul>
-<a name="getServerManager--">
+<a name="getCatalogJanitorEnabled--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getServerManager</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.154">getServerManager</a>()</pre>
+<h4>getCatalogJanitorEnabled</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.154">getCatalogJanitorEnabled</a>()</pre>
</li>
</ul>
-<a name="getServerManager__IsNotDefault--">
+<a name="getCatalogJanitorEnabled__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getServerManager__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.159">getServerManager__IsNotDefault</a>()</pre>
+<h4>getCatalogJanitorEnabled__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.159">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setFormat-java.lang.String-">
+<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFormat</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.165">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> format)</pre>
+<h4>setMetaLocation</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.165">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> metaLocation)</pre>
</li>
</ul>
-<a name="getFormat--">
+<a name="getMetaLocation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFormat</h4>
-<pre>public <a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.171">getFormat</a>()</pre>
+<h4>getMetaLocation</h4>
+<pre>public <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.171">getMetaLocation</a>()</pre>
</li>
</ul>
-<a name="getFormat__IsNotDefault--">
+<a name="getMetaLocation__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFormat__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.176">getFormat__IsNotDefault</a>()</pre>
+<h4>getMetaLocation__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.176">getMetaLocation__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setAssignmentManager-org.apache.hadoop.hbase.master.AssignmentManager-">
+<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setAssignmentManager</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.182">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> assignmentManager)</pre>
+<h4>setServerManager</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.182">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> serverManager)</pre>
</li>
</ul>
-<a name="getAssignmentManager--">
+<a name="getServerManager--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getAssignmentManager</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.188">getAssignmentManager</a>()</pre>
+<h4>getServerManager</h4>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.188">getServerManager</a>()</pre>
</li>
</ul>
-<a name="getAssignmentManager__IsNotDefault--">
+<a name="getServerManager__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getAssignmentManager__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.193">getAssignmentManager__IsNotDefault</a>()</pre>
+<h4>getServerManager__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.193">getServerManager__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setFrags-java.util.Map-">
+<a name="setDeadServers-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFrags</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.199">setFrags</a>(<a href="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> frags)</pre>
+<h4>setDeadServers</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.199">setDeadServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> deadServers)</pre>
</li>
</ul>
-<a name="getFrags--">
+<a name="getDeadServers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFrags</h4>
-<pre>public <a href="http://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="http://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="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.205">getFrags</a>()</pre>
+<h4>getDeadServers</h4>
+<pre>public <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</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/tmpl/master/MasterStatusTmpl.ImplData.html#line.205">getDeadServers</a>()</pre>
</li>
</ul>
-<a name="getFrags__IsNotDefault--">
+<a name="getDeadServers__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFrags__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.210">getFrags__IsNotDefault</a>()</pre>
+<h4>getDeadServers__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.210">getDeadServers__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setServers-java.util.List-">
+<a name="setFormat-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setServers</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.216">setServers</a>(<a href="http://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>
+<h4>setFormat</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.216">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> format)</pre>
</li>
</ul>
-<a name="getServers--">
+<a name="getFormat--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getServers</h4>
-<pre>public <a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.222">getServers</a>()</pre>
+<h4>getFormat</h4>
+<pre>public <a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.222">getFormat</a>()</pre>
</li>
</ul>
-<a name="getServers__IsNotDefault--">
+<a name="getFormat__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getServers__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.227">getServers__IsNotDefault</a>()</pre>
+<h4>getFormat__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.227">getFormat__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setDeadServers-java.util.Set-">
+<a name="setAssignmentManager-org.apache.hadoop.hbase.master.AssignmentManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setDeadServers</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.233">setDeadServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> deadServers)</pre>
+<h4>setAssignmentManager</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.233">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> assignmentManager)</pre>
</li>
</ul>
-<a name="getDeadServers--">
+<a name="getAssignmentManager--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getDeadServers</h4>
-<pre>public <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</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/tmpl/master/MasterStatusTmpl.ImplData.html#line.239">getDeadServers</a>()</pre>
+<h4>getAssignmentManager</h4>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.239">getAssignmentManager</a>()</pre>
</li>
</ul>
-<a name="getDeadServers__IsNotDefault--">
+<a name="getAssignmentManager__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getDeadServers__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.244">getDeadServers__IsNotDefault</a>()</pre>
+<h4>getAssignmentManager__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.244">getAssignmentManager__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setCatalogJanitorEnabled-boolean-">
+<a name="setFilter-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setCatalogJanitorEnabled</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.250">setCatalogJanitorEnabled</a>(boolean catalogJanitorEnabled)</pre>
+<h4>setFilter</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.250">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> filter)</pre>
</li>
</ul>
-<a name="getCatalogJanitorEnabled--">
+<a name="getFilter--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getCatalogJanitorEnabled</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.256">getCatalogJanitorEnabled</a>()</pre>
+<h4>getFilter</h4>
+<pre>public <a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.256">getFilter</a>()</pre>
</li>
</ul>
-<a name="getCatalogJanitorEnabled__IsNotDefault--">
+<a name="getFilter__IsNotDefault--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>getCatalogJanitorEnabled__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.261">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
+<h4>getFilter__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.261">getFilter__IsNotDefault</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
index 0222ee9..64483d1 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -337,85 +337,85 @@ extends org.jamon.AbstractTemplateProxy</pre>
<!-- -->
</a>
<h3>Field Detail</h3>
-<a name="filter">
+<a name="frags">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>filter</h4>
-<pre>protected <a href="http://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/tmpl/master/MasterStatusTmpl.html#line.277">filter</a></pre>
+<h4>frags</h4>
+<pre>protected <a href="http://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="http://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="http://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/tmpl/master/MasterStatusTmpl.html#line.277">frags</a></pre>
</li>
</ul>
-<a name="metaLocation">
+<a name="servers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>metaLocation</h4>
-<pre>protected <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/tmpl/master/MasterStatusTmpl.html#line.284">metaLocation</a></pre>
+<h4>servers</h4>
+<pre>protected <a href="http://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/tmpl/master/MasterStatusTmpl.html#line.284">servers</a></pre>
</li>
</ul>
-<a name="serverManager">
+<a name="catalogJanitorEnabled">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>serverManager</h4>
-<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.291">serverManager</a></pre>
+<h4>catalogJanitorEnabled</h4>
+<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.291">catalogJanitorEnabled</a></pre>
</li>
</ul>
-<a name="format">
+<a name="metaLocation">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>format</h4>
-<pre>protected <a href="http://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/tmpl/master/MasterStatusTmpl.html#line.298">format</a></pre>
+<h4>metaLocation</h4>
+<pre>protected <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/tmpl/master/MasterStatusTmpl.html#line.298">metaLocation</a></pre>
</li>
</ul>
-<a name="assignmentManager">
+<a name="serverManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>assignmentManager</h4>
-<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.305">assignmentManager</a></pre>
+<h4>serverManager</h4>
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.305">serverManager</a></pre>
</li>
</ul>
-<a name="frags">
+<a name="deadServers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>frags</h4>
-<pre>protected <a href="http://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="http://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="http://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/tmpl/master/MasterStatusTmpl.html#line.312">frags</a></pre>
+<h4>deadServers</h4>
+<pre>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</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/tmpl/master/MasterStatusTmpl.html#line.312">deadServers</a></pre>
</li>
</ul>
-<a name="servers">
+<a name="format">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>servers</h4>
-<pre>protected <a href="http://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/tmpl/master/MasterStatusTmpl.html#line.319">servers</a></pre>
+<h4>format</h4>
+<pre>protected <a href="http://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/tmpl/master/MasterStatusTmpl.html#line.319">format</a></pre>
</li>
</ul>
-<a name="deadServers">
+<a name="assignmentManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>deadServers</h4>
-<pre>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</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/tmpl/master/MasterStatusTmpl.html#line.326">deadServers</a></pre>
+<h4>assignmentManager</h4>
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.326">assignmentManager</a></pre>
</li>
</ul>
-<a name="catalogJanitorEnabled">
+<a name="filter">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>catalogJanitorEnabled</h4>
-<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.333">catalogJanitorEnabled</a></pre>
+<h4>filter</h4>
+<pre>protected <a href="http://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/tmpl/master/MasterStatusTmpl.html#line.333">filter</a></pre>
</li>
</ul>
</li>
@@ -487,85 +487,85 @@ extends org.jamon.AbstractTemplateProxy</pre>
</dl>
</li>
</ul>
-<a name="setFilter-java.lang.String-">
+<a name="setFrags-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFilter</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.278">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_filter)</pre>
+<h4>setFrags</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.278">setFrags</a>(<a href="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> p_frags)</pre>
</li>
</ul>
-<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
+<a name="setServers-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setMetaLocation</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.285">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> p_metaLocation)</pre>
+<h4>setServers</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.285">setServers</a>(<a href="http://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>> p_servers)</pre>
</li>
</ul>
-<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
+<a name="setCatalogJanitorEnabled-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setServerManager</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.292">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> p_serverManager)</pre>
+<h4>setCatalogJanitorEnabled</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.292">setCatalogJanitorEnabled</a>(boolean p_catalogJanitorEnabled)</pre>
</li>
</ul>
-<a name="setFormat-java.lang.String-">
+<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFormat</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.299">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_format)</pre>
+<h4>setMetaLocation</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.299">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> p_metaLocation)</pre>
</li>
</ul>
-<a name="setAssignmentManager-org.apache.hadoop.hbase.master.AssignmentManager-">
+<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setAssignmentManager</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.306">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> p_assignmentManager)</pre>
+<h4>setServerManager</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.306">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> p_serverManager)</pre>
</li>
</ul>
-<a name="setFrags-java.util.Map-">
+<a name="setDeadServers-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFrags</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.313">setFrags</a>(<a href="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> p_frags)</pre>
+<h4>setDeadServers</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.313">setDeadServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> p_deadServers)</pre>
</li>
</ul>
-<a name="setServers-java.util.List-">
+<a name="setFormat-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setServers</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.320">setServers</a>(<a href="http://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>> p_servers)</pre>
+<h4>setFormat</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.320">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_format)</pre>
</li>
</ul>
-<a name="setDeadServers-java.util.Set-">
+<a name="setAssignmentManager-org.apache.hadoop.hbase.master.AssignmentManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setDeadServers</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.327">setDeadServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> p_deadServers)</pre>
+<h4>setAssignmentManager</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.327">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> p_assignmentManager)</pre>
</li>
</ul>
-<a name="setCatalogJanitorEnabled-boolean-">
+<a name="setFilter-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setCatalogJanitorEnabled</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.334">setCatalogJanitorEnabled</a>(boolean p_catalogJanitorEnabled)</pre>
+<h4>setFilter</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.334">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> p_filter)</pre>
</li>
</ul>
<a name="constructImpl-java.lang.Class-">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
index 8a8291f..5b2d015 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
@@ -278,85 +278,85 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
<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/tmpl/master/MasterStatusTmplImpl.html#line.64">master</a></pre>
</li>
</ul>
-<a name="filter">
+<a name="frags">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>filter</h4>
-<pre>private final <a href="http://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/tmpl/master/MasterStatusTmplImpl.html#line.65">filter</a></pre>
+<h4>frags</h4>
+<pre>private final <a href="http://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="http://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="http://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/tmpl/master/MasterStatusTmplImpl.html#line.65">frags</a></pre>
</li>
</ul>
-<a name="metaLocation">
+<a name="servers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>metaLocation</h4>
-<pre>private final <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/tmpl/master/MasterStatusTmplImpl.html#line.66">metaLocation</a></pre>
+<h4>servers</h4>
+<pre>private final <a href="http://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/tmpl/master/MasterStatusTmplImpl.html#line.66">servers</a></pre>
</li>
</ul>
-<a name="serverManager">
+<a name="catalogJanitorEnabled">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>serverManager</h4>
-<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.67">serverManager</a></pre>
+<h4>catalogJanitorEnabled</h4>
+<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.67">catalogJanitorEnabled</a></pre>
</li>
</ul>
-<a name="format">
+<a name="metaLocation">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>format</h4>
-<pre>private final <a href="http://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/tmpl/master/MasterStatusTmplImpl.html#line.68">format</a></pre>
+<h4>metaLocation</h4>
+<pre>private final <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/tmpl/master/MasterStatusTmplImpl.html#line.68">metaLocation</a></pre>
</li>
</ul>
-<a name="assignmentManager">
+<a name="serverManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>assignmentManager</h4>
-<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.69">assignmentManager</a></pre>
+<h4>serverManager</h4>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.69">serverManager</a></pre>
</li>
</ul>
-<a name="frags">
+<a name="deadServers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>frags</h4>
-<pre>private final <a href="http://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="http://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="http://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/tmpl/master/MasterStatusTmplImpl.html#line.70">frags</a></pre>
+<h4>deadServers</h4>
+<pre>private final <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</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/tmpl/master/MasterStatusTmplImpl.html#line.70">deadServers</a></pre>
</li>
</ul>
-<a name="servers">
+<a name="format">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>servers</h4>
-<pre>private final <a href="http://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/tmpl/master/MasterStatusTmplImpl.html#line.71">servers</a></pre>
+<h4>format</h4>
+<pre>private final <a href="http://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/tmpl/master/MasterStatusTmplImpl.html#line.71">format</a></pre>
</li>
</ul>
-<a name="deadServers">
+<a name="assignmentManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>deadServers</h4>
-<pre>private final <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</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/tmpl/master/MasterStatusTmplImpl.html#line.72">deadServers</a></pre>
+<h4>assignmentManager</h4>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.72">assignmentManager</a></pre>
</li>
</ul>
-<a name="catalogJanitorEnabled">
+<a name="filter">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>catalogJanitorEnabled</h4>
-<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.73">catalogJanitorEnabled</a></pre>
+<h4>filter</h4>
+<pre>private final <a href="http://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/tmpl/master/MasterStatusTmplImpl.html#line.73">filter</a></pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/util/class-use/NonceKey.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/class-use/NonceKey.html b/devapidocs/org/apache/hadoop/hbase/util/class-use/NonceKey.html
index a0b9df1..8a5684c 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/class-use/NonceKey.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/class-use/NonceKey.html
@@ -160,7 +160,7 @@
<a href="../../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a> nonceKey,
<a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> exception,
long lastUpdate,
- long startTime,
+ long submittedTime,
byte[] result)</code> </td>
</tr>
</tbody>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 6783005..69fd1d6 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -519,14 +519,14 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/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/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/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/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/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/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.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a><T>)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a><T>)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/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/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PoolMap.PoolType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html b/devapidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
index b91439c..8cf4182 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
@@ -47,7 +47,7 @@
<span class="sourceLineNo">039</span> private final NonceKey nonceKey;<a name="line.39"></a>
<span class="sourceLineNo">040</span> private final IOException exception;<a name="line.40"></a>
<span class="sourceLineNo">041</span> private final long lastUpdate;<a name="line.41"></a>
-<span class="sourceLineNo">042</span> private final long startTime;<a name="line.42"></a>
+<span class="sourceLineNo">042</span> private final long submittedTime;<a name="line.42"></a>
<span class="sourceLineNo">043</span> private final byte[] result;<a name="line.43"></a>
<span class="sourceLineNo">044</span><a name="line.44"></a>
<span class="sourceLineNo">045</span> private long clientAckTime = -1;<a name="line.45"></a>
@@ -62,7 +62,7 @@
<span class="sourceLineNo">054</span> final NonceKey nonceKey,<a name="line.54"></a>
<span class="sourceLineNo">055</span> final IOException exception,<a name="line.55"></a>
<span class="sourceLineNo">056</span> final long lastUpdate,<a name="line.56"></a>
-<span class="sourceLineNo">057</span> final long startTime,<a name="line.57"></a>
+<span class="sourceLineNo">057</span> final long submittedTime,<a name="line.57"></a>
<span class="sourceLineNo">058</span> final byte[] result) {<a name="line.58"></a>
<span class="sourceLineNo">059</span> this.procId = procId;<a name="line.59"></a>
<span class="sourceLineNo">060</span> this.procName = procName;<a name="line.60"></a>
@@ -71,7 +71,7 @@
<span class="sourceLineNo">063</span> this.parentId = parentId;<a name="line.63"></a>
<span class="sourceLineNo">064</span> this.nonceKey = nonceKey;<a name="line.64"></a>
<span class="sourceLineNo">065</span> this.lastUpdate = lastUpdate;<a name="line.65"></a>
-<span class="sourceLineNo">066</span> this.startTime = startTime;<a name="line.66"></a>
+<span class="sourceLineNo">066</span> this.submittedTime = submittedTime;<a name="line.66"></a>
<span class="sourceLineNo">067</span><a name="line.67"></a>
<span class="sourceLineNo">068</span> // If the procedure is completed, we should treat exception and result differently<a name="line.68"></a>
<span class="sourceLineNo">069</span> this.exception = exception;<a name="line.69"></a>
@@ -82,7 +82,7 @@
<span class="sourceLineNo">074</span> justification="Intentional; calling super class clone doesn't make sense here.")<a name="line.74"></a>
<span class="sourceLineNo">075</span> public ProcedureInfo clone() {<a name="line.75"></a>
<span class="sourceLineNo">076</span> return new ProcedureInfo(procId, procName, procOwner, procState, parentId, nonceKey,<a name="line.76"></a>
-<span class="sourceLineNo">077</span> exception, lastUpdate, startTime, result);<a name="line.77"></a>
+<span class="sourceLineNo">077</span> exception, lastUpdate, submittedTime, result);<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>
@@ -104,10 +104,10 @@
<span class="sourceLineNo">096</span> sb.append(procState);<a name="line.96"></a>
<span class="sourceLineNo">097</span><a name="line.97"></a>
<span class="sourceLineNo">098</span> long now = EnvironmentEdgeManager.currentTime();<a name="line.98"></a>
-<span class="sourceLineNo">099</span> sb.append(", startTime=");<a name="line.99"></a>
-<span class="sourceLineNo">100</span> sb.append(StringUtils.formatTime(now - startTime));<a name="line.100"></a>
+<span class="sourceLineNo">099</span> sb.append(", submittedTime=");<a name="line.99"></a>
+<span class="sourceLineNo">100</span> sb.append(StringUtils.formatTime(now - submittedTime));<a name="line.100"></a>
<span class="sourceLineNo">101</span> sb.append(" ago, lastUpdate=");<a name="line.101"></a>
-<span class="sourceLineNo">102</span> sb.append(StringUtils.formatTime(now - startTime));<a name="line.102"></a>
+<span class="sourceLineNo">102</span> sb.append(StringUtils.formatTime(now - submittedTime));<a name="line.102"></a>
<span class="sourceLineNo">103</span> sb.append(" ago");<a name="line.103"></a>
<span class="sourceLineNo">104</span><a name="line.104"></a>
<span class="sourceLineNo">105</span> if (isFailed()) {<a name="line.105"></a>
@@ -176,8 +176,8 @@
<span class="sourceLineNo">168</span> return result;<a name="line.168"></a>
<span class="sourceLineNo">169</span> }<a name="line.169"></a>
<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span> public long getStartTime() {<a name="line.171"></a>
-<span class="sourceLineNo">172</span> return startTime;<a name="line.172"></a>
+<span class="sourceLineNo">171</span> public long getSubmittedTime() {<a name="line.171"></a>
+<span class="sourceLineNo">172</span> return submittedTime;<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> public long getLastUpdate() {<a name="line.175"></a>
@@ -185,7 +185,7 @@
<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> public long executionTime() {<a name="line.179"></a>
-<span class="sourceLineNo">180</span> return lastUpdate - startTime;<a name="line.180"></a>
+<span class="sourceLineNo">180</span> return lastUpdate - submittedTime;<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> @InterfaceAudience.Private<a name="line.183"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 efa061f..18e7371 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -16,11 +16,11 @@
<span class="sourceLineNo">008</span>@InterfaceAudience.Private<a name="line.8"></a>
<span class="sourceLineNo">009</span>public class Version {<a name="line.9"></a>
<span class="sourceLineNo">010</span> public static final String version = "2.0.0-SNAPSHOT";<a name="line.10"></a>
-<span class="sourceLineNo">011</span> public static final String revision = "da5fb27eabed4a4b4d251be973ee945fb52895bf";<a name="line.11"></a>
+<span class="sourceLineNo">011</span> public static final String revision = "0cd4cec5d24b5e7194a903e4d900f5558ed8b9a7";<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 = "Thu Apr 13 21:10:54 UTC 2017";<a name="line.13"></a>
+<span class="sourceLineNo">013</span> public static final String date = "Sat Apr 15 14:38:43 UTC 2017";<a name="line.13"></a>
<span class="sourceLineNo">014</span> public static final String url = "git://asf920.gq1.ygridcore.net/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span> public static final String srcChecksum = "00e895b43b730ab6c310b237457e4b31";<a name="line.15"></a>
+<span class="sourceLineNo">015</span> public static final String srcChecksum = "10edd451996c9718f54bf7c0638a70c1";<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/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.AbortProcedureFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.AbortProcedureFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.AbortProcedureFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.AbortProcedureFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.AbortProcedureFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.AddColumnFamilyFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.AddColumnFamilyFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.AddColumnFamilyFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.AddColumnFamilyFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.AddColumnFamilyFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.CreateTableFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.CreateTableFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.CreateTableFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.CreateTableFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.CreateTableFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DeleteColumnFamilyFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DeleteColumnFamilyFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DeleteColumnFamilyFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DeleteColumnFamilyFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DeleteColumnFamilyFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DeleteTableFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DeleteTableFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DeleteTableFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DeleteTableFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DeleteTableFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DisableTableFuture.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DisableTableFuture.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DisableTableFuture.html
index c45be1c..b798d4b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DisableTableFuture.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/HBaseAdmin.DisableTableFuture.html
@@ -2122,7 +2122,7 @@
<span class="sourceLineNo">2114</span> procedureState, procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.2114"></a>
<span class="sourceLineNo">2115</span> procProto.hasException()?<a name="line.2115"></a>
<span class="sourceLineNo">2116</span> ForeignExceptionUtil.toIOException(procProto.getException()): null,<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.2117"></a>
+<span class="sourceLineNo">2117</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.2117"></a>
<span class="sourceLineNo">2118</span> procProto.hasResult()? procProto.getResult().toByteArray() : null);<a name="line.2118"></a>
<span class="sourceLineNo">2119</span> }<a name="line.2119"></a>
<span class="sourceLineNo">2120</span><a name="line.2120"></a>
[31/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html
index b579a1b..50908b4 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.html
@@ -349,7 +349,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState<
/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-TEnvironment-">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.hb
ase.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#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#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="../../../../../../or
g/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/P
rocedure.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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#up
dateTimestamp--">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#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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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--">getSubmit
tedTime</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-TEnvironment-">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.h
adoop.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#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#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#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/proc
edure2/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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/P
rocedure.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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html
index 4c93254..66357c4 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html
@@ -414,7 +414,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock
</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#getProcId--">g
etProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</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-TEnvironment-">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/had
oop/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#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#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#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoo
p/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#setStartTime-long-">setStartTime</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/hb
ase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">was
Executed</a></code></li>
+<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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock
</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#getProcId--">g
etProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</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-TEnvironment-">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/ap
ache/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#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#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#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apac
he/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/Procedu
re.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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#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/hado
op/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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/RestoreSnapshotProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/RestoreSnapshotProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/RestoreSnapshotProcedure.html
index 8a1acb4..2582c22 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/RestoreSnapshotProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/RestoreSnapshotProcedure.html
@@ -402,7 +402,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState<
/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-TEnvironment-">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.hb
ase.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#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#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="../../../../../../or
g/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/P
rocedure.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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#up
dateTimestamp--">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#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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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--">getSubmit
tedTime</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-TEnvironment-">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.h
adoop.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#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#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#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/proc
edure2/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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/P
rocedure.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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
index ade306f..2a639fe 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
@@ -512,7 +512,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState<
/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-TEnvironment-">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.hb
ase.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#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#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="../../../../../../or
g/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/P
rocedure.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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">wasExec
uted</a></code></li>
+<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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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--">getSubmit
tedTime</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-TEnvironment-">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.h
adoop.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#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#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#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/proc
edure2/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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</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#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/h
base/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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/SplitTableRegionProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/SplitTableRegionProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/SplitTableRegionProcedure.html
index 275c601..369f4fc 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/SplitTableRegionProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/SplitTableRegionProcedure.html
@@ -483,7 +483,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState<
/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-TEnvironment-">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.hb
ase.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#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#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="../../../../../../or
g/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/P
rocedure.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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#up
dateTimestamp--">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#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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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--">getSubmit
tedTime</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-TEnvironment-">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.h
adoop.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#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#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#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/proc
edure2/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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/P
rocedure.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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
[16/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html
index a1495ff..0c11099 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.TimeoutExecutorThread.html
@@ -839,1019 +839,1030 @@
<span class="sourceLineNo">831</span> private long pushProcedure(final Procedure proc) {<a name="line.831"></a>
<span class="sourceLineNo">832</span> final long currentProcId = proc.getProcId();<a name="line.832"></a>
<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span> // Create the rollback stack for the procedure<a name="line.834"></a>
-<span class="sourceLineNo">835</span> RootProcedureState stack = new RootProcedureState();<a name="line.835"></a>
-<span class="sourceLineNo">836</span> rollbackStack.put(currentProcId, stack);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span> // Submit the new subprocedures<a name="line.838"></a>
-<span class="sourceLineNo">839</span> assert !procedures.containsKey(currentProcId);<a name="line.839"></a>
-<span class="sourceLineNo">840</span> procedures.put(currentProcId, proc);<a name="line.840"></a>
-<span class="sourceLineNo">841</span> sendProcedureAddedNotification(currentProcId);<a name="line.841"></a>
-<span class="sourceLineNo">842</span> scheduler.addBack(proc);<a name="line.842"></a>
-<span class="sourceLineNo">843</span> return proc.getProcId();<a name="line.843"></a>
-<span class="sourceLineNo">844</span> }<a name="line.844"></a>
-<span class="sourceLineNo">845</span><a name="line.845"></a>
-<span class="sourceLineNo">846</span> /**<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * Send an abort notification the specified procedure.<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.848"></a>
-<span class="sourceLineNo">849</span> * @param procId the procedure to abort<a name="line.849"></a>
-<span class="sourceLineNo">850</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.850"></a>
-<span class="sourceLineNo">851</span> */<a name="line.851"></a>
-<span class="sourceLineNo">852</span> public boolean abort(final long procId) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span> return abort(procId, true);<a name="line.853"></a>
-<span class="sourceLineNo">854</span> }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span> /**<a name="line.856"></a>
-<span class="sourceLineNo">857</span> * Send an abort notification the specified procedure.<a name="line.857"></a>
-<span class="sourceLineNo">858</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.858"></a>
-<span class="sourceLineNo">859</span> * @param procId the procedure to abort<a name="line.859"></a>
-<span class="sourceLineNo">860</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.860"></a>
-<span class="sourceLineNo">861</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.861"></a>
-<span class="sourceLineNo">862</span> */<a name="line.862"></a>
-<span class="sourceLineNo">863</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.863"></a>
-<span class="sourceLineNo">864</span> final Procedure proc = procedures.get(procId);<a name="line.864"></a>
-<span class="sourceLineNo">865</span> if (proc != null) {<a name="line.865"></a>
-<span class="sourceLineNo">866</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.866"></a>
-<span class="sourceLineNo">867</span> return false;<a name="line.867"></a>
-<span class="sourceLineNo">868</span> }<a name="line.868"></a>
-<span class="sourceLineNo">869</span> return proc.abort(getEnvironment());<a name="line.869"></a>
-<span class="sourceLineNo">870</span> }<a name="line.870"></a>
-<span class="sourceLineNo">871</span> return false;<a name="line.871"></a>
-<span class="sourceLineNo">872</span> }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span> // ==========================================================================<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // Executor query helpers<a name="line.875"></a>
-<span class="sourceLineNo">876</span> // ==========================================================================<a name="line.876"></a>
-<span class="sourceLineNo">877</span> public Procedure getProcedure(final long procId) {<a name="line.877"></a>
-<span class="sourceLineNo">878</span> return procedures.get(procId);<a name="line.878"></a>
-<span class="sourceLineNo">879</span> }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span> final Procedure proc = getProcedure(procId);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> if (clazz.isInstance(proc)) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span> return (T)proc;<a name="line.884"></a>
-<span class="sourceLineNo">885</span> }<a name="line.885"></a>
-<span class="sourceLineNo">886</span> return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span> }<a name="line.887"></a>
-<span class="sourceLineNo">888</span><a name="line.888"></a>
-<span class="sourceLineNo">889</span> public ProcedureInfo getResult(final long procId) {<a name="line.889"></a>
-<span class="sourceLineNo">890</span> return completed.get(procId);<a name="line.890"></a>
-<span class="sourceLineNo">891</span> }<a name="line.891"></a>
-<span class="sourceLineNo">892</span><a name="line.892"></a>
-<span class="sourceLineNo">893</span> /**<a name="line.893"></a>
-<span class="sourceLineNo">894</span> * Return true if the procedure is finished.<a name="line.894"></a>
-<span class="sourceLineNo">895</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.895"></a>
-<span class="sourceLineNo">896</span> * Use getResult() to check the state or get the result data.<a name="line.896"></a>
-<span class="sourceLineNo">897</span> * @param procId the ID of the procedure to check<a name="line.897"></a>
-<span class="sourceLineNo">898</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.898"></a>
-<span class="sourceLineNo">899</span> */<a name="line.899"></a>
-<span class="sourceLineNo">900</span> public boolean isFinished(final long procId) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span> return !procedures.containsKey(procId);<a name="line.901"></a>
-<span class="sourceLineNo">902</span> }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span> /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span> * Return true if the procedure is started.<a name="line.905"></a>
-<span class="sourceLineNo">906</span> * @param procId the ID of the procedure to check<a name="line.906"></a>
-<span class="sourceLineNo">907</span> * @return true if the procedure execution is started, otherwise false.<a name="line.907"></a>
-<span class="sourceLineNo">908</span> */<a name="line.908"></a>
-<span class="sourceLineNo">909</span> public boolean isStarted(final long procId) {<a name="line.909"></a>
-<span class="sourceLineNo">910</span> final Procedure proc = procedures.get(procId);<a name="line.910"></a>
-<span class="sourceLineNo">911</span> if (proc == null) {<a name="line.911"></a>
-<span class="sourceLineNo">912</span> return completed.get(procId) != null;<a name="line.912"></a>
-<span class="sourceLineNo">913</span> }<a name="line.913"></a>
-<span class="sourceLineNo">914</span> return proc.wasExecuted();<a name="line.914"></a>
-<span class="sourceLineNo">915</span> }<a name="line.915"></a>
-<span class="sourceLineNo">916</span><a name="line.916"></a>
-<span class="sourceLineNo">917</span> /**<a name="line.917"></a>
-<span class="sourceLineNo">918</span> * Mark the specified completed procedure, as ready to remove.<a name="line.918"></a>
-<span class="sourceLineNo">919</span> * @param procId the ID of the procedure to remove<a name="line.919"></a>
-<span class="sourceLineNo">920</span> */<a name="line.920"></a>
-<span class="sourceLineNo">921</span> public void removeResult(final long procId) {<a name="line.921"></a>
-<span class="sourceLineNo">922</span> final ProcedureInfo result = completed.get(procId);<a name="line.922"></a>
-<span class="sourceLineNo">923</span> if (result == null) {<a name="line.923"></a>
-<span class="sourceLineNo">924</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.924"></a>
-<span class="sourceLineNo">925</span> if (LOG.isDebugEnabled()) {<a name="line.925"></a>
-<span class="sourceLineNo">926</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.926"></a>
-<span class="sourceLineNo">927</span> }<a name="line.927"></a>
-<span class="sourceLineNo">928</span> return;<a name="line.928"></a>
-<span class="sourceLineNo">929</span> }<a name="line.929"></a>
-<span class="sourceLineNo">930</span><a name="line.930"></a>
-<span class="sourceLineNo">931</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.931"></a>
-<span class="sourceLineNo">932</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span><a name="line.934"></a>
-<span class="sourceLineNo">935</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.935"></a>
-<span class="sourceLineNo">936</span> ProcedureInfo result = completed.get(procId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span> Procedure proc = null;<a name="line.937"></a>
-<span class="sourceLineNo">938</span> if (result == null) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span> proc = procedures.get(procId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span> if (proc == null) {<a name="line.940"></a>
-<span class="sourceLineNo">941</span> result = completed.get(procId);<a name="line.941"></a>
-<span class="sourceLineNo">942</span> }<a name="line.942"></a>
-<span class="sourceLineNo">943</span> }<a name="line.943"></a>
-<span class="sourceLineNo">944</span> return new Pair(result, proc);<a name="line.944"></a>
-<span class="sourceLineNo">945</span> }<a name="line.945"></a>
-<span class="sourceLineNo">946</span><a name="line.946"></a>
-<span class="sourceLineNo">947</span> /**<a name="line.947"></a>
-<span class="sourceLineNo">948</span> * Check if the user is this procedure's owner<a name="line.948"></a>
-<span class="sourceLineNo">949</span> * @param procId the target procedure<a name="line.949"></a>
-<span class="sourceLineNo">950</span> * @param user the user<a name="line.950"></a>
-<span class="sourceLineNo">951</span> * @return true if the user is the owner of the procedure,<a name="line.951"></a>
-<span class="sourceLineNo">952</span> * false otherwise or the owner is unknown.<a name="line.952"></a>
-<span class="sourceLineNo">953</span> */<a name="line.953"></a>
-<span class="sourceLineNo">954</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> if (user == null) return false;<a name="line.955"></a>
-<span class="sourceLineNo">956</span><a name="line.956"></a>
-<span class="sourceLineNo">957</span> final Procedure proc = procedures.get(procId);<a name="line.957"></a>
-<span class="sourceLineNo">958</span> if (proc != null) {<a name="line.958"></a>
-<span class="sourceLineNo">959</span> return proc.getOwner().equals(user.getShortName());<a name="line.959"></a>
-<span class="sourceLineNo">960</span> }<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.962"></a>
-<span class="sourceLineNo">963</span> if (procInfo == null) {<a name="line.963"></a>
-<span class="sourceLineNo">964</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.964"></a>
-<span class="sourceLineNo">965</span> // At this time, we cannot check the owner of the procedure<a name="line.965"></a>
-<span class="sourceLineNo">966</span> return false;<a name="line.966"></a>
-<span class="sourceLineNo">967</span> }<a name="line.967"></a>
-<span class="sourceLineNo">968</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.968"></a>
-<span class="sourceLineNo">969</span> }<a name="line.969"></a>
-<span class="sourceLineNo">970</span><a name="line.970"></a>
-<span class="sourceLineNo">971</span> /**<a name="line.971"></a>
-<span class="sourceLineNo">972</span> * List procedures.<a name="line.972"></a>
-<span class="sourceLineNo">973</span> * @return the procedures in a list<a name="line.973"></a>
-<span class="sourceLineNo">974</span> */<a name="line.974"></a>
-<span class="sourceLineNo">975</span> public List<ProcedureInfo> listProcedures() {<a name="line.975"></a>
-<span class="sourceLineNo">976</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.976"></a>
-<span class="sourceLineNo">977</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.977"></a>
-<span class="sourceLineNo">978</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.978"></a>
-<span class="sourceLineNo">979</span> }<a name="line.979"></a>
-<span class="sourceLineNo">980</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.981"></a>
-<span class="sourceLineNo">982</span> // it could complete after we walk through procedures list and insert into<a name="line.982"></a>
-<span class="sourceLineNo">983</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.983"></a>
-<span class="sourceLineNo">984</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.984"></a>
-<span class="sourceLineNo">985</span> procedureLists.add(e.getValue());<a name="line.985"></a>
-<span class="sourceLineNo">986</span> }<a name="line.986"></a>
-<span class="sourceLineNo">987</span> return procedureLists;<a name="line.987"></a>
-<span class="sourceLineNo">988</span> }<a name="line.988"></a>
-<span class="sourceLineNo">989</span><a name="line.989"></a>
-<span class="sourceLineNo">990</span> // ==========================================================================<a name="line.990"></a>
-<span class="sourceLineNo">991</span> // Listeners helpers<a name="line.991"></a>
-<span class="sourceLineNo">992</span> // ==========================================================================<a name="line.992"></a>
-<span class="sourceLineNo">993</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.993"></a>
-<span class="sourceLineNo">994</span> this.listeners.add(listener);<a name="line.994"></a>
-<span class="sourceLineNo">995</span> }<a name="line.995"></a>
-<span class="sourceLineNo">996</span><a name="line.996"></a>
-<span class="sourceLineNo">997</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.997"></a>
-<span class="sourceLineNo">998</span> return this.listeners.remove(listener);<a name="line.998"></a>
-<span class="sourceLineNo">999</span> }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span><a name="line.1000"></a>
-<span class="sourceLineNo">1001</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> if (!this.listeners.isEmpty()) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> try {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> listener.procedureLoaded(procId);<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span> } catch (Throwable e) {<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> }<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> }<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span><a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span> if (!this.listeners.isEmpty()) {<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> try {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> listener.procedureAdded(procId);<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> } catch (Throwable e) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> }<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span> }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span><a name="line.1024"></a>
-<span class="sourceLineNo">1025</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span> if (!this.listeners.isEmpty()) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span> try {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span> listener.procedureFinished(procId);<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> } catch (Throwable e) {<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span> }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span> }<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span> }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span> // ==========================================================================<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span> // Procedure IDs helpers<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span> // ==========================================================================<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span> private long nextProcId() {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span> long procId = lastProcId.incrementAndGet();<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span> if (procId < 0) {<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span> procId = lastProcId.get();<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span> if (procId >= 0)<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span> break;<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span> }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span> while (procedures.containsKey(procId)) {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span> procId = lastProcId.incrementAndGet();<a name="line.1049"></a>
+<span class="sourceLineNo">834</span> // Update metrics on start of a procedure<a name="line.834"></a>
+<span class="sourceLineNo">835</span> proc.updateMetricsOnSubmit(getEnvironment());<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span> // Create the rollback stack for the procedure<a name="line.837"></a>
+<span class="sourceLineNo">838</span> RootProcedureState stack = new RootProcedureState();<a name="line.838"></a>
+<span class="sourceLineNo">839</span> rollbackStack.put(currentProcId, stack);<a name="line.839"></a>
+<span class="sourceLineNo">840</span><a name="line.840"></a>
+<span class="sourceLineNo">841</span> // Submit the new subprocedures<a name="line.841"></a>
+<span class="sourceLineNo">842</span> assert !procedures.containsKey(currentProcId);<a name="line.842"></a>
+<span class="sourceLineNo">843</span> procedures.put(currentProcId, proc);<a name="line.843"></a>
+<span class="sourceLineNo">844</span> sendProcedureAddedNotification(currentProcId);<a name="line.844"></a>
+<span class="sourceLineNo">845</span> scheduler.addBack(proc);<a name="line.845"></a>
+<span class="sourceLineNo">846</span> return proc.getProcId();<a name="line.846"></a>
+<span class="sourceLineNo">847</span> }<a name="line.847"></a>
+<span class="sourceLineNo">848</span><a name="line.848"></a>
+<span class="sourceLineNo">849</span> /**<a name="line.849"></a>
+<span class="sourceLineNo">850</span> * Send an abort notification the specified procedure.<a name="line.850"></a>
+<span class="sourceLineNo">851</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.851"></a>
+<span class="sourceLineNo">852</span> * @param procId the procedure to abort<a name="line.852"></a>
+<span class="sourceLineNo">853</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.853"></a>
+<span class="sourceLineNo">854</span> */<a name="line.854"></a>
+<span class="sourceLineNo">855</span> public boolean abort(final long procId) {<a name="line.855"></a>
+<span class="sourceLineNo">856</span> return abort(procId, true);<a name="line.856"></a>
+<span class="sourceLineNo">857</span> }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span> /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span> * Send an abort notification the specified procedure.<a name="line.860"></a>
+<span class="sourceLineNo">861</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.861"></a>
+<span class="sourceLineNo">862</span> * @param procId the procedure to abort<a name="line.862"></a>
+<span class="sourceLineNo">863</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.863"></a>
+<span class="sourceLineNo">864</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.864"></a>
+<span class="sourceLineNo">865</span> */<a name="line.865"></a>
+<span class="sourceLineNo">866</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.866"></a>
+<span class="sourceLineNo">867</span> final Procedure proc = procedures.get(procId);<a name="line.867"></a>
+<span class="sourceLineNo">868</span> if (proc != null) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.869"></a>
+<span class="sourceLineNo">870</span> return false;<a name="line.870"></a>
+<span class="sourceLineNo">871</span> }<a name="line.871"></a>
+<span class="sourceLineNo">872</span> return proc.abort(getEnvironment());<a name="line.872"></a>
+<span class="sourceLineNo">873</span> }<a name="line.873"></a>
+<span class="sourceLineNo">874</span> return false;<a name="line.874"></a>
+<span class="sourceLineNo">875</span> }<a name="line.875"></a>
+<span class="sourceLineNo">876</span><a name="line.876"></a>
+<span class="sourceLineNo">877</span> // ==========================================================================<a name="line.877"></a>
+<span class="sourceLineNo">878</span> // Executor query helpers<a name="line.878"></a>
+<span class="sourceLineNo">879</span> // ==========================================================================<a name="line.879"></a>
+<span class="sourceLineNo">880</span> public Procedure getProcedure(final long procId) {<a name="line.880"></a>
+<span class="sourceLineNo">881</span> return procedures.get(procId);<a name="line.881"></a>
+<span class="sourceLineNo">882</span> }<a name="line.882"></a>
+<span class="sourceLineNo">883</span><a name="line.883"></a>
+<span class="sourceLineNo">884</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span> final Procedure proc = getProcedure(procId);<a name="line.885"></a>
+<span class="sourceLineNo">886</span> if (clazz.isInstance(proc)) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span> return (T)proc;<a name="line.887"></a>
+<span class="sourceLineNo">888</span> }<a name="line.888"></a>
+<span class="sourceLineNo">889</span> return null;<a name="line.889"></a>
+<span class="sourceLineNo">890</span> }<a name="line.890"></a>
+<span class="sourceLineNo">891</span><a name="line.891"></a>
+<span class="sourceLineNo">892</span> public ProcedureInfo getResult(final long procId) {<a name="line.892"></a>
+<span class="sourceLineNo">893</span> return completed.get(procId);<a name="line.893"></a>
+<span class="sourceLineNo">894</span> }<a name="line.894"></a>
+<span class="sourceLineNo">895</span><a name="line.895"></a>
+<span class="sourceLineNo">896</span> /**<a name="line.896"></a>
+<span class="sourceLineNo">897</span> * Return true if the procedure is finished.<a name="line.897"></a>
+<span class="sourceLineNo">898</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.898"></a>
+<span class="sourceLineNo">899</span> * Use getResult() to check the state or get the result data.<a name="line.899"></a>
+<span class="sourceLineNo">900</span> * @param procId the ID of the procedure to check<a name="line.900"></a>
+<span class="sourceLineNo">901</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.901"></a>
+<span class="sourceLineNo">902</span> */<a name="line.902"></a>
+<span class="sourceLineNo">903</span> public boolean isFinished(final long procId) {<a name="line.903"></a>
+<span class="sourceLineNo">904</span> return !procedures.containsKey(procId);<a name="line.904"></a>
+<span class="sourceLineNo">905</span> }<a name="line.905"></a>
+<span class="sourceLineNo">906</span><a name="line.906"></a>
+<span class="sourceLineNo">907</span> /**<a name="line.907"></a>
+<span class="sourceLineNo">908</span> * Return true if the procedure is started.<a name="line.908"></a>
+<span class="sourceLineNo">909</span> * @param procId the ID of the procedure to check<a name="line.909"></a>
+<span class="sourceLineNo">910</span> * @return true if the procedure execution is started, otherwise false.<a name="line.910"></a>
+<span class="sourceLineNo">911</span> */<a name="line.911"></a>
+<span class="sourceLineNo">912</span> public boolean isStarted(final long procId) {<a name="line.912"></a>
+<span class="sourceLineNo">913</span> final Procedure proc = procedures.get(procId);<a name="line.913"></a>
+<span class="sourceLineNo">914</span> if (proc == null) {<a name="line.914"></a>
+<span class="sourceLineNo">915</span> return completed.get(procId) != null;<a name="line.915"></a>
+<span class="sourceLineNo">916</span> }<a name="line.916"></a>
+<span class="sourceLineNo">917</span> return proc.wasExecuted();<a name="line.917"></a>
+<span class="sourceLineNo">918</span> }<a name="line.918"></a>
+<span class="sourceLineNo">919</span><a name="line.919"></a>
+<span class="sourceLineNo">920</span> /**<a name="line.920"></a>
+<span class="sourceLineNo">921</span> * Mark the specified completed procedure, as ready to remove.<a name="line.921"></a>
+<span class="sourceLineNo">922</span> * @param procId the ID of the procedure to remove<a name="line.922"></a>
+<span class="sourceLineNo">923</span> */<a name="line.923"></a>
+<span class="sourceLineNo">924</span> public void removeResult(final long procId) {<a name="line.924"></a>
+<span class="sourceLineNo">925</span> final ProcedureInfo result = completed.get(procId);<a name="line.925"></a>
+<span class="sourceLineNo">926</span> if (result == null) {<a name="line.926"></a>
+<span class="sourceLineNo">927</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.927"></a>
+<span class="sourceLineNo">928</span> if (LOG.isDebugEnabled()) {<a name="line.928"></a>
+<span class="sourceLineNo">929</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.929"></a>
+<span class="sourceLineNo">930</span> }<a name="line.930"></a>
+<span class="sourceLineNo">931</span> return;<a name="line.931"></a>
+<span class="sourceLineNo">932</span> }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.934"></a>
+<span class="sourceLineNo">935</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.935"></a>
+<span class="sourceLineNo">936</span> }<a name="line.936"></a>
+<span class="sourceLineNo">937</span><a name="line.937"></a>
+<span class="sourceLineNo">938</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.938"></a>
+<span class="sourceLineNo">939</span> ProcedureInfo result = completed.get(procId);<a name="line.939"></a>
+<span class="sourceLineNo">940</span> Procedure proc = null;<a name="line.940"></a>
+<span class="sourceLineNo">941</span> if (result == null) {<a name="line.941"></a>
+<span class="sourceLineNo">942</span> proc = procedures.get(procId);<a name="line.942"></a>
+<span class="sourceLineNo">943</span> if (proc == null) {<a name="line.943"></a>
+<span class="sourceLineNo">944</span> result = completed.get(procId);<a name="line.944"></a>
+<span class="sourceLineNo">945</span> }<a name="line.945"></a>
+<span class="sourceLineNo">946</span> }<a name="line.946"></a>
+<span class="sourceLineNo">947</span> return new Pair(result, proc);<a name="line.947"></a>
+<span class="sourceLineNo">948</span> }<a name="line.948"></a>
+<span class="sourceLineNo">949</span><a name="line.949"></a>
+<span class="sourceLineNo">950</span> /**<a name="line.950"></a>
+<span class="sourceLineNo">951</span> * Check if the user is this procedure's owner<a name="line.951"></a>
+<span class="sourceLineNo">952</span> * @param procId the target procedure<a name="line.952"></a>
+<span class="sourceLineNo">953</span> * @param user the user<a name="line.953"></a>
+<span class="sourceLineNo">954</span> * @return true if the user is the owner of the procedure,<a name="line.954"></a>
+<span class="sourceLineNo">955</span> * false otherwise or the owner is unknown.<a name="line.955"></a>
+<span class="sourceLineNo">956</span> */<a name="line.956"></a>
+<span class="sourceLineNo">957</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span> if (user == null) return false;<a name="line.958"></a>
+<span class="sourceLineNo">959</span><a name="line.959"></a>
+<span class="sourceLineNo">960</span> final Procedure proc = procedures.get(procId);<a name="line.960"></a>
+<span class="sourceLineNo">961</span> if (proc != null) {<a name="line.961"></a>
+<span class="sourceLineNo">962</span> return proc.getOwner().equals(user.getShortName());<a name="line.962"></a>
+<span class="sourceLineNo">963</span> }<a name="line.963"></a>
+<span class="sourceLineNo">964</span><a name="line.964"></a>
+<span class="sourceLineNo">965</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.965"></a>
+<span class="sourceLineNo">966</span> if (procInfo == null) {<a name="line.966"></a>
+<span class="sourceLineNo">967</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.967"></a>
+<span class="sourceLineNo">968</span> // At this time, we cannot check the owner of the procedure<a name="line.968"></a>
+<span class="sourceLineNo">969</span> return false;<a name="line.969"></a>
+<span class="sourceLineNo">970</span> }<a name="line.970"></a>
+<span class="sourceLineNo">971</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.971"></a>
+<span class="sourceLineNo">972</span> }<a name="line.972"></a>
+<span class="sourceLineNo">973</span><a name="line.973"></a>
+<span class="sourceLineNo">974</span> /**<a name="line.974"></a>
+<span class="sourceLineNo">975</span> * List procedures.<a name="line.975"></a>
+<span class="sourceLineNo">976</span> * @return the procedures in a list<a name="line.976"></a>
+<span class="sourceLineNo">977</span> */<a name="line.977"></a>
+<span class="sourceLineNo">978</span> public List<ProcedureInfo> listProcedures() {<a name="line.978"></a>
+<span class="sourceLineNo">979</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.979"></a>
+<span class="sourceLineNo">980</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.980"></a>
+<span class="sourceLineNo">981</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.981"></a>
+<span class="sourceLineNo">982</span> }<a name="line.982"></a>
+<span class="sourceLineNo">983</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.984"></a>
+<span class="sourceLineNo">985</span> // it could complete after we walk through procedures list and insert into<a name="line.985"></a>
+<span class="sourceLineNo">986</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.986"></a>
+<span class="sourceLineNo">987</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.987"></a>
+<span class="sourceLineNo">988</span> procedureLists.add(e.getValue());<a name="line.988"></a>
+<span class="sourceLineNo">989</span> }<a name="line.989"></a>
+<span class="sourceLineNo">990</span> return procedureLists;<a name="line.990"></a>
+<span class="sourceLineNo">991</span> }<a name="line.991"></a>
+<span class="sourceLineNo">992</span><a name="line.992"></a>
+<span class="sourceLineNo">993</span> // ==========================================================================<a name="line.993"></a>
+<span class="sourceLineNo">994</span> // Listeners helpers<a name="line.994"></a>
+<span class="sourceLineNo">995</span> // ==========================================================================<a name="line.995"></a>
+<span class="sourceLineNo">996</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.996"></a>
+<span class="sourceLineNo">997</span> this.listeners.add(listener);<a name="line.997"></a>
+<span class="sourceLineNo">998</span> }<a name="line.998"></a>
+<span class="sourceLineNo">999</span><a name="line.999"></a>
+<span class="sourceLineNo">1000</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span> return this.listeners.remove(listener);<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span> }<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span><a name="line.1003"></a>
+<span class="sourceLineNo">1004</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span> if (!this.listeners.isEmpty()) {<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span> try {<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span> listener.procedureLoaded(procId);<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span> } catch (Throwable e) {<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span> }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span> }<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span> }<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span><a name="line.1015"></a>
+<span class="sourceLineNo">1016</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span> if (!this.listeners.isEmpty()) {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span> try {<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span> listener.procedureAdded(procId);<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span> } catch (Throwable e) {<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span> }<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> }<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span> }<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span><a name="line.1027"></a>
+<span class="sourceLineNo">1028</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span> if (!this.listeners.isEmpty()) {<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span> try {<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span> listener.procedureFinished(procId);<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span> } catch (Throwable e) {<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span> }<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span> }<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span> }<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span><a name="line.1039"></a>
+<span class="sourceLineNo">1040</span> // ==========================================================================<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span> // Procedure IDs helpers<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span> // ==========================================================================<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span> private long nextProcId() {<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span> long procId = lastProcId.incrementAndGet();<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span> if (procId < 0) {<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span> procId = lastProcId.get();<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span> if (procId >= 0)<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span> break;<a name="line.1049"></a>
<span class="sourceLineNo">1050</span> }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span> }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span> return procId;<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span><a name="line.1055"></a>
-<span class="sourceLineNo">1056</span> @VisibleForTesting<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span> protected long getLastProcId() {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span> return lastProcId.get();<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span> }<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span><a name="line.1060"></a>
-<span class="sourceLineNo">1061</span> @VisibleForTesting<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span> public Set<Long> getActiveProcIds() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span> return procedures.keySet();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span> }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span><a name="line.1065"></a>
-<span class="sourceLineNo">1066</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span> }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span><a name="line.1069"></a>
-<span class="sourceLineNo">1070</span> // ==========================================================================<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span> // Executions<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span> // ==========================================================================<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span> private void executeProcedure(final Procedure proc) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span> if (rootProcId == null) {<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span> executeRollback(proc);<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span> return;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span> }<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span><a name="line.1080"></a>
-<span class="sourceLineNo">1081</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span> if (procStack == null) return;<a name="line.1082"></a>
+<span class="sourceLineNo">1051</span> while (procedures.containsKey(procId)) {<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span> procId = lastProcId.incrementAndGet();<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span> }<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span> return procId;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span> }<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span><a name="line.1058"></a>
+<span class="sourceLineNo">1059</span> @VisibleForTesting<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span> protected long getLastProcId() {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span> return lastProcId.get();<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span> }<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span> @VisibleForTesting<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span> public Set<Long> getActiveProcIds() {<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span> return procedures.keySet();<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span> }<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span><a name="line.1068"></a>
+<span class="sourceLineNo">1069</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span> }<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span><a name="line.1072"></a>
+<span class="sourceLineNo">1073</span> // ==========================================================================<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span> // Executions<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span> // ==========================================================================<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span> private void executeProcedure(final Procedure proc) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span> if (rootProcId == null) {<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span> executeRollback(proc);<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span> return;<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span> }<a name="line.1082"></a>
<span class="sourceLineNo">1083</span><a name="line.1083"></a>
-<span class="sourceLineNo">1084</span> do {<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span> // Try to acquire the execution<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span> if (!procStack.acquire(proc)) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span> if (procStack.setRollback()) {<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span> case LOCK_ACQUIRED:<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span> break;<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span> case LOCK_YIELD_WAIT:<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span> procStack.unsetRollback();<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span> scheduler.yield(proc);<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span> break;<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span> case LOCK_EVENT_WAIT:<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span> procStack.unsetRollback();<a name="line.1097"></a>
+<span class="sourceLineNo">1084</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span> if (procStack == null) return;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span><a name="line.1086"></a>
+<span class="sourceLineNo">1087</span> do {<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span> // Try to acquire the execution<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span> if (!procStack.acquire(proc)) {<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span> if (procStack.setRollback()) {<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span> case LOCK_ACQUIRED:<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span> break;<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span> case LOCK_YIELD_WAIT:<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span> procStack.unsetRollback();<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span> scheduler.yield(proc);<a name="line.1097"></a>
<span class="sourceLineNo">1098</span> break;<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span> default:<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span> throw new UnsupportedOperationException();<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> }<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span> } else {<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span> // if we can't rollback means that some child is still running.<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span> // the rollback will be executed after all the children are done.<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> if (!proc.wasExecuted()) {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> switch (executeRollback(proc)) {<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> case LOCK_ACQUIRED:<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> break;<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> case LOCK_YIELD_WAIT:<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span> scheduler.yield(proc);<a name="line.1111"></a>
+<span class="sourceLineNo">1099</span> case LOCK_EVENT_WAIT:<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span> procStack.unsetRollback();<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span> break;<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span> default:<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span> throw new UnsupportedOperationException();<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span> }<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span> } else {<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span> // if we can't rollback means that some child is still running.<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> // the rollback will be executed after all the children are done.<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> if (!proc.wasExecuted()) {<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> switch (executeRollback(proc)) {<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> case LOCK_ACQUIRED:<a name="line.1111"></a>
<span class="sourceLineNo">1112</span> break;<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> case LOCK_EVENT_WAIT:<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> break;<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> default:<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span> throw new UnsupportedOperationException();<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> }<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> }<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> }<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> break;<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span><a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> // Execute the procedure<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> switch (acquireLock(proc)) {<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> case LOCK_ACQUIRED:<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> execProcedure(procStack, proc);<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span> releaseLock(proc, false);<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> break;<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> case LOCK_YIELD_WAIT:<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> scheduler.yield(proc);<a name="line.1131"></a>
+<span class="sourceLineNo">1113</span> case LOCK_YIELD_WAIT:<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> scheduler.yield(proc);<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> break;<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> case LOCK_EVENT_WAIT:<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> break;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span> default:<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> throw new UnsupportedOperationException();<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> }<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> }<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> break;<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> }<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> // Execute the procedure<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> switch (acquireLock(proc)) {<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> case LOCK_ACQUIRED:<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span> execProcedure(procStack, proc);<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> releaseLock(proc, false);<a name="line.1131"></a>
<span class="sourceLineNo">1132</span> break;<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> case LOCK_EVENT_WAIT:<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> // someone will wake us up when the lock is available<a name="line.1134"></a>
+<span class="sourceLineNo">1133</span> case LOCK_YIELD_WAIT:<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> scheduler.yield(proc);<a name="line.1134"></a>
<span class="sourceLineNo">1135</span> break;<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> default:<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> throw new UnsupportedOperationException();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> procStack.release(proc);<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> // allows to kill the executor before something is stored to the wal.<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span> // useful to test the procedure recovery.<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (testing != null && !isRunning()) {<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> break;<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span> }<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> if (proc.isSuccess()) {<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> if (LOG.isDebugEnabled()) {<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> }<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> // Finalize the procedure state<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span> if (proc.getProcId() == rootProcId) {<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> procedureFinished(proc);<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> } else {<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> execCompletionCleanup(proc);<a name="line.1155"></a>
+<span class="sourceLineNo">1136</span> case LOCK_EVENT_WAIT:<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> // someone will wake us up when the lock is available<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> break;<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> default:<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> throw new UnsupportedOperationException();<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> }<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> procStack.release(proc);<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span><a name="line.1143"></a>
+<span class="sourceLineNo">1144</span> // allows to kill the executor before something is stored to the wal.<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> // useful to test the procedure recovery.<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> if (testing != null && !isRunning()) {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span> break;<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> }<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> if (proc.isSuccess()) {<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span> // update metrics on finishing the procedure<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> proc.updateMetricsOnFinish(getEnvironment(), proc.elapsedTime(), true);<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span><a name="line.1153"></a>
+<span class="sourceLineNo">1154</span> if (LOG.isDebugEnabled()) {<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1155"></a>
<span class="sourceLineNo">1156</span> }<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> break;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> } while (procStack.isFailed());<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span> }<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span><a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> private LockState acquireLock(final Procedure proc) {<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> final TEnvironment env = getEnvironment();<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> // hasLock() is used in conjunction with holdLock().<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> return LockState.LOCK_ACQUIRED;<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> }<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> return proc.doAcquireLock(env);<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> }<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> final TEnvironment env = getEnvironment();<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // for how the framework works, we know that we will always have the lock<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span> if (force || !proc.holdLock(env)) {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> proc.doReleaseLock(env);<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> }<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span> }<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span><a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> /**<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> * Execute the rollback of the full procedure stack.<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> * finished to user, and the result will be the fatal exception.<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> */<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> if (exception == null) {<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> exception = procStack.getException();<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span> rootProc.setFailure(exception);<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> store.update(rootProc);<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> }<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span><a name="line.1195"></a>
-<span class="sourceLineNo">1196</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span><a name="line.1198"></a>
-<span class="sourceLineNo">1199</span> int stackTail = subprocStack.size();<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> boolean reuseLock = false;<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> while (stackTail --> 0) {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span><a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> LockState lockState;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> // queue waiting for the lock availability<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span> return lockState;<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> }<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> lockState = executeRollback(proc);<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // If the next procedure is the same to this one<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> // we can avoid to lock/unlock each step<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span> if (!reuseLock) {<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> releaseLock(proc, false);<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> }<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span><a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // allows to kill the executor before something is stored to the wal.<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // useful to test the procedure recovery.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> if (abortRollback) {<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> return lockState;<a name="line.1226"></a>
+<span class="sourceLineNo">1157</span> // Finalize the procedure state<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> if (proc.getProcId() == rootProcId) {<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> procedureFinished(proc);<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> } else {<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> execCompletionCleanup(proc);<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span> }<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> break;<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> }<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> } while (procStack.isFailed());<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> }<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span><a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> private LockState acquireLock(final Procedure proc) {<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> final TEnvironment env = getEnvironment();<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> // hasLock() is used in conjunction with holdLock().<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> return LockState.LOCK_ACQUIRED;<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> }<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> return proc.doAcquireLock(env);<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> }<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span><a name="line.1178"></a>
+<span class="sourceLineNo">1179</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> final TEnvironment env = getEnvironment();<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> // for how the framework works, we know that we will always have the lock<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> if (force || !proc.holdLock(env)) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> proc.doReleaseLock(env);<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> }<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span> }<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span><a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> /**<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> * Execute the rollback of the full procedure stack.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> * finished to user, and the result will be the fatal exception.<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> */<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> if (exception == null) {<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> exception = procStack.getException();<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span> rootProc.setFailure(exception);<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> store.update(rootProc);<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span><a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> int stackTail = subprocStack.size();<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> boolean reuseLock = false;<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> while (stackTail --> 0) {<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span><a name="line.1209"></a>
+<span class="sourceLineNo">1210</span> LockState lockState;<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> // queue waiting for the lock availability<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> return lockState;<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> }<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span><a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> lockState = executeRollback(proc);<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span><a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> // If the next procedure is the same to this one<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> // we can avoid to lock/unlock each step<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> if (!reuseLock) {<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> releaseLock(proc, false);<a name="line.1226"></a>
<span class="sourceLineNo">1227</span> }<a name="line.1227"></a>
<span class="sourceLineNo">1228</span><a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> subprocStack.remove(stackTail);<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span><a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> // if the procedure is kind enough to pass the slot to someone else, yield<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span> if (proc.isYieldAfterExecutionStep(getEnvironment())) {<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> }<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span><a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> if (proc != rootProc) {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> execCompletionCleanup(proc);<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span> }<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span><a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> // Finalize the procedure state<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> LOG.info("Rolled back " + rootProc +<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> " exec-time=" + StringUtils.humanTimeDiff(rootProc.elapsedTime()));<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> procedureFinished(rootProc);<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> return LockState.LOCK_ACQUIRED;<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span> }<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> /**<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> * Execute the rollback of the procedure step.<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> * It updates the store with the new state (stack index)<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> * or will remove completly the procedure in case it is a child.<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> */<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span> private LockState executeRollback(final Procedure proc) {<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> try {<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> proc.doRollback(getEnvironment());<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> } catch (IOException e) {<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> if (LOG.isDebugEnabled()) {<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> LOG.debug("Roll back attempt failed for " + proc, e);<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> }<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> } catch (InterruptedException e) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> handleInterruptedException(proc, e);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span> } catch (Throwable e) {<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> // Catch NullPointerExceptions or similar errors...<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> LOG.fatal("CODE-BUG: Uncatched runtime exception for procedure: " + proc, e);<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> }<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span><a name="line.1268"></a>
-<span class="sourceLineNo">1269</span> // allows to kill the executor before something is stored to the wal.<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> // useful to test the procedure recovery.<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> if (testing != null && testing.shouldKillBeforeStoreUpdate()) {<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> LOG.debug("TESTING: Kill before store update");<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span> stop();<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> }<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> if (proc.removeStackIndex()) {<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> proc.setState(ProcedureState.ROLLEDBACK);<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span> if (proc.hasParent()) {<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> store.delete(proc.getProcId());<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> procedures.remove(proc.getProcId());<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> } else {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> final long[] childProcIds = rollbackStack.get(proc.getProcId()).getSubprocedureIds();<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> if (childProcIds != null) {<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span> store.delete(proc, childProcIds);<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> } else {<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> store.update(proc);<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> }<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> } else {<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span> store.update(proc);<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> }<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span><a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> return LockState.LOCK_ACQUIRED;<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span><a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> * Executes the specified procedure<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> * - calls the doExecute() of the procedure<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> * - if the procedure execution didn't fail (e.g. invalid user input)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> * - ...and returned subprocedures<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span> * - the subprocedures are initialized.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> * - the subprocedures are added to the store<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> * - the subprocedures are added to the runnable queue<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> * - the procedure is now in a WAITING state, waiting for the subprocedures to complete<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span> * - ...if there are no subprocedure<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> * - the procedure completed successfully<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> * - if there is a parent (WAITING)<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> * - the parent state will be set to RUNNABLE<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span> * - in case of failure<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> * - the store is updated with the new state<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> * - the executor (caller of this method) will start the rollback of the procedure<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> */<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span> private void execProcedure(final RootProcedureState procStack, final Procedure procedure) {<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> Preconditions.checkArgument(procedure.getState() == ProcedureState.RUNNABLE);<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span><a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> // Execute the procedure<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> boolean suspended = false;<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> boolean reExecute = false;<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> Procedure[] subprocs = null;<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> do {<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> reExecute = false;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> try {<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span> subprocs = procedure.doExecute(getEnvironment());<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (subprocs != null && subprocs.length == 0) {<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> subprocs = null;<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span> }<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> } catch (ProcedureSuspendedException e) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> suspended = true;<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> } catch (ProcedureYieldException e) {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> if (LOG.isTraceEnabled()) {<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> LOG.trace("Yield " + procedure + ": " + e.getMessage());<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span> }<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> scheduler.yield(procedure);<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> return;<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> } catch (InterruptedException e) {<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> handleInterruptedException(procedure, e);<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> scheduler.yield(procedure);<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span> return;<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> } catch (Throwable e) {<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // Catch NullPointerExceptions or similar errors...<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> String msg = "CODE-BUG: Uncaught runtime exception: " + procedure;<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> LOG.error(msg, e);<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> procedure.setFailure(new RemoteProcedureException(msg, e));<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span> }<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span><a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> if (!procedure.isFailed()) {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> if (subprocs != null) {<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span> if (subprocs.length == 1 && subprocs[0] == procedure) {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span> // quick-shortcut for a state machine like procedure<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> subprocs = null;<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> reExecute = true;<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> } else {<a name="line.1353">
<TRUNCATED>
[23/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/Procedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/Procedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/Procedure.html
index 94f6ab6..d18d851 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/Procedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/Procedure.html
@@ -46,7 +46,7 @@
<span class="sourceLineNo">038</span><a name="line.38"></a>
<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
<span class="sourceLineNo">040</span> * Base Procedure class responsible to handle the Procedure Metadata<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * e.g. state, startTime, lastUpdate, stack-indexes, ...<a name="line.41"></a>
+<span class="sourceLineNo">041</span> * e.g. state, submittedTime, lastUpdate, stack-indexes, ...<a name="line.41"></a>
<span class="sourceLineNo">042</span> *<a name="line.42"></a>
<span class="sourceLineNo">043</span> * execute() is called each time the procedure is executed.<a name="line.43"></a>
<span class="sourceLineNo">044</span> * it may be called multiple times in case of failure and restart, so the<a name="line.44"></a>
@@ -81,7 +81,7 @@
<span class="sourceLineNo">073</span> private long parentProcId = NO_PROC_ID;<a name="line.73"></a>
<span class="sourceLineNo">074</span> private long rootProcId = NO_PROC_ID;<a name="line.74"></a>
<span class="sourceLineNo">075</span> private long procId = NO_PROC_ID;<a name="line.75"></a>
-<span class="sourceLineNo">076</span> private long startTime;<a name="line.76"></a>
+<span class="sourceLineNo">076</span> private long submittedTime;<a name="line.76"></a>
<span class="sourceLineNo">077</span><a name="line.77"></a>
<span class="sourceLineNo">078</span> // runtime state, updated every operation<a name="line.78"></a>
<span class="sourceLineNo">079</span> private ProcedureState state = ProcedureState.INITIALIZING;<a name="line.79"></a>
@@ -248,566 +248,587 @@
<span class="sourceLineNo">240</span> return true;<a name="line.240"></a>
<span class="sourceLineNo">241</span> }<a name="line.241"></a>
<span class="sourceLineNo">242</span><a name="line.242"></a>
-<span class="sourceLineNo">243</span> @Override<a name="line.243"></a>
-<span class="sourceLineNo">244</span> public String toString() {<a name="line.244"></a>
-<span class="sourceLineNo">245</span> // Return the simple String presentation of the procedure.<a name="line.245"></a>
-<span class="sourceLineNo">246</span> return toStringSimpleSB().toString();<a name="line.246"></a>
-<span class="sourceLineNo">247</span> }<a name="line.247"></a>
+<span class="sourceLineNo">243</span> /**<a name="line.243"></a>
+<span class="sourceLineNo">244</span> * This function will be called just when procedure is submitted for execution. Override this<a name="line.244"></a>
+<span class="sourceLineNo">245</span> * method to update the metrics at the beginning of the procedure<a name="line.245"></a>
+<span class="sourceLineNo">246</span> */<a name="line.246"></a>
+<span class="sourceLineNo">247</span> protected void updateMetricsOnSubmit(final TEnvironment env) {}<a name="line.247"></a>
<span class="sourceLineNo">248</span><a name="line.248"></a>
<span class="sourceLineNo">249</span> /**<a name="line.249"></a>
-<span class="sourceLineNo">250</span> * Build the StringBuilder for the simple form of<a name="line.250"></a>
-<span class="sourceLineNo">251</span> * procedure string.<a name="line.251"></a>
-<span class="sourceLineNo">252</span> * @return the StringBuilder<a name="line.252"></a>
-<span class="sourceLineNo">253</span> */<a name="line.253"></a>
-<span class="sourceLineNo">254</span> protected StringBuilder toStringSimpleSB() {<a name="line.254"></a>
-<span class="sourceLineNo">255</span> final StringBuilder sb = new StringBuilder();<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> sb.append("procId=");<a name="line.257"></a>
-<span class="sourceLineNo">258</span> sb.append(getProcId());<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span> if (hasParent()) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span> sb.append(", parentProcId=");<a name="line.261"></a>
-<span class="sourceLineNo">262</span> sb.append(getParentProcId());<a name="line.262"></a>
-<span class="sourceLineNo">263</span> }<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span> if (hasOwner()) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span> sb.append(", owner=");<a name="line.266"></a>
-<span class="sourceLineNo">267</span> sb.append(getOwner());<a name="line.267"></a>
-<span class="sourceLineNo">268</span> }<a name="line.268"></a>
+<span class="sourceLineNo">250</span> * This function will be called just after procedure execution is finished. Override this method<a name="line.250"></a>
+<span class="sourceLineNo">251</span> * to update metrics at the end of the procedure<a name="line.251"></a>
+<span class="sourceLineNo">252</span> *<a name="line.252"></a>
+<span class="sourceLineNo">253</span> * TODO: As any of the sub-procedures on failure rolls back all procedures in the stack,<a name="line.253"></a>
+<span class="sourceLineNo">254</span> * including successfully finished siblings, this function may get called twice in certain<a name="line.254"></a>
+<span class="sourceLineNo">255</span> * cases for certain procedures. Explore further if this can be called once.<a name="line.255"></a>
+<span class="sourceLineNo">256</span> *<a name="line.256"></a>
+<span class="sourceLineNo">257</span> * @param env<a name="line.257"></a>
+<span class="sourceLineNo">258</span> * @param runtime - Runtime of the procedure in milliseconds<a name="line.258"></a>
+<span class="sourceLineNo">259</span> * @param success - true if procedure is completed successfully<a name="line.259"></a>
+<span class="sourceLineNo">260</span> */<a name="line.260"></a>
+<span class="sourceLineNo">261</span> protected void updateMetricsOnFinish(final TEnvironment env, final long runtime,<a name="line.261"></a>
+<span class="sourceLineNo">262</span> boolean success) {}<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span> @Override<a name="line.264"></a>
+<span class="sourceLineNo">265</span> public String toString() {<a name="line.265"></a>
+<span class="sourceLineNo">266</span> // Return the simple String presentation of the procedure.<a name="line.266"></a>
+<span class="sourceLineNo">267</span> return toStringSimpleSB().toString();<a name="line.267"></a>
+<span class="sourceLineNo">268</span> }<a name="line.268"></a>
<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span> sb.append(", state=");<a name="line.270"></a>
-<span class="sourceLineNo">271</span> toStringState(sb);<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> if (hasException()) {<a name="line.273"></a>
-<span class="sourceLineNo">274</span> sb.append(", exception=" + getException());<a name="line.274"></a>
-<span class="sourceLineNo">275</span> }<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span> sb.append(", ");<a name="line.277"></a>
-<span class="sourceLineNo">278</span> toStringClassDetails(sb);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span> return sb;<a name="line.280"></a>
-<span class="sourceLineNo">281</span> }<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span> /**<a name="line.283"></a>
-<span class="sourceLineNo">284</span> * Extend the toString() information with more procedure<a name="line.284"></a>
-<span class="sourceLineNo">285</span> * details<a name="line.285"></a>
-<span class="sourceLineNo">286</span> */<a name="line.286"></a>
-<span class="sourceLineNo">287</span> public String toStringDetails() {<a name="line.287"></a>
-<span class="sourceLineNo">288</span> final StringBuilder sb = toStringSimpleSB();<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span> sb.append(" startTime=");<a name="line.290"></a>
-<span class="sourceLineNo">291</span> sb.append(getStartTime());<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span> sb.append(" lastUpdate=");<a name="line.293"></a>
-<span class="sourceLineNo">294</span> sb.append(getLastUpdate());<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span> final int[] stackIndices = getStackIndexes();<a name="line.296"></a>
-<span class="sourceLineNo">297</span> if (stackIndices != null) {<a name="line.297"></a>
-<span class="sourceLineNo">298</span> sb.append("\n");<a name="line.298"></a>
-<span class="sourceLineNo">299</span> sb.append("stackIndexes=");<a name="line.299"></a>
-<span class="sourceLineNo">300</span> sb.append(Arrays.toString(stackIndices));<a name="line.300"></a>
-<span class="sourceLineNo">301</span> }<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span> return sb.toString();<a name="line.303"></a>
-<span class="sourceLineNo">304</span> }<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span> protected String toStringClass() {<a name="line.306"></a>
-<span class="sourceLineNo">307</span> StringBuilder sb = new StringBuilder();<a name="line.307"></a>
-<span class="sourceLineNo">308</span> toStringClassDetails(sb);<a name="line.308"></a>
-<span class="sourceLineNo">309</span> return sb.toString();<a name="line.309"></a>
-<span class="sourceLineNo">310</span> }<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span> /**<a name="line.312"></a>
-<span class="sourceLineNo">313</span> * Called from {@link #toString()} when interpolating {@link Procedure} state<a name="line.313"></a>
-<span class="sourceLineNo">314</span> * @param builder Append current {@link ProcedureState}<a name="line.314"></a>
-<span class="sourceLineNo">315</span> */<a name="line.315"></a>
-<span class="sourceLineNo">316</span> protected void toStringState(StringBuilder builder) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span> builder.append(getState());<a name="line.317"></a>
-<span class="sourceLineNo">318</span> }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span> /**<a name="line.320"></a>
-<span class="sourceLineNo">321</span> * Extend the toString() information with the procedure details<a name="line.321"></a>
-<span class="sourceLineNo">322</span> * e.g. className and parameters<a name="line.322"></a>
-<span class="sourceLineNo">323</span> * @param builder the string builder to use to append the proc specific information<a name="line.323"></a>
-<span class="sourceLineNo">324</span> */<a name="line.324"></a>
-<span class="sourceLineNo">325</span> protected void toStringClassDetails(StringBuilder builder) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> builder.append(getClass().getName());<a name="line.326"></a>
-<span class="sourceLineNo">327</span> }<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span> // ==========================================================================<a name="line.329"></a>
-<span class="sourceLineNo">330</span> // Those fields are unchanged after initialization.<a name="line.330"></a>
-<span class="sourceLineNo">331</span> //<a name="line.331"></a>
-<span class="sourceLineNo">332</span> // Each procedure will get created from the user or during<a name="line.332"></a>
-<span class="sourceLineNo">333</span> // ProcedureExecutor.start() during the load() phase and then submitted<a name="line.333"></a>
-<span class="sourceLineNo">334</span> // to the executor. these fields will never be changed after initialization<a name="line.334"></a>
-<span class="sourceLineNo">335</span> // ==========================================================================<a name="line.335"></a>
-<span class="sourceLineNo">336</span> public long getProcId() {<a name="line.336"></a>
-<span class="sourceLineNo">337</span> return procId;<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> public boolean hasParent() {<a name="line.340"></a>
-<span class="sourceLineNo">341</span> return parentProcId != NO_PROC_ID;<a name="line.341"></a>
-<span class="sourceLineNo">342</span> }<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span> public long getParentProcId() {<a name="line.344"></a>
-<span class="sourceLineNo">345</span> return parentProcId;<a name="line.345"></a>
-<span class="sourceLineNo">346</span> }<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span> public long getRootProcId() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return rootProcId;<a name="line.349"></a>
-<span class="sourceLineNo">350</span> }<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span> public NonceKey getNonceKey() {<a name="line.352"></a>
-<span class="sourceLineNo">353</span> return nonceKey;<a name="line.353"></a>
-<span class="sourceLineNo">354</span> }<a name="line.354"></a>
-<span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span> public long getStartTime() {<a name="line.356"></a>
-<span class="sourceLineNo">357</span> return startTime;<a name="line.357"></a>
-<span class="sourceLineNo">358</span> }<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span> public String getOwner() {<a name="line.360"></a>
-<span class="sourceLineNo">361</span> return owner;<a name="line.361"></a>
-<span class="sourceLineNo">362</span> }<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span> public boolean hasOwner() {<a name="line.364"></a>
-<span class="sourceLineNo">365</span> return owner != null;<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> /**<a name="line.368"></a>
-<span class="sourceLineNo">369</span> * Called by the ProcedureExecutor to assign the ID to the newly created procedure.<a name="line.369"></a>
-<span class="sourceLineNo">370</span> */<a name="line.370"></a>
-<span class="sourceLineNo">371</span> @VisibleForTesting<a name="line.371"></a>
-<span class="sourceLineNo">372</span> @InterfaceAudience.Private<a name="line.372"></a>
-<span class="sourceLineNo">373</span> protected void setProcId(final long procId) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span> this.procId = procId;<a name="line.374"></a>
-<span class="sourceLineNo">375</span> this.startTime = EnvironmentEdgeManager.currentTime();<a name="line.375"></a>
-<span class="sourceLineNo">376</span> setState(ProcedureState.RUNNABLE);<a name="line.376"></a>
-<span class="sourceLineNo">377</span> }<a name="line.377"></a>
-<span class="sourceLineNo">378</span><a name="line.378"></a>
-<span class="sourceLineNo">379</span> /**<a name="line.379"></a>
-<span class="sourceLineNo">380</span> * Called by the ProcedureExecutor to assign the parent to the newly created procedure.<a name="line.380"></a>
-<span class="sourceLineNo">381</span> */<a name="line.381"></a>
-<span class="sourceLineNo">382</span> @InterfaceAudience.Private<a name="line.382"></a>
-<span class="sourceLineNo">383</span> protected void setParentProcId(final long parentProcId) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span> this.parentProcId = parentProcId;<a name="line.384"></a>
-<span class="sourceLineNo">385</span> }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span> @InterfaceAudience.Private<a name="line.387"></a>
-<span class="sourceLineNo">388</span> protected void setRootProcId(final long rootProcId) {<a name="line.388"></a>
-<span class="sourceLineNo">389</span> this.rootProcId = rootProcId;<a name="line.389"></a>
-<span class="sourceLineNo">390</span> }<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span> /**<a name="line.392"></a>
-<span class="sourceLineNo">393</span> * Called by the ProcedureExecutor to set the value to the newly created procedure.<a name="line.393"></a>
-<span class="sourceLineNo">394</span> */<a name="line.394"></a>
-<span class="sourceLineNo">395</span> @VisibleForTesting<a name="line.395"></a>
-<span class="sourceLineNo">396</span> @InterfaceAudience.Private<a name="line.396"></a>
-<span class="sourceLineNo">397</span> protected void setNonceKey(final NonceKey nonceKey) {<a name="line.397"></a>
-<span class="sourceLineNo">398</span> this.nonceKey = nonceKey;<a name="line.398"></a>
-<span class="sourceLineNo">399</span> }<a name="line.399"></a>
-<span class="sourceLineNo">400</span><a name="line.400"></a>
-<span class="sourceLineNo">401</span> @VisibleForTesting<a name="line.401"></a>
-<span class="sourceLineNo">402</span> @InterfaceAudience.Private<a name="line.402"></a>
-<span class="sourceLineNo">403</span> public void setOwner(final String owner) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span> this.owner = StringUtils.isEmpty(owner) ? null : owner;<a name="line.404"></a>
-<span class="sourceLineNo">405</span> }<a name="line.405"></a>
-<span class="sourceLineNo">406</span><a name="line.406"></a>
-<span class="sourceLineNo">407</span> public void setOwner(final User owner) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> assert owner != null : "expected owner to be not null";<a name="line.408"></a>
-<span class="sourceLineNo">409</span> setOwner(owner.getShortName());<a name="line.409"></a>
-<span class="sourceLineNo">410</span> }<a name="line.410"></a>
-<span class="sourceLineNo">411</span><a name="line.411"></a>
-<span class="sourceLineNo">412</span> /**<a name="line.412"></a>
-<span class="sourceLineNo">413</span> * Called on store load to initialize the Procedure internals after<a name="line.413"></a>
-<span class="sourceLineNo">414</span> * the creation/deserialization.<a name="line.414"></a>
+<span class="sourceLineNo">270</span> /**<a name="line.270"></a>
+<span class="sourceLineNo">271</span> * Build the StringBuilder for the simple form of<a name="line.271"></a>
+<span class="sourceLineNo">272</span> * procedure string.<a name="line.272"></a>
+<span class="sourceLineNo">273</span> * @return the StringBuilder<a name="line.273"></a>
+<span class="sourceLineNo">274</span> */<a name="line.274"></a>
+<span class="sourceLineNo">275</span> protected StringBuilder toStringSimpleSB() {<a name="line.275"></a>
+<span class="sourceLineNo">276</span> final StringBuilder sb = new StringBuilder();<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span> sb.append("procId=");<a name="line.278"></a>
+<span class="sourceLineNo">279</span> sb.append(getProcId());<a name="line.279"></a>
+<span class="sourceLineNo">280</span><a name="line.280"></a>
+<span class="sourceLineNo">281</span> if (hasParent()) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span> sb.append(", parentProcId=");<a name="line.282"></a>
+<span class="sourceLineNo">283</span> sb.append(getParentProcId());<a name="line.283"></a>
+<span class="sourceLineNo">284</span> }<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> if (hasOwner()) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span> sb.append(", owner=");<a name="line.287"></a>
+<span class="sourceLineNo">288</span> sb.append(getOwner());<a name="line.288"></a>
+<span class="sourceLineNo">289</span> }<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span> sb.append(", state=");<a name="line.291"></a>
+<span class="sourceLineNo">292</span> toStringState(sb);<a name="line.292"></a>
+<span class="sourceLineNo">293</span><a name="line.293"></a>
+<span class="sourceLineNo">294</span> if (hasException()) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> sb.append(", exception=" + getException());<a name="line.295"></a>
+<span class="sourceLineNo">296</span> }<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span> sb.append(", ");<a name="line.298"></a>
+<span class="sourceLineNo">299</span> toStringClassDetails(sb);<a name="line.299"></a>
+<span class="sourceLineNo">300</span><a name="line.300"></a>
+<span class="sourceLineNo">301</span> return sb;<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> /**<a name="line.304"></a>
+<span class="sourceLineNo">305</span> * Extend the toString() information with more procedure<a name="line.305"></a>
+<span class="sourceLineNo">306</span> * details<a name="line.306"></a>
+<span class="sourceLineNo">307</span> */<a name="line.307"></a>
+<span class="sourceLineNo">308</span> public String toStringDetails() {<a name="line.308"></a>
+<span class="sourceLineNo">309</span> final StringBuilder sb = toStringSimpleSB();<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span> sb.append(" submittedTime=");<a name="line.311"></a>
+<span class="sourceLineNo">312</span> sb.append(getSubmittedTime());<a name="line.312"></a>
+<span class="sourceLineNo">313</span><a name="line.313"></a>
+<span class="sourceLineNo">314</span> sb.append(" lastUpdate=");<a name="line.314"></a>
+<span class="sourceLineNo">315</span> sb.append(getLastUpdate());<a name="line.315"></a>
+<span class="sourceLineNo">316</span><a name="line.316"></a>
+<span class="sourceLineNo">317</span> final int[] stackIndices = getStackIndexes();<a name="line.317"></a>
+<span class="sourceLineNo">318</span> if (stackIndices != null) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span> sb.append("\n");<a name="line.319"></a>
+<span class="sourceLineNo">320</span> sb.append("stackIndexes=");<a name="line.320"></a>
+<span class="sourceLineNo">321</span> sb.append(Arrays.toString(stackIndices));<a name="line.321"></a>
+<span class="sourceLineNo">322</span> }<a name="line.322"></a>
+<span class="sourceLineNo">323</span><a name="line.323"></a>
+<span class="sourceLineNo">324</span> return sb.toString();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> }<a name="line.325"></a>
+<span class="sourceLineNo">326</span><a name="line.326"></a>
+<span class="sourceLineNo">327</span> protected String toStringClass() {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> StringBuilder sb = new StringBuilder();<a name="line.328"></a>
+<span class="sourceLineNo">329</span> toStringClassDetails(sb);<a name="line.329"></a>
+<span class="sourceLineNo">330</span> return sb.toString();<a name="line.330"></a>
+<span class="sourceLineNo">331</span> }<a name="line.331"></a>
+<span class="sourceLineNo">332</span><a name="line.332"></a>
+<span class="sourceLineNo">333</span> /**<a name="line.333"></a>
+<span class="sourceLineNo">334</span> * Called from {@link #toString()} when interpolating {@link Procedure} state<a name="line.334"></a>
+<span class="sourceLineNo">335</span> * @param builder Append current {@link ProcedureState}<a name="line.335"></a>
+<span class="sourceLineNo">336</span> */<a name="line.336"></a>
+<span class="sourceLineNo">337</span> protected void toStringState(StringBuilder builder) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span> builder.append(getState());<a name="line.338"></a>
+<span class="sourceLineNo">339</span> }<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span> /**<a name="line.341"></a>
+<span class="sourceLineNo">342</span> * Extend the toString() information with the procedure details<a name="line.342"></a>
+<span class="sourceLineNo">343</span> * e.g. className and parameters<a name="line.343"></a>
+<span class="sourceLineNo">344</span> * @param builder the string builder to use to append the proc specific information<a name="line.344"></a>
+<span class="sourceLineNo">345</span> */<a name="line.345"></a>
+<span class="sourceLineNo">346</span> protected void toStringClassDetails(StringBuilder builder) {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> builder.append(getClass().getName());<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> // ==========================================================================<a name="line.350"></a>
+<span class="sourceLineNo">351</span> // Those fields are unchanged after initialization.<a name="line.351"></a>
+<span class="sourceLineNo">352</span> //<a name="line.352"></a>
+<span class="sourceLineNo">353</span> // Each procedure will get created from the user or during<a name="line.353"></a>
+<span class="sourceLineNo">354</span> // ProcedureExecutor.start() during the load() phase and then submitted<a name="line.354"></a>
+<span class="sourceLineNo">355</span> // to the executor. these fields will never be changed after initialization<a name="line.355"></a>
+<span class="sourceLineNo">356</span> // ==========================================================================<a name="line.356"></a>
+<span class="sourceLineNo">357</span> public long getProcId() {<a name="line.357"></a>
+<span class="sourceLineNo">358</span> return procId;<a name="line.358"></a>
+<span class="sourceLineNo">359</span> }<a name="line.359"></a>
+<span class="sourceLineNo">360</span><a name="line.360"></a>
+<span class="sourceLineNo">361</span> public boolean hasParent() {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return parentProcId != NO_PROC_ID;<a name="line.362"></a>
+<span class="sourceLineNo">363</span> }<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span> public long getParentProcId() {<a name="line.365"></a>
+<span class="sourceLineNo">366</span> return parentProcId;<a name="line.366"></a>
+<span class="sourceLineNo">367</span> }<a name="line.367"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span> public long getRootProcId() {<a name="line.369"></a>
+<span class="sourceLineNo">370</span> return rootProcId;<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> public NonceKey getNonceKey() {<a name="line.373"></a>
+<span class="sourceLineNo">374</span> return nonceKey;<a name="line.374"></a>
+<span class="sourceLineNo">375</span> }<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span> public long getSubmittedTime() {<a name="line.377"></a>
+<span class="sourceLineNo">378</span> return submittedTime;<a name="line.378"></a>
+<span class="sourceLineNo">379</span> }<a name="line.379"></a>
+<span class="sourceLineNo">380</span><a name="line.380"></a>
+<span class="sourceLineNo">381</span> public String getOwner() {<a name="line.381"></a>
+<span class="sourceLineNo">382</span> return owner;<a name="line.382"></a>
+<span class="sourceLineNo">383</span> }<a name="line.383"></a>
+<span class="sourceLineNo">384</span><a name="line.384"></a>
+<span class="sourceLineNo">385</span> public boolean hasOwner() {<a name="line.385"></a>
+<span class="sourceLineNo">386</span> return owner != null;<a name="line.386"></a>
+<span class="sourceLineNo">387</span> }<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> * Called by the ProcedureExecutor to assign the ID to the newly created procedure.<a name="line.390"></a>
+<span class="sourceLineNo">391</span> */<a name="line.391"></a>
+<span class="sourceLineNo">392</span> @VisibleForTesting<a name="line.392"></a>
+<span class="sourceLineNo">393</span> @InterfaceAudience.Private<a name="line.393"></a>
+<span class="sourceLineNo">394</span> protected void setProcId(final long procId) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span> this.procId = procId;<a name="line.395"></a>
+<span class="sourceLineNo">396</span> this.submittedTime = EnvironmentEdgeManager.currentTime();<a name="line.396"></a>
+<span class="sourceLineNo">397</span> setState(ProcedureState.RUNNABLE);<a name="line.397"></a>
+<span class="sourceLineNo">398</span> }<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span> /**<a name="line.400"></a>
+<span class="sourceLineNo">401</span> * Called by the ProcedureExecutor to assign the parent to the newly created procedure.<a name="line.401"></a>
+<span class="sourceLineNo">402</span> */<a name="line.402"></a>
+<span class="sourceLineNo">403</span> @InterfaceAudience.Private<a name="line.403"></a>
+<span class="sourceLineNo">404</span> protected void setParentProcId(final long parentProcId) {<a name="line.404"></a>
+<span class="sourceLineNo">405</span> this.parentProcId = parentProcId;<a name="line.405"></a>
+<span class="sourceLineNo">406</span> }<a name="line.406"></a>
+<span class="sourceLineNo">407</span><a name="line.407"></a>
+<span class="sourceLineNo">408</span> @InterfaceAudience.Private<a name="line.408"></a>
+<span class="sourceLineNo">409</span> protected void setRootProcId(final long rootProcId) {<a name="line.409"></a>
+<span class="sourceLineNo">410</span> this.rootProcId = rootProcId;<a name="line.410"></a>
+<span class="sourceLineNo">411</span> }<a name="line.411"></a>
+<span class="sourceLineNo">412</span><a name="line.412"></a>
+<span class="sourceLineNo">413</span> /**<a name="line.413"></a>
+<span class="sourceLineNo">414</span> * Called by the ProcedureExecutor to set the value to the newly created procedure.<a name="line.414"></a>
<span class="sourceLineNo">415</span> */<a name="line.415"></a>
-<span class="sourceLineNo">416</span> @InterfaceAudience.Private<a name="line.416"></a>
-<span class="sourceLineNo">417</span> protected void setStartTime(final long startTime) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span> this.startTime = startTime;<a name="line.418"></a>
-<span class="sourceLineNo">419</span> }<a name="line.419"></a>
-<span class="sourceLineNo">420</span><a name="line.420"></a>
-<span class="sourceLineNo">421</span> // ==========================================================================<a name="line.421"></a>
-<span class="sourceLineNo">422</span> // runtime state - timeout related<a name="line.422"></a>
-<span class="sourceLineNo">423</span> // ==========================================================================<a name="line.423"></a>
-<span class="sourceLineNo">424</span> /**<a name="line.424"></a>
-<span class="sourceLineNo">425</span> * @param timeout timeout interval in msec<a name="line.425"></a>
-<span class="sourceLineNo">426</span> */<a name="line.426"></a>
-<span class="sourceLineNo">427</span> protected void setTimeout(final int timeout) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span> this.timeout = timeout;<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> public boolean hasTimeout() {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return timeout != NO_TIMEOUT;<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 the timeout in msec<a name="line.436"></a>
-<span class="sourceLineNo">437</span> */<a name="line.437"></a>
-<span class="sourceLineNo">438</span> public int getTimeout() {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> return timeout;<a name="line.439"></a>
+<span class="sourceLineNo">416</span> @VisibleForTesting<a name="line.416"></a>
+<span class="sourceLineNo">417</span> @InterfaceAudience.Private<a name="line.417"></a>
+<span class="sourceLineNo">418</span> protected void setNonceKey(final NonceKey nonceKey) {<a name="line.418"></a>
+<span class="sourceLineNo">419</span> this.nonceKey = nonceKey;<a name="line.419"></a>
+<span class="sourceLineNo">420</span> }<a name="line.420"></a>
+<span class="sourceLineNo">421</span><a name="line.421"></a>
+<span class="sourceLineNo">422</span> @VisibleForTesting<a name="line.422"></a>
+<span class="sourceLineNo">423</span> @InterfaceAudience.Private<a name="line.423"></a>
+<span class="sourceLineNo">424</span> public void setOwner(final String owner) {<a name="line.424"></a>
+<span class="sourceLineNo">425</span> this.owner = StringUtils.isEmpty(owner) ? null : owner;<a name="line.425"></a>
+<span class="sourceLineNo">426</span> }<a name="line.426"></a>
+<span class="sourceLineNo">427</span><a name="line.427"></a>
+<span class="sourceLineNo">428</span> public void setOwner(final User owner) {<a name="line.428"></a>
+<span class="sourceLineNo">429</span> assert owner != null : "expected owner to be not null";<a name="line.429"></a>
+<span class="sourceLineNo">430</span> setOwner(owner.getShortName());<a name="line.430"></a>
+<span class="sourceLineNo">431</span> }<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span> /**<a name="line.433"></a>
+<span class="sourceLineNo">434</span> * Called on store load to initialize the Procedure internals after<a name="line.434"></a>
+<span class="sourceLineNo">435</span> * the creation/deserialization.<a name="line.435"></a>
+<span class="sourceLineNo">436</span> */<a name="line.436"></a>
+<span class="sourceLineNo">437</span> @InterfaceAudience.Private<a name="line.437"></a>
+<span class="sourceLineNo">438</span> protected void setSubmittedTime(final long submittedTime) {<a name="line.438"></a>
+<span class="sourceLineNo">439</span> this.submittedTime = submittedTime;<a name="line.439"></a>
<span class="sourceLineNo">440</span> }<a name="line.440"></a>
<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span> /**<a name="line.442"></a>
-<span class="sourceLineNo">443</span> * Called on store load to initialize the Procedure internals after<a name="line.443"></a>
-<span class="sourceLineNo">444</span> * the creation/deserialization.<a name="line.444"></a>
-<span class="sourceLineNo">445</span> */<a name="line.445"></a>
-<span class="sourceLineNo">446</span> @InterfaceAudience.Private<a name="line.446"></a>
-<span class="sourceLineNo">447</span> protected void setLastUpdate(final long lastUpdate) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span> this.lastUpdate = lastUpdate;<a name="line.448"></a>
-<span class="sourceLineNo">449</span> }<a name="line.449"></a>
-<span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span> /**<a name="line.451"></a>
-<span class="sourceLineNo">452</span> * Called by ProcedureExecutor after each time a procedure step is executed.<a name="line.452"></a>
-<span class="sourceLineNo">453</span> */<a name="line.453"></a>
-<span class="sourceLineNo">454</span> @InterfaceAudience.Private<a name="line.454"></a>
-<span class="sourceLineNo">455</span> protected void updateTimestamp() {<a name="line.455"></a>
-<span class="sourceLineNo">456</span> this.lastUpdate = EnvironmentEdgeManager.currentTime();<a name="line.456"></a>
-<span class="sourceLineNo">457</span> }<a name="line.457"></a>
-<span class="sourceLineNo">458</span><a name="line.458"></a>
-<span class="sourceLineNo">459</span> public long getLastUpdate() {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return lastUpdate;<a name="line.460"></a>
+<span class="sourceLineNo">442</span> // ==========================================================================<a name="line.442"></a>
+<span class="sourceLineNo">443</span> // runtime state - timeout related<a name="line.443"></a>
+<span class="sourceLineNo">444</span> // ==========================================================================<a name="line.444"></a>
+<span class="sourceLineNo">445</span> /**<a name="line.445"></a>
+<span class="sourceLineNo">446</span> * @param timeout timeout interval in msec<a name="line.446"></a>
+<span class="sourceLineNo">447</span> */<a name="line.447"></a>
+<span class="sourceLineNo">448</span> protected void setTimeout(final int timeout) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span> this.timeout = timeout;<a name="line.449"></a>
+<span class="sourceLineNo">450</span> }<a name="line.450"></a>
+<span class="sourceLineNo">451</span><a name="line.451"></a>
+<span class="sourceLineNo">452</span> public boolean hasTimeout() {<a name="line.452"></a>
+<span class="sourceLineNo">453</span> return timeout != NO_TIMEOUT;<a name="line.453"></a>
+<span class="sourceLineNo">454</span> }<a name="line.454"></a>
+<span class="sourceLineNo">455</span><a name="line.455"></a>
+<span class="sourceLineNo">456</span> /**<a name="line.456"></a>
+<span class="sourceLineNo">457</span> * @return the timeout in msec<a name="line.457"></a>
+<span class="sourceLineNo">458</span> */<a name="line.458"></a>
+<span class="sourceLineNo">459</span> public int getTimeout() {<a name="line.459"></a>
+<span class="sourceLineNo">460</span> return timeout;<a name="line.460"></a>
<span class="sourceLineNo">461</span> }<a name="line.461"></a>
<span class="sourceLineNo">462</span><a name="line.462"></a>
<span class="sourceLineNo">463</span> /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span> * Timeout of the next timeout.<a name="line.464"></a>
-<span class="sourceLineNo">465</span> * Called by the ProcedureExecutor if the procedure has timeout set and<a name="line.465"></a>
-<span class="sourceLineNo">466</span> * the procedure is in the waiting queue.<a name="line.466"></a>
-<span class="sourceLineNo">467</span> * @return the timestamp of the next timeout.<a name="line.467"></a>
-<span class="sourceLineNo">468</span> */<a name="line.468"></a>
-<span class="sourceLineNo">469</span> @InterfaceAudience.Private<a name="line.469"></a>
-<span class="sourceLineNo">470</span> protected long getTimeoutTimestamp() {<a name="line.470"></a>
-<span class="sourceLineNo">471</span> return getLastUpdate() + getTimeout();<a name="line.471"></a>
-<span class="sourceLineNo">472</span> }<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span> // ==========================================================================<a name="line.474"></a>
-<span class="sourceLineNo">475</span> // runtime state<a name="line.475"></a>
-<span class="sourceLineNo">476</span> // ==========================================================================<a name="line.476"></a>
-<span class="sourceLineNo">477</span> /**<a name="line.477"></a>
-<span class="sourceLineNo">478</span> * @return the time elapsed between the last update and the start time of the procedure.<a name="line.478"></a>
-<span class="sourceLineNo">479</span> */<a name="line.479"></a>
-<span class="sourceLineNo">480</span> public long elapsedTime() {<a name="line.480"></a>
-<span class="sourceLineNo">481</span> return getLastUpdate() - getStartTime();<a name="line.481"></a>
+<span class="sourceLineNo">464</span> * Called on store load to initialize the Procedure internals after<a name="line.464"></a>
+<span class="sourceLineNo">465</span> * the creation/deserialization.<a name="line.465"></a>
+<span class="sourceLineNo">466</span> */<a name="line.466"></a>
+<span class="sourceLineNo">467</span> @InterfaceAudience.Private<a name="line.467"></a>
+<span class="sourceLineNo">468</span> protected void setLastUpdate(final long lastUpdate) {<a name="line.468"></a>
+<span class="sourceLineNo">469</span> this.lastUpdate = lastUpdate;<a name="line.469"></a>
+<span class="sourceLineNo">470</span> }<a name="line.470"></a>
+<span class="sourceLineNo">471</span><a name="line.471"></a>
+<span class="sourceLineNo">472</span> /**<a name="line.472"></a>
+<span class="sourceLineNo">473</span> * Called by ProcedureExecutor after each time a procedure step is executed.<a name="line.473"></a>
+<span class="sourceLineNo">474</span> */<a name="line.474"></a>
+<span class="sourceLineNo">475</span> @InterfaceAudience.Private<a name="line.475"></a>
+<span class="sourceLineNo">476</span> protected void updateTimestamp() {<a name="line.476"></a>
+<span class="sourceLineNo">477</span> this.lastUpdate = EnvironmentEdgeManager.currentTime();<a name="line.477"></a>
+<span class="sourceLineNo">478</span> }<a name="line.478"></a>
+<span class="sourceLineNo">479</span><a name="line.479"></a>
+<span class="sourceLineNo">480</span> public long getLastUpdate() {<a name="line.480"></a>
+<span class="sourceLineNo">481</span> return lastUpdate;<a name="line.481"></a>
<span class="sourceLineNo">482</span> }<a name="line.482"></a>
<span class="sourceLineNo">483</span><a name="line.483"></a>
<span class="sourceLineNo">484</span> /**<a name="line.484"></a>
-<span class="sourceLineNo">485</span> * @return the serialized result if any, otherwise null<a name="line.485"></a>
-<span class="sourceLineNo">486</span> */<a name="line.486"></a>
-<span class="sourceLineNo">487</span> public byte[] getResult() {<a name="line.487"></a>
-<span class="sourceLineNo">488</span> return result;<a name="line.488"></a>
-<span class="sourceLineNo">489</span> }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span> /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span> * The procedure may leave a "result" on completion.<a name="line.492"></a>
-<span class="sourceLineNo">493</span> * @param result the serialized result that will be passed to the client<a name="line.493"></a>
-<span class="sourceLineNo">494</span> */<a name="line.494"></a>
-<span class="sourceLineNo">495</span> protected void setResult(final byte[] result) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span> this.result = result;<a name="line.496"></a>
-<span class="sourceLineNo">497</span> }<a name="line.497"></a>
-<span class="sourceLineNo">498</span><a name="line.498"></a>
-<span class="sourceLineNo">499</span> // ==============================================================================================<a name="line.499"></a>
-<span class="sourceLineNo">500</span> // Runtime state, updated every operation by the ProcedureExecutor<a name="line.500"></a>
-<span class="sourceLineNo">501</span> //<a name="line.501"></a>
-<span class="sourceLineNo">502</span> // There is always 1 thread at the time operating on the state of the procedure.<a name="line.502"></a>
-<span class="sourceLineNo">503</span> // The ProcedureExecutor may check and set states, or some Procecedure may<a name="line.503"></a>
-<span class="sourceLineNo">504</span> // update its own state. but no concurrent updates. we use synchronized here<a name="line.504"></a>
-<span class="sourceLineNo">505</span> // just because the procedure can get scheduled on different executor threads on each step.<a name="line.505"></a>
-<span class="sourceLineNo">506</span> // ==============================================================================================<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span> /**<a name="line.508"></a>
-<span class="sourceLineNo">509</span> * Procedure has states which are defined in proto file. At some places in the code, we<a name="line.509"></a>
-<span class="sourceLineNo">510</span> * need to determine more about those states. Following Methods help determine:<a name="line.510"></a>
-<span class="sourceLineNo">511</span> *<a name="line.511"></a>
-<span class="sourceLineNo">512</span> * {@link #isFailed()} - A procedure has executed at least once and has failed. The procedure<a name="line.512"></a>
-<span class="sourceLineNo">513</span> * may or may not have rolled back yet. Any procedure in FAILED state<a name="line.513"></a>
-<span class="sourceLineNo">514</span> * will be eventually moved to ROLLEDBACK state.<a name="line.514"></a>
-<span class="sourceLineNo">515</span> *<a name="line.515"></a>
-<span class="sourceLineNo">516</span> * {@link #isSuccess()} - A procedure is completed successfully without any exception.<a name="line.516"></a>
-<span class="sourceLineNo">517</span> *<a name="line.517"></a>
-<span class="sourceLineNo">518</span> * {@link #isFinished()} - As a procedure in FAILED state will be tried forever for rollback, only<a name="line.518"></a>
-<span class="sourceLineNo">519</span> * condition when scheduler/ executor will drop procedure from further<a name="line.519"></a>
-<span class="sourceLineNo">520</span> * processing is when procedure state is ROLLEDBACK or isSuccess()<a name="line.520"></a>
-<span class="sourceLineNo">521</span> * returns true. This is a terminal state of the procedure.<a name="line.521"></a>
-<span class="sourceLineNo">522</span> *<a name="line.522"></a>
-<span class="sourceLineNo">523</span> * {@link #isWaiting()} - Procedure is in one of the two waiting states ({@link<a name="line.523"></a>
-<span class="sourceLineNo">524</span> * ProcedureState#WAITING}, {@link ProcedureState#WAITING_TIMEOUT}).<a name="line.524"></a>
-<span class="sourceLineNo">525</span> */<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span> /**<a name="line.527"></a>
-<span class="sourceLineNo">528</span> * @return true if the procedure is in a RUNNABLE state.<a name="line.528"></a>
-<span class="sourceLineNo">529</span> */<a name="line.529"></a>
-<span class="sourceLineNo">530</span> protected synchronized boolean isRunnable() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span> return state == ProcedureState.RUNNABLE;<a name="line.531"></a>
-<span class="sourceLineNo">532</span> }<a name="line.532"></a>
-<span class="sourceLineNo">533</span><a name="line.533"></a>
-<span class="sourceLineNo">534</span> public synchronized boolean isInitializing() {<a name="line.534"></a>
-<span class="sourceLineNo">535</span> return state == ProcedureState.INITIALIZING;<a name="line.535"></a>
-<span class="sourceLineNo">536</span> }<a name="line.536"></a>
-<span class="sourceLineNo">537</span><a name="line.537"></a>
-<span class="sourceLineNo">538</span> /**<a name="line.538"></a>
-<span class="sourceLineNo">539</span> * @return true if the procedure has failed. It may or may not have rolled back.<a name="line.539"></a>
-<span class="sourceLineNo">540</span> */<a name="line.540"></a>
-<span class="sourceLineNo">541</span> public synchronized boolean isFailed() {<a name="line.541"></a>
-<span class="sourceLineNo">542</span> return state == ProcedureState.FAILED || state == ProcedureState.ROLLEDBACK;<a name="line.542"></a>
-<span class="sourceLineNo">543</span> }<a name="line.543"></a>
-<span class="sourceLineNo">544</span><a name="line.544"></a>
-<span class="sourceLineNo">545</span> /**<a name="line.545"></a>
-<span class="sourceLineNo">546</span> * @return true if the procedure is finished successfully.<a name="line.546"></a>
-<span class="sourceLineNo">547</span> */<a name="line.547"></a>
-<span class="sourceLineNo">548</span> public synchronized boolean isSuccess() {<a name="line.548"></a>
-<span class="sourceLineNo">549</span> return state == ProcedureState.SUCCESS && !hasException();<a name="line.549"></a>
-<span class="sourceLineNo">550</span> }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span> /**<a name="line.552"></a>
-<span class="sourceLineNo">553</span> * @return true if the procedure is finished. The Procedure may be completed successfully or<a name="line.553"></a>
-<span class="sourceLineNo">554</span> * rolledback.<a name="line.554"></a>
-<span class="sourceLineNo">555</span> */<a name="line.555"></a>
-<span class="sourceLineNo">556</span> public synchronized boolean isFinished() {<a name="line.556"></a>
-<span class="sourceLineNo">557</span> return isSuccess() || state == ProcedureState.ROLLEDBACK;<a name="line.557"></a>
-<span class="sourceLineNo">558</span> }<a name="line.558"></a>
-<span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span> /**<a name="line.560"></a>
-<span class="sourceLineNo">561</span> * @return true if the procedure is waiting for a child to finish or for an external event.<a name="line.561"></a>
-<span class="sourceLineNo">562</span> */<a name="line.562"></a>
-<span class="sourceLineNo">563</span> public synchronized boolean isWaiting() {<a name="line.563"></a>
-<span class="sourceLineNo">564</span> switch (state) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span> case WAITING:<a name="line.565"></a>
-<span class="sourceLineNo">566</span> case WAITING_TIMEOUT:<a name="line.566"></a>
-<span class="sourceLineNo">567</span> return true;<a name="line.567"></a>
-<span class="sourceLineNo">568</span> default:<a name="line.568"></a>
-<span class="sourceLineNo">569</span> break;<a name="line.569"></a>
-<span class="sourceLineNo">570</span> }<a name="line.570"></a>
-<span class="sourceLineNo">571</span> return false;<a name="line.571"></a>
-<span class="sourceLineNo">572</span> }<a name="line.572"></a>
-<span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span> @VisibleForTesting<a name="line.574"></a>
-<span class="sourceLineNo">575</span> @InterfaceAudience.Private<a name="line.575"></a>
-<span class="sourceLineNo">576</span> protected synchronized void setState(final ProcedureState state) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span> this.state = state;<a name="line.577"></a>
-<span class="sourceLineNo">578</span> updateTimestamp();<a name="line.578"></a>
+<span class="sourceLineNo">485</span> * Timeout of the next timeout.<a name="line.485"></a>
+<span class="sourceLineNo">486</span> * Called by the ProcedureExecutor if the procedure has timeout set and<a name="line.486"></a>
+<span class="sourceLineNo">487</span> * the procedure is in the waiting queue.<a name="line.487"></a>
+<span class="sourceLineNo">488</span> * @return the timestamp of the next timeout.<a name="line.488"></a>
+<span class="sourceLineNo">489</span> */<a name="line.489"></a>
+<span class="sourceLineNo">490</span> @InterfaceAudience.Private<a name="line.490"></a>
+<span class="sourceLineNo">491</span> protected long getTimeoutTimestamp() {<a name="line.491"></a>
+<span class="sourceLineNo">492</span> return getLastUpdate() + getTimeout();<a name="line.492"></a>
+<span class="sourceLineNo">493</span> }<a name="line.493"></a>
+<span class="sourceLineNo">494</span><a name="line.494"></a>
+<span class="sourceLineNo">495</span> // ==========================================================================<a name="line.495"></a>
+<span class="sourceLineNo">496</span> // runtime state<a name="line.496"></a>
+<span class="sourceLineNo">497</span> // ==========================================================================<a name="line.497"></a>
+<span class="sourceLineNo">498</span> /**<a name="line.498"></a>
+<span class="sourceLineNo">499</span> * @return the time elapsed between the last update and the start time of the procedure.<a name="line.499"></a>
+<span class="sourceLineNo">500</span> */<a name="line.500"></a>
+<span class="sourceLineNo">501</span> public long elapsedTime() {<a name="line.501"></a>
+<span class="sourceLineNo">502</span> return getLastUpdate() - getSubmittedTime();<a name="line.502"></a>
+<span class="sourceLineNo">503</span> }<a name="line.503"></a>
+<span class="sourceLineNo">504</span><a name="line.504"></a>
+<span class="sourceLineNo">505</span> /**<a name="line.505"></a>
+<span class="sourceLineNo">506</span> * @return the serialized result if any, otherwise null<a name="line.506"></a>
+<span class="sourceLineNo">507</span> */<a name="line.507"></a>
+<span class="sourceLineNo">508</span> public byte[] getResult() {<a name="line.508"></a>
+<span class="sourceLineNo">509</span> return result;<a name="line.509"></a>
+<span class="sourceLineNo">510</span> }<a name="line.510"></a>
+<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">512</span> /**<a name="line.512"></a>
+<span class="sourceLineNo">513</span> * The procedure may leave a "result" on completion.<a name="line.513"></a>
+<span class="sourceLineNo">514</span> * @param result the serialized result that will be passed to the client<a name="line.514"></a>
+<span class="sourceLineNo">515</span> */<a name="line.515"></a>
+<span class="sourceLineNo">516</span> protected void setResult(final byte[] result) {<a name="line.516"></a>
+<span class="sourceLineNo">517</span> this.result = result;<a name="line.517"></a>
+<span class="sourceLineNo">518</span> }<a name="line.518"></a>
+<span class="sourceLineNo">519</span><a name="line.519"></a>
+<span class="sourceLineNo">520</span> // ==============================================================================================<a name="line.520"></a>
+<span class="sourceLineNo">521</span> // Runtime state, updated every operation by the ProcedureExecutor<a name="line.521"></a>
+<span class="sourceLineNo">522</span> //<a name="line.522"></a>
+<span class="sourceLineNo">523</span> // There is always 1 thread at the time operating on the state of the procedure.<a name="line.523"></a>
+<span class="sourceLineNo">524</span> // The ProcedureExecutor may check and set states, or some Procecedure may<a name="line.524"></a>
+<span class="sourceLineNo">525</span> // update its own state. but no concurrent updates. we use synchronized here<a name="line.525"></a>
+<span class="sourceLineNo">526</span> // just because the procedure can get scheduled on different executor threads on each step.<a name="line.526"></a>
+<span class="sourceLineNo">527</span> // ==============================================================================================<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span> /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span> * Procedure has states which are defined in proto file. At some places in the code, we<a name="line.530"></a>
+<span class="sourceLineNo">531</span> * need to determine more about those states. Following Methods help determine:<a name="line.531"></a>
+<span class="sourceLineNo">532</span> *<a name="line.532"></a>
+<span class="sourceLineNo">533</span> * {@link #isFailed()} - A procedure has executed at least once and has failed. The procedure<a name="line.533"></a>
+<span class="sourceLineNo">534</span> * may or may not have rolled back yet. Any procedure in FAILED state<a name="line.534"></a>
+<span class="sourceLineNo">535</span> * will be eventually moved to ROLLEDBACK state.<a name="line.535"></a>
+<span class="sourceLineNo">536</span> *<a name="line.536"></a>
+<span class="sourceLineNo">537</span> * {@link #isSuccess()} - A procedure is completed successfully without any exception.<a name="line.537"></a>
+<span class="sourceLineNo">538</span> *<a name="line.538"></a>
+<span class="sourceLineNo">539</span> * {@link #isFinished()} - As a procedure in FAILED state will be tried forever for rollback, only<a name="line.539"></a>
+<span class="sourceLineNo">540</span> * condition when scheduler/ executor will drop procedure from further<a name="line.540"></a>
+<span class="sourceLineNo">541</span> * processing is when procedure state is ROLLEDBACK or isSuccess()<a name="line.541"></a>
+<span class="sourceLineNo">542</span> * returns true. This is a terminal state of the procedure.<a name="line.542"></a>
+<span class="sourceLineNo">543</span> *<a name="line.543"></a>
+<span class="sourceLineNo">544</span> * {@link #isWaiting()} - Procedure is in one of the two waiting states ({@link<a name="line.544"></a>
+<span class="sourceLineNo">545</span> * ProcedureState#WAITING}, {@link ProcedureState#WAITING_TIMEOUT}).<a name="line.545"></a>
+<span class="sourceLineNo">546</span> */<a name="line.546"></a>
+<span class="sourceLineNo">547</span><a name="line.547"></a>
+<span class="sourceLineNo">548</span> /**<a name="line.548"></a>
+<span class="sourceLineNo">549</span> * @return true if the procedure is in a RUNNABLE state.<a name="line.549"></a>
+<span class="sourceLineNo">550</span> */<a name="line.550"></a>
+<span class="sourceLineNo">551</span> protected synchronized boolean isRunnable() {<a name="line.551"></a>
+<span class="sourceLineNo">552</span> return state == ProcedureState.RUNNABLE;<a name="line.552"></a>
+<span class="sourceLineNo">553</span> }<a name="line.553"></a>
+<span class="sourceLineNo">554</span><a name="line.554"></a>
+<span class="sourceLineNo">555</span> public synchronized boolean isInitializing() {<a name="line.555"></a>
+<span class="sourceLineNo">556</span> return state == ProcedureState.INITIALIZING;<a name="line.556"></a>
+<span class="sourceLineNo">557</span> }<a name="line.557"></a>
+<span class="sourceLineNo">558</span><a name="line.558"></a>
+<span class="sourceLineNo">559</span> /**<a name="line.559"></a>
+<span class="sourceLineNo">560</span> * @return true if the procedure has failed. It may or may not have rolled back.<a name="line.560"></a>
+<span class="sourceLineNo">561</span> */<a name="line.561"></a>
+<span class="sourceLineNo">562</span> public synchronized boolean isFailed() {<a name="line.562"></a>
+<span class="sourceLineNo">563</span> return state == ProcedureState.FAILED || state == ProcedureState.ROLLEDBACK;<a name="line.563"></a>
+<span class="sourceLineNo">564</span> }<a name="line.564"></a>
+<span class="sourceLineNo">565</span><a name="line.565"></a>
+<span class="sourceLineNo">566</span> /**<a name="line.566"></a>
+<span class="sourceLineNo">567</span> * @return true if the procedure is finished successfully.<a name="line.567"></a>
+<span class="sourceLineNo">568</span> */<a name="line.568"></a>
+<span class="sourceLineNo">569</span> public synchronized boolean isSuccess() {<a name="line.569"></a>
+<span class="sourceLineNo">570</span> return state == ProcedureState.SUCCESS && !hasException();<a name="line.570"></a>
+<span class="sourceLineNo">571</span> }<a name="line.571"></a>
+<span class="sourceLineNo">572</span><a name="line.572"></a>
+<span class="sourceLineNo">573</span> /**<a name="line.573"></a>
+<span class="sourceLineNo">574</span> * @return true if the procedure is finished. The Procedure may be completed successfully or<a name="line.574"></a>
+<span class="sourceLineNo">575</span> * rolledback.<a name="line.575"></a>
+<span class="sourceLineNo">576</span> */<a name="line.576"></a>
+<span class="sourceLineNo">577</span> public synchronized boolean isFinished() {<a name="line.577"></a>
+<span class="sourceLineNo">578</span> return isSuccess() || state == ProcedureState.ROLLEDBACK;<a name="line.578"></a>
<span class="sourceLineNo">579</span> }<a name="line.579"></a>
<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span> @InterfaceAudience.Private<a name="line.581"></a>
-<span class="sourceLineNo">582</span> protected synchronized ProcedureState getState() {<a name="line.582"></a>
-<span class="sourceLineNo">583</span> return state;<a name="line.583"></a>
-<span class="sourceLineNo">584</span> }<a name="line.584"></a>
-<span class="sourceLineNo">585</span><a name="line.585"></a>
-<span class="sourceLineNo">586</span> protected void setFailure(final String source, final Throwable cause) {<a name="line.586"></a>
-<span class="sourceLineNo">587</span> setFailure(new RemoteProcedureException(source, cause));<a name="line.587"></a>
-<span class="sourceLineNo">588</span> }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span> protected synchronized void setFailure(final RemoteProcedureException exception) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span> this.exception = exception;<a name="line.591"></a>
-<span class="sourceLineNo">592</span> if (!isFinished()) {<a name="line.592"></a>
-<span class="sourceLineNo">593</span> setState(ProcedureState.FAILED);<a name="line.593"></a>
-<span class="sourceLineNo">594</span> }<a name="line.594"></a>
-<span class="sourceLineNo">595</span> }<a name="line.595"></a>
-<span class="sourceLineNo">596</span><a name="line.596"></a>
-<span class="sourceLineNo">597</span> protected void setAbortFailure(final String source, final String msg) {<a name="line.597"></a>
-<span class="sourceLineNo">598</span> setFailure(source, new ProcedureAbortedException(msg));<a name="line.598"></a>
-<span class="sourceLineNo">599</span> }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span> /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span> * Called by the ProcedureExecutor when the timeout set by setTimeout() is expired.<a name="line.602"></a>
-<span class="sourceLineNo">603</span> * @return true to let the framework handle the timeout as abort,<a name="line.603"></a>
-<span class="sourceLineNo">604</span> * false in case the procedure handled the timeout itself.<a name="line.604"></a>
-<span class="sourceLineNo">605</span> */<a name="line.605"></a>
-<span class="sourceLineNo">606</span> protected synchronized boolean setTimeoutFailure(final TEnvironment env) {<a name="line.606"></a>
-<span class="sourceLineNo">607</span> if (state == ProcedureState.WAITING_TIMEOUT) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span> long timeDiff = EnvironmentEdgeManager.currentTime() - lastUpdate;<a name="line.608"></a>
-<span class="sourceLineNo">609</span> setFailure("ProcedureExecutor", new TimeoutIOException(<a name="line.609"></a>
-<span class="sourceLineNo">610</span> "Operation timed out after " + StringUtils.humanTimeDiff(timeDiff)));<a name="line.610"></a>
-<span class="sourceLineNo">611</span> return true;<a name="line.611"></a>
-<span class="sourceLineNo">612</span> }<a name="line.612"></a>
-<span class="sourceLineNo">613</span> return false;<a name="line.613"></a>
-<span class="sourceLineNo">614</span> }<a name="line.614"></a>
-<span class="sourceLineNo">615</span><a name="line.615"></a>
-<span class="sourceLineNo">616</span> public synchronized boolean hasException() {<a name="line.616"></a>
-<span class="sourceLineNo">617</span> return exception != null;<a name="line.617"></a>
-<span class="sourceLineNo">618</span> }<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span> public synchronized RemoteProcedureException getException() {<a name="line.620"></a>
-<span class="sourceLineNo">621</span> return exception;<a name="line.621"></a>
-<span class="sourceLineNo">622</span> }<a name="line.622"></a>
-<span class="sourceLineNo">623</span><a name="line.623"></a>
-<span class="sourceLineNo">624</span> /**<a name="line.624"></a>
-<span class="sourceLineNo">625</span> * Called by the ProcedureExecutor on procedure-load to restore the latch state<a name="line.625"></a>
+<span class="sourceLineNo">581</span> /**<a name="line.581"></a>
+<span class="sourceLineNo">582</span> * @return true if the procedure is waiting for a child to finish or for an external event.<a name="line.582"></a>
+<span class="sourceLineNo">583</span> */<a name="line.583"></a>
+<span class="sourceLineNo">584</span> public synchronized boolean isWaiting() {<a name="line.584"></a>
+<span class="sourceLineNo">585</span> switch (state) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span> case WAITING:<a name="line.586"></a>
+<span class="sourceLineNo">587</span> case WAITING_TIMEOUT:<a name="line.587"></a>
+<span class="sourceLineNo">588</span> return true;<a name="line.588"></a>
+<span class="sourceLineNo">589</span> default:<a name="line.589"></a>
+<span class="sourceLineNo">590</span> break;<a name="line.590"></a>
+<span class="sourceLineNo">591</span> }<a name="line.591"></a>
+<span class="sourceLineNo">592</span> return false;<a name="line.592"></a>
+<span class="sourceLineNo">593</span> }<a name="line.593"></a>
+<span class="sourceLineNo">594</span><a name="line.594"></a>
+<span class="sourceLineNo">595</span> @VisibleForTesting<a name="line.595"></a>
+<span class="sourceLineNo">596</span> @InterfaceAudience.Private<a name="line.596"></a>
+<span class="sourceLineNo">597</span> protected synchronized void setState(final ProcedureState state) {<a name="line.597"></a>
+<span class="sourceLineNo">598</span> this.state = state;<a name="line.598"></a>
+<span class="sourceLineNo">599</span> updateTimestamp();<a name="line.599"></a>
+<span class="sourceLineNo">600</span> }<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span> @InterfaceAudience.Private<a name="line.602"></a>
+<span class="sourceLineNo">603</span> protected synchronized ProcedureState getState() {<a name="line.603"></a>
+<span class="sourceLineNo">604</span> return state;<a name="line.604"></a>
+<span class="sourceLineNo">605</span> }<a name="line.605"></a>
+<span class="sourceLineNo">606</span><a name="line.606"></a>
+<span class="sourceLineNo">607</span> protected void setFailure(final String source, final Throwable cause) {<a name="line.607"></a>
+<span class="sourceLineNo">608</span> setFailure(new RemoteProcedureException(source, cause));<a name="line.608"></a>
+<span class="sourceLineNo">609</span> }<a name="line.609"></a>
+<span class="sourceLineNo">610</span><a name="line.610"></a>
+<span class="sourceLineNo">611</span> protected synchronized void setFailure(final RemoteProcedureException exception) {<a name="line.611"></a>
+<span class="sourceLineNo">612</span> this.exception = exception;<a name="line.612"></a>
+<span class="sourceLineNo">613</span> if (!isFinished()) {<a name="line.613"></a>
+<span class="sourceLineNo">614</span> setState(ProcedureState.FAILED);<a name="line.614"></a>
+<span class="sourceLineNo">615</span> }<a name="line.615"></a>
+<span class="sourceLineNo">616</span> }<a name="line.616"></a>
+<span class="sourceLineNo">617</span><a name="line.617"></a>
+<span class="sourceLineNo">618</span> protected void setAbortFailure(final String source, final String msg) {<a name="line.618"></a>
+<span class="sourceLineNo">619</span> setFailure(source, new ProcedureAbortedException(msg));<a name="line.619"></a>
+<span class="sourceLineNo">620</span> }<a name="line.620"></a>
+<span class="sourceLineNo">621</span><a name="line.621"></a>
+<span class="sourceLineNo">622</span> /**<a name="line.622"></a>
+<span class="sourceLineNo">623</span> * Called by the ProcedureExecutor when the timeout set by setTimeout() is expired.<a name="line.623"></a>
+<span class="sourceLineNo">624</span> * @return true to let the framework handle the timeout as abort,<a name="line.624"></a>
+<span class="sourceLineNo">625</span> * false in case the procedure handled the timeout itself.<a name="line.625"></a>
<span class="sourceLineNo">626</span> */<a name="line.626"></a>
-<span class="sourceLineNo">627</span> @InterfaceAudience.Private<a name="line.627"></a>
-<span class="sourceLineNo">628</span> protected synchronized void setChildrenLatch(final int numChildren) {<a name="line.628"></a>
-<span class="sourceLineNo">629</span> this.childrenLatch = numChildren;<a name="line.629"></a>
-<span class="sourceLineNo">630</span> }<a name="line.630"></a>
-<span class="sourceLineNo">631</span><a name="line.631"></a>
-<span class="sourceLineNo">632</span> /**<a name="line.632"></a>
-<span class="sourceLineNo">633</span> * Called by the ProcedureExecutor on procedure-load to restore the latch state<a name="line.633"></a>
-<span class="sourceLineNo">634</span> */<a name="line.634"></a>
-<span class="sourceLineNo">635</span> @InterfaceAudience.Private<a name="line.635"></a>
-<span class="sourceLineNo">636</span> protected synchronized void incChildrenLatch() {<a name="line.636"></a>
-<span class="sourceLineNo">637</span> // TODO: can this be inferred from the stack? I think so...<a name="line.637"></a>
-<span class="sourceLineNo">638</span> this.childrenLatch++;<a name="line.638"></a>
+<span class="sourceLineNo">627</span> protected synchronized boolean setTimeoutFailure(final TEnvironment env) {<a name="line.627"></a>
+<span class="sourceLineNo">628</span> if (state == ProcedureState.WAITING_TIMEOUT) {<a name="line.628"></a>
+<span class="sourceLineNo">629</span> long timeDiff = EnvironmentEdgeManager.currentTime() - lastUpdate;<a name="line.629"></a>
+<span class="sourceLineNo">630</span> setFailure("ProcedureExecutor", new TimeoutIOException(<a name="line.630"></a>
+<span class="sourceLineNo">631</span> "Operation timed out after " + StringUtils.humanTimeDiff(timeDiff)));<a name="line.631"></a>
+<span class="sourceLineNo">632</span> return true;<a name="line.632"></a>
+<span class="sourceLineNo">633</span> }<a name="line.633"></a>
+<span class="sourceLineNo">634</span> return false;<a name="line.634"></a>
+<span class="sourceLineNo">635</span> }<a name="line.635"></a>
+<span class="sourceLineNo">636</span><a name="line.636"></a>
+<span class="sourceLineNo">637</span> public synchronized boolean hasException() {<a name="line.637"></a>
+<span class="sourceLineNo">638</span> return exception != null;<a name="line.638"></a>
<span class="sourceLineNo">639</span> }<a name="line.639"></a>
<span class="sourceLineNo">640</span><a name="line.640"></a>
-<span class="sourceLineNo">641</span> /**<a name="line.641"></a>
-<span class="sourceLineNo">642</span> * Called by the ProcedureExecutor to notify that one of the sub-procedures has completed.<a name="line.642"></a>
-<span class="sourceLineNo">643</span> */<a name="line.643"></a>
-<span class="sourceLineNo">644</span> @InterfaceAudience.Private<a name="line.644"></a>
-<span class="sourceLineNo">645</span> protected synchronized boolean childrenCountDown() {<a name="line.645"></a>
-<span class="sourceLineNo">646</span> assert childrenLatch > 0: this;<a name="line.646"></a>
-<span class="sourceLineNo">647</span> return --childrenLatch == 0;<a name="line.647"></a>
-<span class="sourceLineNo">648</span> }<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span> @InterfaceAudience.Private<a name="line.650"></a>
-<span class="sourceLineNo">651</span> protected synchronized boolean hasChildren() {<a name="line.651"></a>
-<span class="sourceLineNo">652</span> return childrenLatch > 0;<a name="line.652"></a>
-<span class="sourceLineNo">653</span> }<a name="line.653"></a>
-<span class="sourceLineNo">654</span><a name="line.654"></a>
-<span class="sourceLineNo">655</span> @InterfaceAudience.Private<a name="line.655"></a>
-<span class="sourceLineNo">656</span> protected synchronized int getChildrenLatch() {<a name="line.656"></a>
-<span class="sourceLineNo">657</span> return childrenLatch;<a name="line.657"></a>
-<span class="sourceLineNo">658</span> }<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span> /**<a name="line.660"></a>
-<span class="sourceLineNo">661</span> * Called by the RootProcedureState on procedure execution.<a name="line.661"></a>
-<span class="sourceLineNo">662</span> * Each procedure store its stack-index positions.<a name="line.662"></a>
-<span class="sourceLineNo">663</span> */<a name="line.663"></a>
-<span class="sourceLineNo">664</span> @InterfaceAudience.Private<a name="line.664"></a>
-<span class="sourceLineNo">665</span> protected synchronized void addStackIndex(final int index) {<a name="line.665"></a>
-<span class="sourceLineNo">666</span> if (stackIndexes == null) {<a name="line.666"></a>
-<span class="sourceLineNo">667</span> stackIndexes = new int[] { index };<a name="line.667"></a>
-<span class="sourceLineNo">668</span> } else {<a name="line.668"></a>
-<span class="sourceLineNo">669</span> int count = stackIndexes.length;<a name="line.669"></a>
-<span class="sourceLineNo">670</span> stackIndexes = Arrays.copyOf(stackIndexes, count + 1);<a name="line.670"></a>
-<span class="sourceLineNo">671</span> stackIndexes[count] = index;<a name="line.671"></a>
-<span class="sourceLineNo">672</span> }<a name="line.672"></a>
-<span class="sourceLineNo">673</span> }<a name="line.673"></a>
-<span class="sourceLineNo">674</span><a name="line.674"></a>
-<span class="sourceLineNo">675</span> @InterfaceAudience.Private<a name="line.675"></a>
-<span class="sourceLineNo">676</span> protected synchronized boolean removeStackIndex() {<a name="line.676"></a>
-<span class="sourceLineNo">677</span> if (stackIndexes != null && stackIndexes.length > 1) {<a name="line.677"></a>
-<span class="sourceLineNo">678</span> stackIndexes = Arrays.copyOf(stackIndexes, stackIndexes.length - 1);<a name="line.678"></a>
-<span class="sourceLineNo">679</span> return false;<a name="line.679"></a>
-<span class="sourceLineNo">680</span> } else {<a name="line.680"></a>
-<span class="sourceLineNo">681</span> stackIndexes = null;<a name="line.681"></a>
-<span class="sourceLineNo">682</span> return true;<a name="line.682"></a>
-<span class="sourceLineNo">683</span> }<a name="line.683"></a>
-<span class="sourceLineNo">684</span> }<a name="line.684"></a>
-<span class="sourceLineNo">685</span><a name="line.685"></a>
-<span class="sourceLineNo">686</span> /**<a name="line.686"></a>
-<span class="sourceLineNo">687</span> * Called on store load to initialize the Procedure internals after<a name="line.687"></a>
-<span class="sourceLineNo">688</span> * the creation/deserialization.<a name="line.688"></a>
-<span class="sourceLineNo">689</span> */<a name="line.689"></a>
-<span class="sourceLineNo">690</span> @InterfaceAudience.Private<a name="line.690"></a>
-<span class="sourceLineNo">691</span> protected synchronized void setStackIndexes(final List<Integer> stackIndexes) {<a name="line.691"></a>
-<span class="sourceLineNo">692</span> this.stackIndexes = new int[stackIndexes.size()];<a name="line.692"></a>
-<span class="sourceLineNo">693</span> for (int i = 0; i < this.stackIndexes.length; ++i) {<a name="line.693"></a>
-<span class="sourceLineNo">694</span> this.stackIndexes[i] = stackIndexes.get(i);<a name="line.694"></a>
-<span class="sourceLineNo">695</span> }<a name="line.695"></a>
-<span class="sourceLineNo">696</span> }<a name="line.696"></a>
-<span class="sourceLineNo">697</span><a name="line.697"></a>
-<span class="sourceLineNo">698</span> @InterfaceAudience.Private<a name="line.698"></a>
-<span class="sourceLineNo">699</span> protected synchronized boolean wasExecuted() {<a name="line.699"></a>
-<span class="sourceLineNo">700</span> return stackIndexes != null;<a name="line.700"></a>
-<span class="sourceLineNo">701</span> }<a name="line.701"></a>
-<span class="sourceLineNo">702</span><a name="line.702"></a>
-<span class="sourceLineNo">703</span> @InterfaceAudience.Private<a name="line.703"></a>
-<span class="sourceLineNo">704</span> protected synchronized int[] getStackIndexes() {<a name="line.704"></a>
-<span class="sourceLineNo">705</span> return stackIndexes;<a name="line.705"></a>
-<span class="sourceLineNo">706</span> }<a name="line.706"></a>
-<span class="sourceLineNo">707</span><a name="line.707"></a>
-<span class="sourceLineNo">708</span> // ==========================================================================<a name="line.708"></a>
-<span class="sourceLineNo">709</span> // Internal methods - called by the ProcedureExecutor<a name="line.709"></a>
-<span class="sourceLineNo">710</span> // ==========================================================================<a name="line.710"></a>
-<span class="sourceLineNo">711</span><a name="line.711"></a>
-<span class="sourceLineNo">712</span> /**<a name="line.712"></a>
-<span class="sourceLineNo">713</span> * Internal method called by the ProcedureExecutor that starts the user-level code execute().<a name="line.713"></a>
-<span class="sourceLineNo">714</span> */<a name="line.714"></a>
-<span class="sourceLineNo">715</span> @InterfaceAudience.Private<a name="line.715"></a>
-<span class="sourceLineNo">716</span> protected Procedure[] doExecute(final TEnvironment env)<a name="line.716"></a>
-<span class="sourceLineNo">717</span> throws ProcedureYieldException, ProcedureSuspendedException, InterruptedException {<a name="line.717"></a>
-<span class="sourceLineNo">718</span> try {<a name="line.718"></a>
-<span class="sourceLineNo">719</span> updateTimestamp();<a name="line.719"></a>
-<span class="sourceLineNo">720</span> return execute(env);<a name="line.720"></a>
-<span class="sourceLineNo">721</span> } finally {<a name="line.721"></a>
-<span class="sourceLineNo">722</span> updateTimestamp();<a name="line.722"></a>
-<span class="sourceLineNo">723</span> }<a name="line.723"></a>
-<span class="sourceLineNo">724</span> }<a name="line.724"></a>
-<span class="sourceLineNo">725</span><a name="line.725"></a>
-<span class="sourceLineNo">726</span> /**<a name="line.726"></a>
-<span class="sourceLineNo">727</span> * Internal method called by the ProcedureExecutor that starts the user-level code rollback().<a name="line.727"></a>
-<span class="sourceLineNo">728</span> */<a name="line.728"></a>
-<span class="sourceLineNo">729</span> @InterfaceAudience.Private<a name="line.729"></a>
-<span class="sourceLineNo">730</span> protected void doRollback(final TEnvironment env)<a name="line.730"></a>
-<span class="sourceLineNo">731</span> throws IOException, InterruptedException {<a name="line.731"></a>
-<span class="sourceLineNo">732</span> try {<a name="line.732"></a>
-<span class="sourceLineNo">733</span> updateTimestamp();<a name="line.733"></a>
-<span class="sourceLineNo">734</span> rollback(env);<a name="line.734"></a>
-<span class="sourceLineNo">735</span> } finally {<a name="line.735"></a>
-<span class="sourceLineNo">736</span> updateTimestamp();<a name="line.736"></a>
-<span class="sourceLineNo">737</span> }<a name="line.737"></a>
-<span class="sourceLineNo">738</span> }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span> /**<a name="line.740"></a>
-<span class="sourceLineNo">741</span> * Internal method called by the ProcedureExecutor that starts the user-level code acquireLock().<a name="line.741"></a>
-<span class="sourceLineNo">742</span> */<a name="line.742"></a>
-<span class="sourceLineNo">743</span> @InterfaceAudience.Private<a name="line.743"></a>
-<span class="sourceLineNo">744</span> protected LockState doAcquireLock(final TEnvironment env) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span> return acquireLock(env);<a name="line.745"></a>
-<span class="sourceLineNo">746</span> }<a name="line.746"></a>
-<span class="sourceLineNo">747</span><a name="line.747"></a>
-<span class="sourceLineNo">748</span> /**<a name="line.748"></a>
-<span class="sourceLineNo">749</span> * Internal method called by the ProcedureExecutor that starts the user-level code releaseLock().<a name="line.749"></a>
-<span class="sourceLineNo">750</span> */<a name="line.750"></a>
-<span class="sourceLineNo">751</span> @InterfaceAudience.Private<a name="line.751"></a>
-<span class="sourceLineNo">752</span> protected void doReleaseLock(final TEnvironment env) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span> releaseLock(env);<a name="line.753"></a>
-<span class="sourceLineNo">754</span> }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span> @Override<a name="line.756"></a>
-<span class="sourceLineNo">757</span> public int compareTo(final Procedure other) {<a name="line.757"></a>
-<span class="sourceLineNo">758</span> return Long.compare(getProcId(), other.getProcId());<a name="line.758"></a>
+<span class="sourceLineNo">641</span> public synchronized RemoteProcedureException getException() {<a name="line.641"></a>
+<span class="sourceLineNo">642</span> return exception;<a name="line.642"></a>
+<span class="sourceLineNo">643</span> }<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span> /**<a name="line.645"></a>
+<span class="sourceLineNo">646</span> * Called by the ProcedureExecutor on procedure-load to restore the latch state<a name="line.646"></a>
+<span class="sourceLineNo">647</span> */<a name="line.647"></a>
+<span class="sourceLineNo">648</span> @InterfaceAudience.Private<a name="line.648"></a>
+<span class="sourceLineNo">649</span> protected synchronized void setChildrenLatch(final int numChildren) {<a name="line.649"></a>
+<span class="sourceLineNo">650</span> this.childrenLatch = numChildren;<a name="line.650"></a>
+<span class="sourceLineNo">651</span> }<a name="line.651"></a>
+<span class="sourceLineNo">652</span><a name="line.652"></a>
+<span class="sourceLineNo">653</span> /**<a name="line.653"></a>
+<span class="sourceLineNo">654</span> * Called by the ProcedureExecutor on procedure-load to restore the latch state<a name="line.654"></a>
+<span class="sourceLineNo">655</span> */<a name="line.655"></a>
+<span class="sourceLineNo">656</span> @InterfaceAudience.Private<a name="line.656"></a>
+<span class="sourceLineNo">657</span> protected synchronized void incChildrenLatch() {<a name="line.657"></a>
+<span class="sourceLineNo">658</span> // TODO: can this be inferred from the stack? I think so...<a name="line.658"></a>
+<span class="sourceLineNo">659</span> this.childrenLatch++;<a name="line.659"></a>
+<span class="sourceLineNo">660</span> }<a name="line.660"></a>
+<span class="sourceLineNo">661</span><a name="line.661"></a>
+<span class="sourceLineNo">662</span> /**<a name="line.662"></a>
+<span class="sourceLineNo">663</span> * Called by the ProcedureExecutor to notify that one of the sub-procedures has completed.<a name="line.663"></a>
+<span class="sourceLineNo">664</span> */<a name="line.664"></a>
+<span class="sourceLineNo">665</span> @InterfaceAudience.Private<a name="line.665"></a>
+<span class="sourceLineNo">666</span> protected synchronized boolean childrenCountDown() {<a name="line.666"></a>
+<span class="sourceLineNo">667</span> assert childrenLatch > 0: this;<a name="line.667"></a>
+<span class="sourceLineNo">668</span> return --childrenLatch == 0;<a name="line.668"></a>
+<span class="sourceLineNo">669</span> }<a name="line.669"></a>
+<span class="sourceLineNo">670</span><a name="line.670"></a>
+<span class="sourceLineNo">671</span> @InterfaceAudience.Private<a name="line.671"></a>
+<span class="sourceLineNo">672</span> protected synchronized boolean hasChildren() {<a name="line.672"></a>
+<span class="sourceLineNo">673</span> return childrenLatch > 0;<a name="line.673"></a>
+<span class="sourceLineNo">674</span> }<a name="line.674"></a>
+<span class="sourceLineNo">675</span><a name="line.675"></a>
+<span class="sourceLineNo">676</span> @InterfaceAudience.Private<a name="line.676"></a>
+<span class="sourceLineNo">677</span> protected synchronized int getChildrenLatch() {<a name="line.677"></a>
+<span class="sourceLineNo">678</span> return childrenLatch;<a name="line.678"></a>
+<span class="sourceLineNo">679</span> }<a name="line.679"></a>
+<span class="sourceLineNo">680</span><a name="line.680"></a>
+<span class="sourceLineNo">681</span> /**<a name="line.681"></a>
+<span class="sourceLineNo">682</span> * Called by the RootProcedureState on procedure execution.<a name="line.682"></a>
+<span class="sourceLineNo">683</span> * Each procedure store its stack-index positions.<a name="line.683"></a>
+<span class="sourceLineNo">684</span> */<a name="line.684"></a>
+<span class="sourceLineNo">685</span> @InterfaceAudience.Private<a name="line.685"></a>
+<span class="sourceLineNo">686</span> protected synchronized void addStackIndex(final int index) {<a name="line.686"></a>
+<span class="sourceLineNo">687</span> if (stackIndexes == null) {<a name="line.687"></a>
+<span class="sourceLineNo">688</span> stackIndexes = new int[] { index };<a name="line.688"></a>
+<span class="sourceLineNo">689</span> } else {<a name="line.689"></a>
+<span class="sourceLineNo">690</span> int count = stackIndexes.length;<a name="line.690"></a>
+<span class="sourceLineNo">691</span> stackIndexes = Arrays.copyOf(stackIndexes, count + 1);<a name="line.691"></a>
+<span class="sourceLineNo">692</span> stackIndexes[count] = index;<a name="line.692"></a>
+<span class="sourceLineNo">693</span> }<a name="line.693"></a>
+<span class="sourceLineNo">694</span> }<a name="line.694"></a>
+<span class="sourceLineNo">695</span><a name="line.695"></a>
+<span class="sourceLineNo">696</span> @InterfaceAudience.Private<a name="line.696"></a>
+<span class="sourceLineNo">697</span> protected synchronized boolean removeStackIndex() {<a name="line.697"></a>
+<span class="sourceLineNo">698</span> if (stackIndexes != null && stackIndexes.length > 1) {<a name="line.698"></a>
+<span class="sourceLineNo">699</span> stackIndexes = Arrays.copyOf(stackIndexes, stackIndexes.length - 1);<a name="line.699"></a>
+<span class="sourceLineNo">700</span> return false;<a name="line.700"></a>
+<span class="sourceLineNo">701</span> } else {<a name="line.701"></a>
+<span class="sourceLineNo">702</span> stackIndexes = null;<a name="line.702"></a>
+<span class="sourceLineNo">703
<TRUNCATED>
[37/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.
Project: http://git-wip-us.apache.org/repos/asf/hbase-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase-site/commit/a949969b
Tree: http://git-wip-us.apache.org/repos/asf/hbase-site/tree/a949969b
Diff: http://git-wip-us.apache.org/repos/asf/hbase-site/diff/a949969b
Branch: refs/heads/asf-site
Commit: a949969bf7a174fb8387b3959919def50a5bf047
Parents: dd1a198
Author: jenkins <bu...@apache.org>
Authored: Sat Apr 15 14:58:10 2017 +0000
Committer: jenkins <bu...@apache.org>
Committed: Sat Apr 15 14:58:10 2017 +0000
----------------------------------------------------------------------
acid-semantics.html | 4 +-
apache_hbase_reference_guide.pdf | 4 +-
apache_hbase_reference_guide.pdfmarks | 4 +-
apidocs/index-all.html | 4 +-
.../org/apache/hadoop/hbase/ProcedureInfo.html | 12 +-
.../hadoop/hbase/class-use/ProcedureState.html | 2 +-
.../org/apache/hadoop/hbase/ProcedureInfo.html | 20 +-
bulk-loads.html | 4 +-
checkstyle-aggregate.html | 15804 +++++++++--------
checkstyle.rss | 6 +-
coc.html | 4 +-
cygwin.html | 4 +-
dependencies.html | 4 +-
dependency-convergence.html | 4 +-
dependency-info.html | 4 +-
dependency-management.html | 4 +-
devapidocs/constant-values.html | 36 +-
devapidocs/index-all.html | 42 +-
.../org/apache/hadoop/hbase/ProcedureInfo.html | 20 +-
.../hadoop/hbase/backup/package-tree.html | 2 +-
.../hadoop/hbase/class-use/ProcedureState.html | 2 +-
.../class-use/InterfaceAudience.Private.html | 12 +-
.../hbase/classification/package-tree.html | 6 +-
.../hadoop/hbase/client/package-tree.html | 24 +-
.../hadoop/hbase/filter/package-tree.html | 12 +-
.../hadoop/hbase/io/hfile/package-tree.html | 6 +-
.../apache/hadoop/hbase/ipc/package-tree.html | 2 +-
.../hadoop/hbase/mapreduce/package-tree.html | 4 +-
.../master/MetricsAssignmentManagerSource.html | 82 +-
.../MetricsAssignmentManagerSourceImpl.html | 14 +-
.../hbase/master/locking/LockProcedure.html | 2 +-
.../hadoop/hbase/master/package-tree.html | 6 +-
.../AbstractStateMachineNamespaceProcedure.html | 2 +-
.../AbstractStateMachineTableProcedure.html | 2 +-
.../procedure/AddColumnFamilyProcedure.html | 2 +-
.../procedure/CloneSnapshotProcedure.html | 2 +-
.../procedure/CreateNamespaceProcedure.html | 2 +-
.../master/procedure/CreateTableProcedure.html | 2 +-
.../procedure/DeleteColumnFamilyProcedure.html | 2 +-
.../procedure/DeleteNamespaceProcedure.html | 2 +-
.../master/procedure/DeleteTableProcedure.html | 2 +-
.../master/procedure/DisableTableProcedure.html | 2 +-
.../master/procedure/EnableTableProcedure.html | 2 +-
.../procedure/MergeTableRegionsProcedure.html | 2 +-
.../procedure/ModifyColumnFamilyProcedure.html | 2 +-
.../procedure/ModifyNamespaceProcedure.html | 2 +-
.../master/procedure/ModifyTableProcedure.html | 2 +-
.../procedure/RestoreSnapshotProcedure.html | 2 +-
.../master/procedure/ServerCrashProcedure.html | 2 +-
.../procedure/SplitTableRegionProcedure.html | 2 +-
.../procedure/TruncateTableProcedure.html | 2 +-
.../hbase/master/procedure/package-tree.html | 2 +-
.../org/apache/hadoop/hbase/package-tree.html | 12 +-
.../hbase/procedure2/OnePhaseProcedure.html | 2 +-
.../hadoop/hbase/procedure2/Procedure.html | 224 +-
...edureExecutor.CompletedProcedureCleaner.html | 2 +-
.../ProcedureExecutor.DelayedProcedure.html | 4 +-
.../ProcedureExecutor.InlineChore.html | 12 +-
.../ProcedureExecutor.StoppableThread.html | 8 +-
...ProcedureExecutor.TimeoutExecutorThread.html | 24 +-
.../ProcedureExecutor.WorkerMonitor.html | 32 +-
.../ProcedureExecutor.WorkerThread.html | 14 +-
.../hbase/procedure2/ProcedureExecutor.html | 66 +-
.../procedure2/ProcedureInMemoryChore.html | 2 +-
.../hbase/procedure2/SequentialProcedure.html | 2 +-
.../hbase/procedure2/StateMachineProcedure.html | 2 +-
.../hbase/procedure2/TwoPhaseProcedure.html | 2 +-
.../hadoop/hbase/procedure2/package-tree.html | 2 +-
.../hadoop/hbase/quotas/package-tree.html | 4 +-
.../hadoop/hbase/regionserver/package-tree.html | 16 +-
.../regionserver/querymatcher/package-tree.html | 4 +-
.../hbase/security/access/package-tree.html | 4 +-
.../hadoop/hbase/security/package-tree.html | 2 +-
.../tmpl/master/MasterStatusTmpl.ImplData.html | 270 +-
.../hbase/tmpl/master/MasterStatusTmpl.html | 108 +-
.../hbase/tmpl/master/MasterStatusTmplImpl.html | 54 +-
.../hadoop/hbase/util/class-use/NonceKey.html | 2 +-
.../apache/hadoop/hbase/util/package-tree.html | 10 +-
.../org/apache/hadoop/hbase/ProcedureInfo.html | 20 +-
.../org/apache/hadoop/hbase/Version.html | 6 +-
.../client/HBaseAdmin.AbortProcedureFuture.html | 2 +-
.../HBaseAdmin.AddColumnFamilyFuture.html | 2 +-
.../client/HBaseAdmin.CreateTableFuture.html | 2 +-
.../HBaseAdmin.DeleteColumnFamilyFuture.html | 2 +-
.../client/HBaseAdmin.DeleteTableFuture.html | 2 +-
.../client/HBaseAdmin.DisableTableFuture.html | 2 +-
.../client/HBaseAdmin.EnableTableFuture.html | 2 +-
.../HBaseAdmin.MergeTableRegionsFuture.html | 2 +-
.../HBaseAdmin.ModifyColumnFamilyFuture.html | 2 +-
.../client/HBaseAdmin.ModifyTableFuture.html | 2 +-
.../client/HBaseAdmin.NamespaceFuture.html | 2 +-
...in.ProcedureFuture.WaitForStateCallable.html | 2 +-
.../client/HBaseAdmin.ProcedureFuture.html | 2 +-
.../client/HBaseAdmin.ReplicationState.html | 2 +-
.../HBaseAdmin.RestoreSnapshotFuture.html | 2 +-
...n.TableFuture.TableWaitForStateCallable.html | 2 +-
.../hbase/client/HBaseAdmin.TableFuture.html | 2 +-
.../client/HBaseAdmin.ThrowableAbortable.html | 2 +-
.../client/HBaseAdmin.TruncateTableFuture.html | 2 +-
.../apache/hadoop/hbase/client/HBaseAdmin.html | 2 +-
.../MasterRpcServices.BalanceSwitchMode.html | 4 +-
.../hadoop/hbase/master/MasterRpcServices.html | 4 +-
.../master/MetricsAssignmentManagerSource.html | 45 +-
.../MetricsAssignmentManagerSourceImpl.html | 71 +-
.../master/procedure/ServerCrashProcedure.html | 2 +-
.../hbase/procedure2/Procedure.LockState.html | 1107 +-
.../hadoop/hbase/procedure2/Procedure.html | 1107 +-
...edureExecutor.CompletedProcedureCleaner.html | 2003 +--
.../ProcedureExecutor.DelayedProcedure.html | 2003 +--
.../ProcedureExecutor.InlineChore.html | 2003 +--
...edureExecutor.ProcedureExecutorListener.html | 2003 +--
.../ProcedureExecutor.StoppableThread.html | 2003 +--
.../procedure2/ProcedureExecutor.Testing.html | 2003 +--
...ProcedureExecutor.TimeoutExecutorThread.html | 2003 +--
.../ProcedureExecutor.WorkerMonitor.html | 2003 +--
.../ProcedureExecutor.WorkerThread.html | 2003 +--
.../hbase/procedure2/ProcedureExecutor.html | 2003 +--
.../hadoop/hbase/procedure2/ProcedureUtil.html | 10 +-
.../tmpl/master/MasterStatusTmpl.ImplData.html | 270 +-
.../tmpl/master/MasterStatusTmpl.Intf.html | 270 +-
.../hbase/tmpl/master/MasterStatusTmpl.html | 270 +-
.../hbase/tmpl/master/MasterStatusTmplImpl.html | 72 +-
export_control.html | 4 +-
hbase-annotations/checkstyle.html | 6 +-
hbase-annotations/dependencies.html | 6 +-
hbase-annotations/dependency-convergence.html | 6 +-
hbase-annotations/dependency-info.html | 6 +-
hbase-annotations/dependency-management.html | 6 +-
hbase-annotations/index.html | 6 +-
hbase-annotations/integration.html | 6 +-
hbase-annotations/issue-tracking.html | 6 +-
hbase-annotations/license.html | 6 +-
hbase-annotations/mail-lists.html | 6 +-
hbase-annotations/plugin-management.html | 6 +-
hbase-annotations/plugins.html | 6 +-
hbase-annotations/project-info.html | 6 +-
hbase-annotations/project-reports.html | 6 +-
hbase-annotations/project-summary.html | 6 +-
hbase-annotations/source-repository.html | 6 +-
hbase-annotations/team-list.html | 6 +-
hbase-archetypes/dependencies.html | 6 +-
hbase-archetypes/dependency-convergence.html | 6 +-
hbase-archetypes/dependency-info.html | 6 +-
hbase-archetypes/dependency-management.html | 6 +-
.../hbase-archetype-builder/dependencies.html | 6 +-
.../dependency-convergence.html | 6 +-
.../dependency-info.html | 6 +-
.../dependency-management.html | 6 +-
.../hbase-archetype-builder/index.html | 6 +-
.../hbase-archetype-builder/integration.html | 6 +-
.../hbase-archetype-builder/issue-tracking.html | 6 +-
.../hbase-archetype-builder/license.html | 6 +-
.../hbase-archetype-builder/mail-lists.html | 6 +-
.../plugin-management.html | 6 +-
.../hbase-archetype-builder/plugins.html | 6 +-
.../hbase-archetype-builder/project-info.html | 6 +-
.../project-summary.html | 6 +-
.../source-repository.html | 6 +-
.../hbase-archetype-builder/team-list.html | 6 +-
.../hbase-client-project/checkstyle.html | 6 +-
.../hbase-client-project/dependencies.html | 6 +-
.../dependency-convergence.html | 6 +-
.../hbase-client-project/dependency-info.html | 6 +-
.../dependency-management.html | 6 +-
.../hbase-client-project/index.html | 6 +-
.../hbase-client-project/integration.html | 6 +-
.../hbase-client-project/issue-tracking.html | 6 +-
.../hbase-client-project/license.html | 6 +-
.../hbase-client-project/mail-lists.html | 6 +-
.../hbase-client-project/plugin-management.html | 6 +-
.../hbase-client-project/plugins.html | 6 +-
.../hbase-client-project/project-info.html | 6 +-
.../hbase-client-project/project-reports.html | 6 +-
.../hbase-client-project/project-summary.html | 6 +-
.../hbase-client-project/source-repository.html | 6 +-
.../hbase-client-project/team-list.html | 6 +-
.../hbase-shaded-client-project/checkstyle.html | 6 +-
.../dependencies.html | 6 +-
.../dependency-convergence.html | 6 +-
.../dependency-info.html | 6 +-
.../dependency-management.html | 6 +-
.../hbase-shaded-client-project/index.html | 6 +-
.../integration.html | 6 +-
.../issue-tracking.html | 6 +-
.../hbase-shaded-client-project/license.html | 6 +-
.../hbase-shaded-client-project/mail-lists.html | 6 +-
.../plugin-management.html | 6 +-
.../hbase-shaded-client-project/plugins.html | 6 +-
.../project-info.html | 6 +-
.../project-reports.html | 6 +-
.../project-summary.html | 6 +-
.../source-repository.html | 6 +-
.../hbase-shaded-client-project/team-list.html | 6 +-
hbase-archetypes/index.html | 6 +-
hbase-archetypes/integration.html | 6 +-
hbase-archetypes/issue-tracking.html | 6 +-
hbase-archetypes/license.html | 6 +-
hbase-archetypes/mail-lists.html | 6 +-
hbase-archetypes/plugin-management.html | 6 +-
hbase-archetypes/plugins.html | 6 +-
hbase-archetypes/project-info.html | 6 +-
hbase-archetypes/project-summary.html | 6 +-
hbase-archetypes/source-repository.html | 6 +-
hbase-archetypes/team-list.html | 6 +-
hbase-spark/checkstyle.html | 6 +-
hbase-spark/dependencies.html | 6 +-
hbase-spark/dependency-convergence.html | 6 +-
hbase-spark/dependency-info.html | 6 +-
hbase-spark/dependency-management.html | 6 +-
hbase-spark/index.html | 6 +-
hbase-spark/integration.html | 6 +-
hbase-spark/issue-tracking.html | 6 +-
hbase-spark/license.html | 6 +-
hbase-spark/mail-lists.html | 6 +-
hbase-spark/plugin-management.html | 6 +-
hbase-spark/plugins.html | 6 +-
hbase-spark/project-info.html | 6 +-
hbase-spark/project-reports.html | 6 +-
hbase-spark/project-summary.html | 6 +-
hbase-spark/source-repository.html | 6 +-
hbase-spark/team-list.html | 6 +-
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/allclasses-frame.html | 3 +
testdevapidocs/allclasses-noframe.html | 3 +
testdevapidocs/constant-values.html | 19 +
testdevapidocs/index-all.html | 90 +
.../class-use/HBaseCommonTestingUtility.html | 6 +-
.../hadoop/hbase/io/hfile/package-tree.html | 2 +-
...erPerformanceEvaluation.RegionProcedure.html | 2 +-
...lerPerformanceEvaluation.TableProcedure.html | 2 +-
...ocedureScheduler.TestNamespaceProcedure.html | 2 +-
...rProcedureScheduler.TestRegionProcedure.html | 2 +-
...erProcedureScheduler.TestTableProcedure.html | 2 +-
...reScheduler.TestTableProcedureWithEvent.html | 2 +-
.../org/apache/hadoop/hbase/package-tree.html | 10 +-
.../ProcedureTestingUtility.NoopProcedure.html | 2 +-
.../ProcedureTestingUtility.TestProcedure.html | 2 +-
.../TestChildProcedures.TestChildProcedure.html | 2 +-
.../TestChildProcedures.TestRootProcedure.html | 2 +-
...ocedureEvents.TestTimeoutEventProcedure.html | 2 +-
...stProcedureExecution.TestFaultyRollback.html | 2 +-
...cedureExecution.TestSequentialProcedure.html | 2 +-
...tion.TestWaitingProcedure.TestWaitChild.html | 2 +-
...ProcedureExecution.TestWaitingProcedure.html | 2 +-
...TestProcedureExecutor.BusyWaitProcedure.html | 2 +-
...stProcedureInMemoryChore.TestLatchChore.html | 2 +-
.../TestProcedureInMemoryChore.TestProcEnv.html | 4 +-
.../TestProcedureMetrics.ProcedureMetrics.html | 615 +
.../TestProcedureMetrics.TestProcEnv.html | 293 +
.../hbase/procedure2/TestProcedureMetrics.html | 586 +
...tProcedureNonce.TestSingleStepProcedure.html | 2 +-
.../hbase/procedure2/TestProcedureNonce.html | 4 +-
...ProcedureRecovery.BaseTestStepProcedure.html | 2 +-
...y.TestMultiStepProcedure.Step1Procedure.html | 2 +-
...y.TestMultiStepProcedure.Step2Procedure.html | 2 +-
...rocedureRecovery.TestMultiStepProcedure.html | 2 +-
...ocedureRecovery.TestSingleStepProcedure.html | 2 +-
...edureRecovery.TestStateMachineProcedure.html | 2 +-
.../TestProcedureReplayOrder.TestProcedure.html | 2 +-
...dureReplayOrder.TestSingleStepProcedure.html | 2 +-
...ocedureReplayOrder.TestTwoStepProcedure.html | 2 +-
...dulerConcurrency.TestProcedureWithEvent.html | 2 +-
...estProcedureSuspended.TestLockProcedure.html | 2 +-
.../TestProcedureToString.BasicProcedure.html | 2 +-
...tring.DoublingStateStringBasicProcedure.html | 2 +-
...ureToString.SimpleStateMachineProcedure.html | 2 +-
...eUtil.TestProcedureNoDefaultConstructor.html | 2 +-
...teMachineProcedure.SimpleChildProcedure.html | 10 +-
.../TestStateMachineProcedure.TestProcEnv.html | 10 +-
...stStateMachineProcedure.TestSMProcedure.html | 16 +-
...teMachineProcedure.TestSMProcedureState.html | 10 +-
.../procedure2/TestStateMachineProcedure.html | 34 +-
...eldProcedures.TestStateMachineProcedure.html | 2 +-
.../TestYieldProcedures.TestYieldProcedure.html | 2 +-
.../TestProcedureMetrics.ProcedureMetrics.html | 183 +
.../TestProcedureMetrics.TestProcEnv.html | 209 +
.../class-use/TestProcedureMetrics.html | 125 +
.../hadoop/hbase/procedure2/package-frame.html | 3 +
.../hbase/procedure2/package-summary.html | 82 +-
.../hadoop/hbase/procedure2/package-tree.html | 5 +-
.../hadoop/hbase/procedure2/package-use.html | 6 +
...LProcedureStore.TestSequentialProcedure.html | 2 +-
.../hadoop/hbase/regionserver/package-tree.html | 2 +-
...tAccessController.TestTableDDLProcedure.html | 2 +-
.../apache/hadoop/hbase/test/package-tree.html | 4 +-
.../apache/hadoop/hbase/wal/package-tree.html | 4 +-
testdevapidocs/overview-tree.html | 3 +
.../TestProcedureMetrics.ProcedureMetrics.html | 326 +
.../TestProcedureMetrics.TestProcEnv.html | 326 +
.../hbase/procedure2/TestProcedureMetrics.html | 326 +
...teMachineProcedure.SimpleChildProcedure.html | 347 +-
.../TestStateMachineProcedure.TestProcEnv.html | 347 +-
...stStateMachineProcedure.TestSMProcedure.html | 347 +-
...teMachineProcedure.TestSMProcedureState.html | 347 +-
.../procedure2/TestStateMachineProcedure.html | 347 +-
314 files changed, 24846 insertions(+), 21366 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index 8e0a72b..c42ef06 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Apache HBase (TM) ACID Properties
@@ -618,7 +618,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: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 902b1e0..22784b5 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.6, based on Prawn 1.2.1)
/Producer (Apache HBase Team)
-/CreationDate (D:20170413211907+00'00')
-/ModDate (D:20170413211907+00'00')
+/CreationDate (D:20170415144703+00'00')
+/ModDate (D:20170415144703+00'00')
>>
endobj
2 0 obj
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks b/apache_hbase_reference_guide.pdfmarks
index 1616ad7..aa2ad10 100644
--- a/apache_hbase_reference_guide.pdfmarks
+++ b/apache_hbase_reference_guide.pdfmarks
@@ -2,8 +2,8 @@
/Author (Apache HBase Team)
/Subject ()
/Keywords ()
- /ModDate (D:20170413212030)
- /CreationDate (D:20170413212030)
+ /ModDate (D:20170415144828)
+ /CreationDate (D:20170415144828)
/Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
/Producer ()
/DOCINFO pdfmark
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/apidocs/index-all.html
----------------------------------------------------------------------
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index 4b32b55..4b0f0be 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -6683,8 +6683,6 @@
<dd>
<div class="block">Returns the start row.</div>
</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ProcedureInfo.html#getStartTime--">getStartTime()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Result.html#getStats--">getStats()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ScheduledChore.html#getStopper--">getStopper()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a></dt>
@@ -6728,6 +6726,8 @@
<dd>
<div class="block">Gets the input stream instance.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ProcedureInfo.html#getSubmittedTime--">getSubmittedTime()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/crypto/CipherProvider.html#getSupportedCiphers--">getSupportedCiphers()</a></span> - Method in interface org.apache.hadoop.hbase.io.crypto.<a href="org/apache/hadoop/hbase/io/crypto/CipherProvider.html" title="interface in org.apache.hadoop.hbase.io.crypto">CipherProvider</a></dt>
<dd>
<div class="block">Return the set of Ciphers supported by this provider</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/apidocs/org/apache/hadoop/hbase/ProcedureInfo.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/ProcedureInfo.html b/apidocs/org/apache/hadoop/hbase/ProcedureInfo.html
index d061021..2dbd7b1 100644
--- a/apidocs/org/apache/hadoop/hbase/ProcedureInfo.html
+++ b/apidocs/org/apache/hadoop/hbase/ProcedureInfo.html
@@ -144,7 +144,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable
org.apache.hadoop.hbase.util.NonceKey nonceKey,
<a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> exception,
long lastUpdate,
- long startTime,
+ long submittedTime,
byte[] result)</code> </td>
</tr>
</table>
@@ -212,7 +212,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/ProcedureInfo.html#getStartTime--">getStartTime</a></span>()</code> </td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/ProcedureInfo.html#getSubmittedTime--">getSubmittedTime</a></span>()</code> </td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
@@ -271,7 +271,7 @@ public <a href="../../../../src-html/org/apache/hadoop/hbase/ProcedureInfo.
org.apache.hadoop.hbase.util.NonceKey nonceKey,
<a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> exception,
long lastUpdate,
- long startTime,
+ long submittedTime,
byte[] result)</pre>
</li>
</ul>
@@ -426,13 +426,13 @@ public <a href="../../../../src-html/org/apache/hadoop/hbase/ProcedureInfo.
<pre>public byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/ProcedureInfo.html#line.167">getResult</a>()</pre>
</li>
</ul>
-<a name="getStartTime--">
+<a name="getSubmittedTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getStartTime</h4>
-<pre>public long <a href="../../../../src-html/org/apache/hadoop/hbase/ProcedureInfo.html#line.171">getStartTime</a>()</pre>
+<h4>getSubmittedTime</h4>
+<pre>public long <a href="../../../../src-html/org/apache/hadoop/hbase/ProcedureInfo.html#line.171">getSubmittedTime</a>()</pre>
</li>
</ul>
<a name="getLastUpdate--">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/apidocs/org/apache/hadoop/hbase/class-use/ProcedureState.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/class-use/ProcedureState.html b/apidocs/org/apache/hadoop/hbase/class-use/ProcedureState.html
index 4d5908e..d34be3b 100644
--- a/apidocs/org/apache/hadoop/hbase/class-use/ProcedureState.html
+++ b/apidocs/org/apache/hadoop/hbase/class-use/ProcedureState.html
@@ -136,7 +136,7 @@ the order they are declared.</div>
org.apache.hadoop.hbase.util.NonceKey nonceKey,
<a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> exception,
long lastUpdate,
- long startTime,
+ long submittedTime,
byte[] result)</code> </td>
</tr>
</tbody>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/apidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html b/apidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
index b91439c..8cf4182 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/ProcedureInfo.html
@@ -47,7 +47,7 @@
<span class="sourceLineNo">039</span> private final NonceKey nonceKey;<a name="line.39"></a>
<span class="sourceLineNo">040</span> private final IOException exception;<a name="line.40"></a>
<span class="sourceLineNo">041</span> private final long lastUpdate;<a name="line.41"></a>
-<span class="sourceLineNo">042</span> private final long startTime;<a name="line.42"></a>
+<span class="sourceLineNo">042</span> private final long submittedTime;<a name="line.42"></a>
<span class="sourceLineNo">043</span> private final byte[] result;<a name="line.43"></a>
<span class="sourceLineNo">044</span><a name="line.44"></a>
<span class="sourceLineNo">045</span> private long clientAckTime = -1;<a name="line.45"></a>
@@ -62,7 +62,7 @@
<span class="sourceLineNo">054</span> final NonceKey nonceKey,<a name="line.54"></a>
<span class="sourceLineNo">055</span> final IOException exception,<a name="line.55"></a>
<span class="sourceLineNo">056</span> final long lastUpdate,<a name="line.56"></a>
-<span class="sourceLineNo">057</span> final long startTime,<a name="line.57"></a>
+<span class="sourceLineNo">057</span> final long submittedTime,<a name="line.57"></a>
<span class="sourceLineNo">058</span> final byte[] result) {<a name="line.58"></a>
<span class="sourceLineNo">059</span> this.procId = procId;<a name="line.59"></a>
<span class="sourceLineNo">060</span> this.procName = procName;<a name="line.60"></a>
@@ -71,7 +71,7 @@
<span class="sourceLineNo">063</span> this.parentId = parentId;<a name="line.63"></a>
<span class="sourceLineNo">064</span> this.nonceKey = nonceKey;<a name="line.64"></a>
<span class="sourceLineNo">065</span> this.lastUpdate = lastUpdate;<a name="line.65"></a>
-<span class="sourceLineNo">066</span> this.startTime = startTime;<a name="line.66"></a>
+<span class="sourceLineNo">066</span> this.submittedTime = submittedTime;<a name="line.66"></a>
<span class="sourceLineNo">067</span><a name="line.67"></a>
<span class="sourceLineNo">068</span> // If the procedure is completed, we should treat exception and result differently<a name="line.68"></a>
<span class="sourceLineNo">069</span> this.exception = exception;<a name="line.69"></a>
@@ -82,7 +82,7 @@
<span class="sourceLineNo">074</span> justification="Intentional; calling super class clone doesn't make sense here.")<a name="line.74"></a>
<span class="sourceLineNo">075</span> public ProcedureInfo clone() {<a name="line.75"></a>
<span class="sourceLineNo">076</span> return new ProcedureInfo(procId, procName, procOwner, procState, parentId, nonceKey,<a name="line.76"></a>
-<span class="sourceLineNo">077</span> exception, lastUpdate, startTime, result);<a name="line.77"></a>
+<span class="sourceLineNo">077</span> exception, lastUpdate, submittedTime, result);<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>
@@ -104,10 +104,10 @@
<span class="sourceLineNo">096</span> sb.append(procState);<a name="line.96"></a>
<span class="sourceLineNo">097</span><a name="line.97"></a>
<span class="sourceLineNo">098</span> long now = EnvironmentEdgeManager.currentTime();<a name="line.98"></a>
-<span class="sourceLineNo">099</span> sb.append(", startTime=");<a name="line.99"></a>
-<span class="sourceLineNo">100</span> sb.append(StringUtils.formatTime(now - startTime));<a name="line.100"></a>
+<span class="sourceLineNo">099</span> sb.append(", submittedTime=");<a name="line.99"></a>
+<span class="sourceLineNo">100</span> sb.append(StringUtils.formatTime(now - submittedTime));<a name="line.100"></a>
<span class="sourceLineNo">101</span> sb.append(" ago, lastUpdate=");<a name="line.101"></a>
-<span class="sourceLineNo">102</span> sb.append(StringUtils.formatTime(now - startTime));<a name="line.102"></a>
+<span class="sourceLineNo">102</span> sb.append(StringUtils.formatTime(now - submittedTime));<a name="line.102"></a>
<span class="sourceLineNo">103</span> sb.append(" ago");<a name="line.103"></a>
<span class="sourceLineNo">104</span><a name="line.104"></a>
<span class="sourceLineNo">105</span> if (isFailed()) {<a name="line.105"></a>
@@ -176,8 +176,8 @@
<span class="sourceLineNo">168</span> return result;<a name="line.168"></a>
<span class="sourceLineNo">169</span> }<a name="line.169"></a>
<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span> public long getStartTime() {<a name="line.171"></a>
-<span class="sourceLineNo">172</span> return startTime;<a name="line.172"></a>
+<span class="sourceLineNo">171</span> public long getSubmittedTime() {<a name="line.171"></a>
+<span class="sourceLineNo">172</span> return submittedTime;<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> public long getLastUpdate() {<a name="line.175"></a>
@@ -185,7 +185,7 @@
<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> public long executionTime() {<a name="line.179"></a>
-<span class="sourceLineNo">180</span> return lastUpdate - startTime;<a name="line.180"></a>
+<span class="sourceLineNo">180</span> return lastUpdate - submittedTime;<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> @InterfaceAudience.Private<a name="line.183"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index dfa368d..12c5bbe 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Bulk Loads in Apache HBase (TM)
@@ -323,7 +323,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: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
[22/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.CompletedProcedureCleaner.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.CompletedProcedureCleaner.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.CompletedProcedureCleaner.html
index a1495ff..0c11099 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.CompletedProcedureCleaner.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.CompletedProcedureCleaner.html
@@ -839,1019 +839,1030 @@
<span class="sourceLineNo">831</span> private long pushProcedure(final Procedure proc) {<a name="line.831"></a>
<span class="sourceLineNo">832</span> final long currentProcId = proc.getProcId();<a name="line.832"></a>
<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span> // Create the rollback stack for the procedure<a name="line.834"></a>
-<span class="sourceLineNo">835</span> RootProcedureState stack = new RootProcedureState();<a name="line.835"></a>
-<span class="sourceLineNo">836</span> rollbackStack.put(currentProcId, stack);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span> // Submit the new subprocedures<a name="line.838"></a>
-<span class="sourceLineNo">839</span> assert !procedures.containsKey(currentProcId);<a name="line.839"></a>
-<span class="sourceLineNo">840</span> procedures.put(currentProcId, proc);<a name="line.840"></a>
-<span class="sourceLineNo">841</span> sendProcedureAddedNotification(currentProcId);<a name="line.841"></a>
-<span class="sourceLineNo">842</span> scheduler.addBack(proc);<a name="line.842"></a>
-<span class="sourceLineNo">843</span> return proc.getProcId();<a name="line.843"></a>
-<span class="sourceLineNo">844</span> }<a name="line.844"></a>
-<span class="sourceLineNo">845</span><a name="line.845"></a>
-<span class="sourceLineNo">846</span> /**<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * Send an abort notification the specified procedure.<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.848"></a>
-<span class="sourceLineNo">849</span> * @param procId the procedure to abort<a name="line.849"></a>
-<span class="sourceLineNo">850</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.850"></a>
-<span class="sourceLineNo">851</span> */<a name="line.851"></a>
-<span class="sourceLineNo">852</span> public boolean abort(final long procId) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span> return abort(procId, true);<a name="line.853"></a>
-<span class="sourceLineNo">854</span> }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span> /**<a name="line.856"></a>
-<span class="sourceLineNo">857</span> * Send an abort notification the specified procedure.<a name="line.857"></a>
-<span class="sourceLineNo">858</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.858"></a>
-<span class="sourceLineNo">859</span> * @param procId the procedure to abort<a name="line.859"></a>
-<span class="sourceLineNo">860</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.860"></a>
-<span class="sourceLineNo">861</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.861"></a>
-<span class="sourceLineNo">862</span> */<a name="line.862"></a>
-<span class="sourceLineNo">863</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.863"></a>
-<span class="sourceLineNo">864</span> final Procedure proc = procedures.get(procId);<a name="line.864"></a>
-<span class="sourceLineNo">865</span> if (proc != null) {<a name="line.865"></a>
-<span class="sourceLineNo">866</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.866"></a>
-<span class="sourceLineNo">867</span> return false;<a name="line.867"></a>
-<span class="sourceLineNo">868</span> }<a name="line.868"></a>
-<span class="sourceLineNo">869</span> return proc.abort(getEnvironment());<a name="line.869"></a>
-<span class="sourceLineNo">870</span> }<a name="line.870"></a>
-<span class="sourceLineNo">871</span> return false;<a name="line.871"></a>
-<span class="sourceLineNo">872</span> }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span> // ==========================================================================<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // Executor query helpers<a name="line.875"></a>
-<span class="sourceLineNo">876</span> // ==========================================================================<a name="line.876"></a>
-<span class="sourceLineNo">877</span> public Procedure getProcedure(final long procId) {<a name="line.877"></a>
-<span class="sourceLineNo">878</span> return procedures.get(procId);<a name="line.878"></a>
-<span class="sourceLineNo">879</span> }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span> final Procedure proc = getProcedure(procId);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> if (clazz.isInstance(proc)) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span> return (T)proc;<a name="line.884"></a>
-<span class="sourceLineNo">885</span> }<a name="line.885"></a>
-<span class="sourceLineNo">886</span> return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span> }<a name="line.887"></a>
-<span class="sourceLineNo">888</span><a name="line.888"></a>
-<span class="sourceLineNo">889</span> public ProcedureInfo getResult(final long procId) {<a name="line.889"></a>
-<span class="sourceLineNo">890</span> return completed.get(procId);<a name="line.890"></a>
-<span class="sourceLineNo">891</span> }<a name="line.891"></a>
-<span class="sourceLineNo">892</span><a name="line.892"></a>
-<span class="sourceLineNo">893</span> /**<a name="line.893"></a>
-<span class="sourceLineNo">894</span> * Return true if the procedure is finished.<a name="line.894"></a>
-<span class="sourceLineNo">895</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.895"></a>
-<span class="sourceLineNo">896</span> * Use getResult() to check the state or get the result data.<a name="line.896"></a>
-<span class="sourceLineNo">897</span> * @param procId the ID of the procedure to check<a name="line.897"></a>
-<span class="sourceLineNo">898</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.898"></a>
-<span class="sourceLineNo">899</span> */<a name="line.899"></a>
-<span class="sourceLineNo">900</span> public boolean isFinished(final long procId) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span> return !procedures.containsKey(procId);<a name="line.901"></a>
-<span class="sourceLineNo">902</span> }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span> /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span> * Return true if the procedure is started.<a name="line.905"></a>
-<span class="sourceLineNo">906</span> * @param procId the ID of the procedure to check<a name="line.906"></a>
-<span class="sourceLineNo">907</span> * @return true if the procedure execution is started, otherwise false.<a name="line.907"></a>
-<span class="sourceLineNo">908</span> */<a name="line.908"></a>
-<span class="sourceLineNo">909</span> public boolean isStarted(final long procId) {<a name="line.909"></a>
-<span class="sourceLineNo">910</span> final Procedure proc = procedures.get(procId);<a name="line.910"></a>
-<span class="sourceLineNo">911</span> if (proc == null) {<a name="line.911"></a>
-<span class="sourceLineNo">912</span> return completed.get(procId) != null;<a name="line.912"></a>
-<span class="sourceLineNo">913</span> }<a name="line.913"></a>
-<span class="sourceLineNo">914</span> return proc.wasExecuted();<a name="line.914"></a>
-<span class="sourceLineNo">915</span> }<a name="line.915"></a>
-<span class="sourceLineNo">916</span><a name="line.916"></a>
-<span class="sourceLineNo">917</span> /**<a name="line.917"></a>
-<span class="sourceLineNo">918</span> * Mark the specified completed procedure, as ready to remove.<a name="line.918"></a>
-<span class="sourceLineNo">919</span> * @param procId the ID of the procedure to remove<a name="line.919"></a>
-<span class="sourceLineNo">920</span> */<a name="line.920"></a>
-<span class="sourceLineNo">921</span> public void removeResult(final long procId) {<a name="line.921"></a>
-<span class="sourceLineNo">922</span> final ProcedureInfo result = completed.get(procId);<a name="line.922"></a>
-<span class="sourceLineNo">923</span> if (result == null) {<a name="line.923"></a>
-<span class="sourceLineNo">924</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.924"></a>
-<span class="sourceLineNo">925</span> if (LOG.isDebugEnabled()) {<a name="line.925"></a>
-<span class="sourceLineNo">926</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.926"></a>
-<span class="sourceLineNo">927</span> }<a name="line.927"></a>
-<span class="sourceLineNo">928</span> return;<a name="line.928"></a>
-<span class="sourceLineNo">929</span> }<a name="line.929"></a>
-<span class="sourceLineNo">930</span><a name="line.930"></a>
-<span class="sourceLineNo">931</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.931"></a>
-<span class="sourceLineNo">932</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span><a name="line.934"></a>
-<span class="sourceLineNo">935</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.935"></a>
-<span class="sourceLineNo">936</span> ProcedureInfo result = completed.get(procId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span> Procedure proc = null;<a name="line.937"></a>
-<span class="sourceLineNo">938</span> if (result == null) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span> proc = procedures.get(procId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span> if (proc == null) {<a name="line.940"></a>
-<span class="sourceLineNo">941</span> result = completed.get(procId);<a name="line.941"></a>
-<span class="sourceLineNo">942</span> }<a name="line.942"></a>
-<span class="sourceLineNo">943</span> }<a name="line.943"></a>
-<span class="sourceLineNo">944</span> return new Pair(result, proc);<a name="line.944"></a>
-<span class="sourceLineNo">945</span> }<a name="line.945"></a>
-<span class="sourceLineNo">946</span><a name="line.946"></a>
-<span class="sourceLineNo">947</span> /**<a name="line.947"></a>
-<span class="sourceLineNo">948</span> * Check if the user is this procedure's owner<a name="line.948"></a>
-<span class="sourceLineNo">949</span> * @param procId the target procedure<a name="line.949"></a>
-<span class="sourceLineNo">950</span> * @param user the user<a name="line.950"></a>
-<span class="sourceLineNo">951</span> * @return true if the user is the owner of the procedure,<a name="line.951"></a>
-<span class="sourceLineNo">952</span> * false otherwise or the owner is unknown.<a name="line.952"></a>
-<span class="sourceLineNo">953</span> */<a name="line.953"></a>
-<span class="sourceLineNo">954</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> if (user == null) return false;<a name="line.955"></a>
-<span class="sourceLineNo">956</span><a name="line.956"></a>
-<span class="sourceLineNo">957</span> final Procedure proc = procedures.get(procId);<a name="line.957"></a>
-<span class="sourceLineNo">958</span> if (proc != null) {<a name="line.958"></a>
-<span class="sourceLineNo">959</span> return proc.getOwner().equals(user.getShortName());<a name="line.959"></a>
-<span class="sourceLineNo">960</span> }<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.962"></a>
-<span class="sourceLineNo">963</span> if (procInfo == null) {<a name="line.963"></a>
-<span class="sourceLineNo">964</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.964"></a>
-<span class="sourceLineNo">965</span> // At this time, we cannot check the owner of the procedure<a name="line.965"></a>
-<span class="sourceLineNo">966</span> return false;<a name="line.966"></a>
-<span class="sourceLineNo">967</span> }<a name="line.967"></a>
-<span class="sourceLineNo">968</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.968"></a>
-<span class="sourceLineNo">969</span> }<a name="line.969"></a>
-<span class="sourceLineNo">970</span><a name="line.970"></a>
-<span class="sourceLineNo">971</span> /**<a name="line.971"></a>
-<span class="sourceLineNo">972</span> * List procedures.<a name="line.972"></a>
-<span class="sourceLineNo">973</span> * @return the procedures in a list<a name="line.973"></a>
-<span class="sourceLineNo">974</span> */<a name="line.974"></a>
-<span class="sourceLineNo">975</span> public List<ProcedureInfo> listProcedures() {<a name="line.975"></a>
-<span class="sourceLineNo">976</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.976"></a>
-<span class="sourceLineNo">977</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.977"></a>
-<span class="sourceLineNo">978</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.978"></a>
-<span class="sourceLineNo">979</span> }<a name="line.979"></a>
-<span class="sourceLineNo">980</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.981"></a>
-<span class="sourceLineNo">982</span> // it could complete after we walk through procedures list and insert into<a name="line.982"></a>
-<span class="sourceLineNo">983</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.983"></a>
-<span class="sourceLineNo">984</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.984"></a>
-<span class="sourceLineNo">985</span> procedureLists.add(e.getValue());<a name="line.985"></a>
-<span class="sourceLineNo">986</span> }<a name="line.986"></a>
-<span class="sourceLineNo">987</span> return procedureLists;<a name="line.987"></a>
-<span class="sourceLineNo">988</span> }<a name="line.988"></a>
-<span class="sourceLineNo">989</span><a name="line.989"></a>
-<span class="sourceLineNo">990</span> // ==========================================================================<a name="line.990"></a>
-<span class="sourceLineNo">991</span> // Listeners helpers<a name="line.991"></a>
-<span class="sourceLineNo">992</span> // ==========================================================================<a name="line.992"></a>
-<span class="sourceLineNo">993</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.993"></a>
-<span class="sourceLineNo">994</span> this.listeners.add(listener);<a name="line.994"></a>
-<span class="sourceLineNo">995</span> }<a name="line.995"></a>
-<span class="sourceLineNo">996</span><a name="line.996"></a>
-<span class="sourceLineNo">997</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.997"></a>
-<span class="sourceLineNo">998</span> return this.listeners.remove(listener);<a name="line.998"></a>
-<span class="sourceLineNo">999</span> }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span><a name="line.1000"></a>
-<span class="sourceLineNo">1001</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> if (!this.listeners.isEmpty()) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> try {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> listener.procedureLoaded(procId);<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span> } catch (Throwable e) {<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> }<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> }<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span><a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span> if (!this.listeners.isEmpty()) {<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> try {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> listener.procedureAdded(procId);<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> } catch (Throwable e) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> }<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span> }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span><a name="line.1024"></a>
-<span class="sourceLineNo">1025</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span> if (!this.listeners.isEmpty()) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span> try {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span> listener.procedureFinished(procId);<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> } catch (Throwable e) {<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span> }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span> }<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span> }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span> // ==========================================================================<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span> // Procedure IDs helpers<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span> // ==========================================================================<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span> private long nextProcId() {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span> long procId = lastProcId.incrementAndGet();<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span> if (procId < 0) {<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span> procId = lastProcId.get();<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span> if (procId >= 0)<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span> break;<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span> }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span> while (procedures.containsKey(procId)) {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span> procId = lastProcId.incrementAndGet();<a name="line.1049"></a>
+<span class="sourceLineNo">834</span> // Update metrics on start of a procedure<a name="line.834"></a>
+<span class="sourceLineNo">835</span> proc.updateMetricsOnSubmit(getEnvironment());<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span> // Create the rollback stack for the procedure<a name="line.837"></a>
+<span class="sourceLineNo">838</span> RootProcedureState stack = new RootProcedureState();<a name="line.838"></a>
+<span class="sourceLineNo">839</span> rollbackStack.put(currentProcId, stack);<a name="line.839"></a>
+<span class="sourceLineNo">840</span><a name="line.840"></a>
+<span class="sourceLineNo">841</span> // Submit the new subprocedures<a name="line.841"></a>
+<span class="sourceLineNo">842</span> assert !procedures.containsKey(currentProcId);<a name="line.842"></a>
+<span class="sourceLineNo">843</span> procedures.put(currentProcId, proc);<a name="line.843"></a>
+<span class="sourceLineNo">844</span> sendProcedureAddedNotification(currentProcId);<a name="line.844"></a>
+<span class="sourceLineNo">845</span> scheduler.addBack(proc);<a name="line.845"></a>
+<span class="sourceLineNo">846</span> return proc.getProcId();<a name="line.846"></a>
+<span class="sourceLineNo">847</span> }<a name="line.847"></a>
+<span class="sourceLineNo">848</span><a name="line.848"></a>
+<span class="sourceLineNo">849</span> /**<a name="line.849"></a>
+<span class="sourceLineNo">850</span> * Send an abort notification the specified procedure.<a name="line.850"></a>
+<span class="sourceLineNo">851</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.851"></a>
+<span class="sourceLineNo">852</span> * @param procId the procedure to abort<a name="line.852"></a>
+<span class="sourceLineNo">853</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.853"></a>
+<span class="sourceLineNo">854</span> */<a name="line.854"></a>
+<span class="sourceLineNo">855</span> public boolean abort(final long procId) {<a name="line.855"></a>
+<span class="sourceLineNo">856</span> return abort(procId, true);<a name="line.856"></a>
+<span class="sourceLineNo">857</span> }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span> /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span> * Send an abort notification the specified procedure.<a name="line.860"></a>
+<span class="sourceLineNo">861</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.861"></a>
+<span class="sourceLineNo">862</span> * @param procId the procedure to abort<a name="line.862"></a>
+<span class="sourceLineNo">863</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.863"></a>
+<span class="sourceLineNo">864</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.864"></a>
+<span class="sourceLineNo">865</span> */<a name="line.865"></a>
+<span class="sourceLineNo">866</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.866"></a>
+<span class="sourceLineNo">867</span> final Procedure proc = procedures.get(procId);<a name="line.867"></a>
+<span class="sourceLineNo">868</span> if (proc != null) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.869"></a>
+<span class="sourceLineNo">870</span> return false;<a name="line.870"></a>
+<span class="sourceLineNo">871</span> }<a name="line.871"></a>
+<span class="sourceLineNo">872</span> return proc.abort(getEnvironment());<a name="line.872"></a>
+<span class="sourceLineNo">873</span> }<a name="line.873"></a>
+<span class="sourceLineNo">874</span> return false;<a name="line.874"></a>
+<span class="sourceLineNo">875</span> }<a name="line.875"></a>
+<span class="sourceLineNo">876</span><a name="line.876"></a>
+<span class="sourceLineNo">877</span> // ==========================================================================<a name="line.877"></a>
+<span class="sourceLineNo">878</span> // Executor query helpers<a name="line.878"></a>
+<span class="sourceLineNo">879</span> // ==========================================================================<a name="line.879"></a>
+<span class="sourceLineNo">880</span> public Procedure getProcedure(final long procId) {<a name="line.880"></a>
+<span class="sourceLineNo">881</span> return procedures.get(procId);<a name="line.881"></a>
+<span class="sourceLineNo">882</span> }<a name="line.882"></a>
+<span class="sourceLineNo">883</span><a name="line.883"></a>
+<span class="sourceLineNo">884</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span> final Procedure proc = getProcedure(procId);<a name="line.885"></a>
+<span class="sourceLineNo">886</span> if (clazz.isInstance(proc)) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span> return (T)proc;<a name="line.887"></a>
+<span class="sourceLineNo">888</span> }<a name="line.888"></a>
+<span class="sourceLineNo">889</span> return null;<a name="line.889"></a>
+<span class="sourceLineNo">890</span> }<a name="line.890"></a>
+<span class="sourceLineNo">891</span><a name="line.891"></a>
+<span class="sourceLineNo">892</span> public ProcedureInfo getResult(final long procId) {<a name="line.892"></a>
+<span class="sourceLineNo">893</span> return completed.get(procId);<a name="line.893"></a>
+<span class="sourceLineNo">894</span> }<a name="line.894"></a>
+<span class="sourceLineNo">895</span><a name="line.895"></a>
+<span class="sourceLineNo">896</span> /**<a name="line.896"></a>
+<span class="sourceLineNo">897</span> * Return true if the procedure is finished.<a name="line.897"></a>
+<span class="sourceLineNo">898</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.898"></a>
+<span class="sourceLineNo">899</span> * Use getResult() to check the state or get the result data.<a name="line.899"></a>
+<span class="sourceLineNo">900</span> * @param procId the ID of the procedure to check<a name="line.900"></a>
+<span class="sourceLineNo">901</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.901"></a>
+<span class="sourceLineNo">902</span> */<a name="line.902"></a>
+<span class="sourceLineNo">903</span> public boolean isFinished(final long procId) {<a name="line.903"></a>
+<span class="sourceLineNo">904</span> return !procedures.containsKey(procId);<a name="line.904"></a>
+<span class="sourceLineNo">905</span> }<a name="line.905"></a>
+<span class="sourceLineNo">906</span><a name="line.906"></a>
+<span class="sourceLineNo">907</span> /**<a name="line.907"></a>
+<span class="sourceLineNo">908</span> * Return true if the procedure is started.<a name="line.908"></a>
+<span class="sourceLineNo">909</span> * @param procId the ID of the procedure to check<a name="line.909"></a>
+<span class="sourceLineNo">910</span> * @return true if the procedure execution is started, otherwise false.<a name="line.910"></a>
+<span class="sourceLineNo">911</span> */<a name="line.911"></a>
+<span class="sourceLineNo">912</span> public boolean isStarted(final long procId) {<a name="line.912"></a>
+<span class="sourceLineNo">913</span> final Procedure proc = procedures.get(procId);<a name="line.913"></a>
+<span class="sourceLineNo">914</span> if (proc == null) {<a name="line.914"></a>
+<span class="sourceLineNo">915</span> return completed.get(procId) != null;<a name="line.915"></a>
+<span class="sourceLineNo">916</span> }<a name="line.916"></a>
+<span class="sourceLineNo">917</span> return proc.wasExecuted();<a name="line.917"></a>
+<span class="sourceLineNo">918</span> }<a name="line.918"></a>
+<span class="sourceLineNo">919</span><a name="line.919"></a>
+<span class="sourceLineNo">920</span> /**<a name="line.920"></a>
+<span class="sourceLineNo">921</span> * Mark the specified completed procedure, as ready to remove.<a name="line.921"></a>
+<span class="sourceLineNo">922</span> * @param procId the ID of the procedure to remove<a name="line.922"></a>
+<span class="sourceLineNo">923</span> */<a name="line.923"></a>
+<span class="sourceLineNo">924</span> public void removeResult(final long procId) {<a name="line.924"></a>
+<span class="sourceLineNo">925</span> final ProcedureInfo result = completed.get(procId);<a name="line.925"></a>
+<span class="sourceLineNo">926</span> if (result == null) {<a name="line.926"></a>
+<span class="sourceLineNo">927</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.927"></a>
+<span class="sourceLineNo">928</span> if (LOG.isDebugEnabled()) {<a name="line.928"></a>
+<span class="sourceLineNo">929</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.929"></a>
+<span class="sourceLineNo">930</span> }<a name="line.930"></a>
+<span class="sourceLineNo">931</span> return;<a name="line.931"></a>
+<span class="sourceLineNo">932</span> }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.934"></a>
+<span class="sourceLineNo">935</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.935"></a>
+<span class="sourceLineNo">936</span> }<a name="line.936"></a>
+<span class="sourceLineNo">937</span><a name="line.937"></a>
+<span class="sourceLineNo">938</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.938"></a>
+<span class="sourceLineNo">939</span> ProcedureInfo result = completed.get(procId);<a name="line.939"></a>
+<span class="sourceLineNo">940</span> Procedure proc = null;<a name="line.940"></a>
+<span class="sourceLineNo">941</span> if (result == null) {<a name="line.941"></a>
+<span class="sourceLineNo">942</span> proc = procedures.get(procId);<a name="line.942"></a>
+<span class="sourceLineNo">943</span> if (proc == null) {<a name="line.943"></a>
+<span class="sourceLineNo">944</span> result = completed.get(procId);<a name="line.944"></a>
+<span class="sourceLineNo">945</span> }<a name="line.945"></a>
+<span class="sourceLineNo">946</span> }<a name="line.946"></a>
+<span class="sourceLineNo">947</span> return new Pair(result, proc);<a name="line.947"></a>
+<span class="sourceLineNo">948</span> }<a name="line.948"></a>
+<span class="sourceLineNo">949</span><a name="line.949"></a>
+<span class="sourceLineNo">950</span> /**<a name="line.950"></a>
+<span class="sourceLineNo">951</span> * Check if the user is this procedure's owner<a name="line.951"></a>
+<span class="sourceLineNo">952</span> * @param procId the target procedure<a name="line.952"></a>
+<span class="sourceLineNo">953</span> * @param user the user<a name="line.953"></a>
+<span class="sourceLineNo">954</span> * @return true if the user is the owner of the procedure,<a name="line.954"></a>
+<span class="sourceLineNo">955</span> * false otherwise or the owner is unknown.<a name="line.955"></a>
+<span class="sourceLineNo">956</span> */<a name="line.956"></a>
+<span class="sourceLineNo">957</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span> if (user == null) return false;<a name="line.958"></a>
+<span class="sourceLineNo">959</span><a name="line.959"></a>
+<span class="sourceLineNo">960</span> final Procedure proc = procedures.get(procId);<a name="line.960"></a>
+<span class="sourceLineNo">961</span> if (proc != null) {<a name="line.961"></a>
+<span class="sourceLineNo">962</span> return proc.getOwner().equals(user.getShortName());<a name="line.962"></a>
+<span class="sourceLineNo">963</span> }<a name="line.963"></a>
+<span class="sourceLineNo">964</span><a name="line.964"></a>
+<span class="sourceLineNo">965</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.965"></a>
+<span class="sourceLineNo">966</span> if (procInfo == null) {<a name="line.966"></a>
+<span class="sourceLineNo">967</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.967"></a>
+<span class="sourceLineNo">968</span> // At this time, we cannot check the owner of the procedure<a name="line.968"></a>
+<span class="sourceLineNo">969</span> return false;<a name="line.969"></a>
+<span class="sourceLineNo">970</span> }<a name="line.970"></a>
+<span class="sourceLineNo">971</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.971"></a>
+<span class="sourceLineNo">972</span> }<a name="line.972"></a>
+<span class="sourceLineNo">973</span><a name="line.973"></a>
+<span class="sourceLineNo">974</span> /**<a name="line.974"></a>
+<span class="sourceLineNo">975</span> * List procedures.<a name="line.975"></a>
+<span class="sourceLineNo">976</span> * @return the procedures in a list<a name="line.976"></a>
+<span class="sourceLineNo">977</span> */<a name="line.977"></a>
+<span class="sourceLineNo">978</span> public List<ProcedureInfo> listProcedures() {<a name="line.978"></a>
+<span class="sourceLineNo">979</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.979"></a>
+<span class="sourceLineNo">980</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.980"></a>
+<span class="sourceLineNo">981</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.981"></a>
+<span class="sourceLineNo">982</span> }<a name="line.982"></a>
+<span class="sourceLineNo">983</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.984"></a>
+<span class="sourceLineNo">985</span> // it could complete after we walk through procedures list and insert into<a name="line.985"></a>
+<span class="sourceLineNo">986</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.986"></a>
+<span class="sourceLineNo">987</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.987"></a>
+<span class="sourceLineNo">988</span> procedureLists.add(e.getValue());<a name="line.988"></a>
+<span class="sourceLineNo">989</span> }<a name="line.989"></a>
+<span class="sourceLineNo">990</span> return procedureLists;<a name="line.990"></a>
+<span class="sourceLineNo">991</span> }<a name="line.991"></a>
+<span class="sourceLineNo">992</span><a name="line.992"></a>
+<span class="sourceLineNo">993</span> // ==========================================================================<a name="line.993"></a>
+<span class="sourceLineNo">994</span> // Listeners helpers<a name="line.994"></a>
+<span class="sourceLineNo">995</span> // ==========================================================================<a name="line.995"></a>
+<span class="sourceLineNo">996</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.996"></a>
+<span class="sourceLineNo">997</span> this.listeners.add(listener);<a name="line.997"></a>
+<span class="sourceLineNo">998</span> }<a name="line.998"></a>
+<span class="sourceLineNo">999</span><a name="line.999"></a>
+<span class="sourceLineNo">1000</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span> return this.listeners.remove(listener);<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span> }<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span><a name="line.1003"></a>
+<span class="sourceLineNo">1004</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span> if (!this.listeners.isEmpty()) {<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span> try {<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span> listener.procedureLoaded(procId);<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span> } catch (Throwable e) {<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span> }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span> }<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span> }<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span><a name="line.1015"></a>
+<span class="sourceLineNo">1016</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span> if (!this.listeners.isEmpty()) {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span> try {<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span> listener.procedureAdded(procId);<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span> } catch (Throwable e) {<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span> }<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> }<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span> }<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span><a name="line.1027"></a>
+<span class="sourceLineNo">1028</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span> if (!this.listeners.isEmpty()) {<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span> try {<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span> listener.procedureFinished(procId);<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span> } catch (Throwable e) {<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span> }<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span> }<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span> }<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span><a name="line.1039"></a>
+<span class="sourceLineNo">1040</span> // ==========================================================================<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span> // Procedure IDs helpers<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span> // ==========================================================================<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span> private long nextProcId() {<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span> long procId = lastProcId.incrementAndGet();<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span> if (procId < 0) {<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span> procId = lastProcId.get();<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span> if (procId >= 0)<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span> break;<a name="line.1049"></a>
<span class="sourceLineNo">1050</span> }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span> }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span> return procId;<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span><a name="line.1055"></a>
-<span class="sourceLineNo">1056</span> @VisibleForTesting<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span> protected long getLastProcId() {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span> return lastProcId.get();<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span> }<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span><a name="line.1060"></a>
-<span class="sourceLineNo">1061</span> @VisibleForTesting<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span> public Set<Long> getActiveProcIds() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span> return procedures.keySet();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span> }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span><a name="line.1065"></a>
-<span class="sourceLineNo">1066</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span> }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span><a name="line.1069"></a>
-<span class="sourceLineNo">1070</span> // ==========================================================================<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span> // Executions<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span> // ==========================================================================<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span> private void executeProcedure(final Procedure proc) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span> if (rootProcId == null) {<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span> executeRollback(proc);<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span> return;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span> }<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span><a name="line.1080"></a>
-<span class="sourceLineNo">1081</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span> if (procStack == null) return;<a name="line.1082"></a>
+<span class="sourceLineNo">1051</span> while (procedures.containsKey(procId)) {<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span> procId = lastProcId.incrementAndGet();<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span> }<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span> return procId;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span> }<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span><a name="line.1058"></a>
+<span class="sourceLineNo">1059</span> @VisibleForTesting<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span> protected long getLastProcId() {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span> return lastProcId.get();<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span> }<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span> @VisibleForTesting<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span> public Set<Long> getActiveProcIds() {<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span> return procedures.keySet();<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span> }<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span><a name="line.1068"></a>
+<span class="sourceLineNo">1069</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span> }<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span><a name="line.1072"></a>
+<span class="sourceLineNo">1073</span> // ==========================================================================<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span> // Executions<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span> // ==========================================================================<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span> private void executeProcedure(final Procedure proc) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span> if (rootProcId == null) {<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span> executeRollback(proc);<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span> return;<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span> }<a name="line.1082"></a>
<span class="sourceLineNo">1083</span><a name="line.1083"></a>
-<span class="sourceLineNo">1084</span> do {<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span> // Try to acquire the execution<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span> if (!procStack.acquire(proc)) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span> if (procStack.setRollback()) {<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span> case LOCK_ACQUIRED:<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span> break;<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span> case LOCK_YIELD_WAIT:<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span> procStack.unsetRollback();<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span> scheduler.yield(proc);<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span> break;<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span> case LOCK_EVENT_WAIT:<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span> procStack.unsetRollback();<a name="line.1097"></a>
+<span class="sourceLineNo">1084</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span> if (procStack == null) return;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span><a name="line.1086"></a>
+<span class="sourceLineNo">1087</span> do {<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span> // Try to acquire the execution<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span> if (!procStack.acquire(proc)) {<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span> if (procStack.setRollback()) {<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span> case LOCK_ACQUIRED:<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span> break;<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span> case LOCK_YIELD_WAIT:<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span> procStack.unsetRollback();<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span> scheduler.yield(proc);<a name="line.1097"></a>
<span class="sourceLineNo">1098</span> break;<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span> default:<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span> throw new UnsupportedOperationException();<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> }<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span> } else {<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span> // if we can't rollback means that some child is still running.<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span> // the rollback will be executed after all the children are done.<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> if (!proc.wasExecuted()) {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> switch (executeRollback(proc)) {<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> case LOCK_ACQUIRED:<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> break;<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> case LOCK_YIELD_WAIT:<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span> scheduler.yield(proc);<a name="line.1111"></a>
+<span class="sourceLineNo">1099</span> case LOCK_EVENT_WAIT:<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span> procStack.unsetRollback();<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span> break;<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span> default:<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span> throw new UnsupportedOperationException();<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span> }<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span> } else {<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span> // if we can't rollback means that some child is still running.<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> // the rollback will be executed after all the children are done.<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> if (!proc.wasExecuted()) {<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> switch (executeRollback(proc)) {<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> case LOCK_ACQUIRED:<a name="line.1111"></a>
<span class="sourceLineNo">1112</span> break;<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> case LOCK_EVENT_WAIT:<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> break;<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> default:<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span> throw new UnsupportedOperationException();<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> }<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> }<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> }<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> break;<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span><a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> // Execute the procedure<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> switch (acquireLock(proc)) {<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> case LOCK_ACQUIRED:<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> execProcedure(procStack, proc);<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span> releaseLock(proc, false);<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> break;<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> case LOCK_YIELD_WAIT:<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> scheduler.yield(proc);<a name="line.1131"></a>
+<span class="sourceLineNo">1113</span> case LOCK_YIELD_WAIT:<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> scheduler.yield(proc);<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> break;<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> case LOCK_EVENT_WAIT:<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> break;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span> default:<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> throw new UnsupportedOperationException();<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> }<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> }<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> break;<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> }<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> // Execute the procedure<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> switch (acquireLock(proc)) {<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> case LOCK_ACQUIRED:<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span> execProcedure(procStack, proc);<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> releaseLock(proc, false);<a name="line.1131"></a>
<span class="sourceLineNo">1132</span> break;<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> case LOCK_EVENT_WAIT:<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> // someone will wake us up when the lock is available<a name="line.1134"></a>
+<span class="sourceLineNo">1133</span> case LOCK_YIELD_WAIT:<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> scheduler.yield(proc);<a name="line.1134"></a>
<span class="sourceLineNo">1135</span> break;<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> default:<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> throw new UnsupportedOperationException();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> procStack.release(proc);<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> // allows to kill the executor before something is stored to the wal.<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span> // useful to test the procedure recovery.<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (testing != null && !isRunning()) {<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> break;<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span> }<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> if (proc.isSuccess()) {<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> if (LOG.isDebugEnabled()) {<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> }<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> // Finalize the procedure state<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span> if (proc.getProcId() == rootProcId) {<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> procedureFinished(proc);<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> } else {<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> execCompletionCleanup(proc);<a name="line.1155"></a>
+<span class="sourceLineNo">1136</span> case LOCK_EVENT_WAIT:<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> // someone will wake us up when the lock is available<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> break;<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> default:<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> throw new UnsupportedOperationException();<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> }<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> procStack.release(proc);<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span><a name="line.1143"></a>
+<span class="sourceLineNo">1144</span> // allows to kill the executor before something is stored to the wal.<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> // useful to test the procedure recovery.<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> if (testing != null && !isRunning()) {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span> break;<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> }<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> if (proc.isSuccess()) {<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span> // update metrics on finishing the procedure<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> proc.updateMetricsOnFinish(getEnvironment(), proc.elapsedTime(), true);<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span><a name="line.1153"></a>
+<span class="sourceLineNo">1154</span> if (LOG.isDebugEnabled()) {<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1155"></a>
<span class="sourceLineNo">1156</span> }<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> break;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> } while (procStack.isFailed());<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span> }<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span><a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> private LockState acquireLock(final Procedure proc) {<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> final TEnvironment env = getEnvironment();<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> // hasLock() is used in conjunction with holdLock().<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> return LockState.LOCK_ACQUIRED;<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> }<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> return proc.doAcquireLock(env);<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> }<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> final TEnvironment env = getEnvironment();<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // for how the framework works, we know that we will always have the lock<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span> if (force || !proc.holdLock(env)) {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> proc.doReleaseLock(env);<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> }<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span> }<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span><a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> /**<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> * Execute the rollback of the full procedure stack.<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> * finished to user, and the result will be the fatal exception.<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> */<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> if (exception == null) {<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> exception = procStack.getException();<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span> rootProc.setFailure(exception);<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> store.update(rootProc);<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> }<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span><a name="line.1195"></a>
-<span class="sourceLineNo">1196</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span><a name="line.1198"></a>
-<span class="sourceLineNo">1199</span> int stackTail = subprocStack.size();<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> boolean reuseLock = false;<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> while (stackTail --> 0) {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span><a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> LockState lockState;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> // queue waiting for the lock availability<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span> return lockState;<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> }<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> lockState = executeRollback(proc);<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // If the next procedure is the same to this one<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> // we can avoid to lock/unlock each step<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span> if (!reuseLock) {<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> releaseLock(proc, false);<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> }<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span><a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // allows to kill the executor before something is stored to the wal.<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // useful to test the procedure recovery.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> if (abortRollback) {<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> return lockState;<a name="line.1226"></a>
+<span class="sourceLineNo">1157</span> // Finalize the procedure state<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> if (proc.getProcId() == rootProcId) {<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> procedureFinished(proc);<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> } else {<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> execCompletionCleanup(proc);<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span> }<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> break;<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> }<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> } while (procStack.isFailed());<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> }<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span><a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> private LockState acquireLock(final Procedure proc) {<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> final TEnvironment env = getEnvironment();<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> // hasLock() is used in conjunction with holdLock().<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> return LockState.LOCK_ACQUIRED;<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> }<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> return proc.doAcquireLock(env);<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> }<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span><a name="line.1178"></a>
+<span class="sourceLineNo">1179</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> final TEnvironment env = getEnvironment();<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> // for how the framework works, we know that we will always have the lock<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> if (force || !proc.holdLock(env)) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> proc.doReleaseLock(env);<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> }<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span> }<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span><a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> /**<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> * Execute the rollback of the full procedure stack.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> * finished to user, and the result will be the fatal exception.<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> */<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> if (exception == null) {<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> exception = procStack.getException();<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span> rootProc.setFailure(exception);<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> store.update(rootProc);<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span><a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> int stackTail = subprocStack.size();<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> boolean reuseLock = false;<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> while (stackTail --> 0) {<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span><a name="line.1209"></a>
+<span class="sourceLineNo">1210</span> LockState lockState;<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> // queue waiting for the lock availability<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> return lockState;<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> }<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span><a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> lockState = executeRollback(proc);<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span><a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> // If the next procedure is the same to this one<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> // we can avoid to lock/unlock each step<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> if (!reuseLock) {<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> releaseLock(proc, false);<a name="line.1226"></a>
<span class="sourceLineNo">1227</span> }<a name="line.1227"></a>
<span class="sourceLineNo">1228</span><a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> subprocStack.remove(stackTail);<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span><a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> // if the procedure is kind enough to pass the slot to someone else, yield<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span> if (proc.isYieldAfterExecutionStep(getEnvironment())) {<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> }<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span><a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> if (proc != rootProc) {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> execCompletionCleanup(proc);<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span> }<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span><a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> // Finalize the procedure state<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> LOG.info("Rolled back " + rootProc +<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> " exec-time=" + StringUtils.humanTimeDiff(rootProc.elapsedTime()));<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> procedureFinished(rootProc);<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> return LockState.LOCK_ACQUIRED;<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span> }<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> /**<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> * Execute the rollback of the procedure step.<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> * It updates the store with the new state (stack index)<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> * or will remove completly the procedure in case it is a child.<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> */<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span> private LockState executeRollback(final Procedure proc) {<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> try {<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> proc.doRollback(getEnvironment());<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> } catch (IOException e) {<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> if (LOG.isDebugEnabled()) {<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> LOG.debug("Roll back attempt failed for " + proc, e);<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> }<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> } catch (InterruptedException e) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> handleInterruptedException(proc, e);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span> } catch (Throwable e) {<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> // Catch NullPointerExceptions or similar errors...<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> LOG.fatal("CODE-BUG: Uncatched runtime exception for procedure: " + proc, e);<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> }<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span><a name="line.1268"></a>
-<span class="sourceLineNo">1269</span> // allows to kill the executor before something is stored to the wal.<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> // useful to test the procedure recovery.<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> if (testing != null && testing.shouldKillBeforeStoreUpdate()) {<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> LOG.debug("TESTING: Kill before store update");<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span> stop();<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> }<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> if (proc.removeStackIndex()) {<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> proc.setState(ProcedureState.ROLLEDBACK);<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span> if (proc.hasParent()) {<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> store.delete(proc.getProcId());<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> procedures.remove(proc.getProcId());<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> } else {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> final long[] childProcIds = rollbackStack.get(proc.getProcId()).getSubprocedureIds();<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> if (childProcIds != null) {<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span> store.delete(proc, childProcIds);<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> } else {<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> store.update(proc);<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> }<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> } else {<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span> store.update(proc);<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> }<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span><a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> return LockState.LOCK_ACQUIRED;<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span><a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> * Executes the specified procedure<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> * - calls the doExecute() of the procedure<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> * - if the procedure execution didn't fail (e.g. invalid user input)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> * - ...and returned subprocedures<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span> * - the subprocedures are initialized.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> * - the subprocedures are added to the store<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> * - the subprocedures are added to the runnable queue<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> * - the procedure is now in a WAITING state, waiting for the subprocedures to complete<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span> * - ...if there are no subprocedure<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> * - the procedure completed successfully<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> * - if there is a parent (WAITING)<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> * - the parent state will be set to RUNNABLE<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span> * - in case of failure<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> * - the store is updated with the new state<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> * - the executor (caller of this method) will start the rollback of the procedure<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> */<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span> private void execProcedure(final RootProcedureState procStack, final Procedure procedure) {<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> Preconditions.checkArgument(procedure.getState() == ProcedureState.RUNNABLE);<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span><a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> // Execute the procedure<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> boolean suspended = false;<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> boolean reExecute = false;<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> Procedure[] subprocs = null;<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> do {<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> reExecute = false;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> try {<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span> subprocs = procedure.doExecute(getEnvironment());<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (subprocs != null && subprocs.length == 0) {<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> subprocs = null;<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span> }<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> } catch (ProcedureSuspendedException e) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> suspended = true;<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> } catch (ProcedureYieldException e) {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> if (LOG.isTraceEnabled()) {<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> LOG.trace("Yield " + procedure + ": " + e.getMessage());<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span> }<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> scheduler.yield(procedure);<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> return;<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> } catch (InterruptedException e) {<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> handleInterruptedException(procedure, e);<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> scheduler.yield(procedure);<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span> return;<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> } catch (Throwable e) {<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // Catch NullPointerExceptions or similar errors...<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> String msg = "CODE-BUG: Uncaught runtime exception: " + procedure;<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> LOG.error(msg, e);<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> procedure.setFailure(new RemoteProcedureException(msg, e));<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span> }<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span><a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> if (!procedure.isFailed()) {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> if (subprocs != null) {<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span> if (subprocs.length == 1 && subprocs[0] == procedure) {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span> // quick-shortcut for a state machine like procedure<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> subprocs = null;<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> reExecute = true;<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> } else {
<TRUNCATED>
[32/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html
index 0842655..e92a58a 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.html
@@ -369,7 +369,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState<
/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-TEnvironment-">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.hb
ase.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#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#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="../../../../../../or
g/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/P
rocedure.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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#up
dateTimestamp--">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#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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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--">getSubmit
tedTime</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-TEnvironment-">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.h
adoop.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#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#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#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/proc
edure2/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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/P
rocedure.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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html
index 2277b39..06e501b 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.html
@@ -410,7 +410,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState<
/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-TEnvironment-">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.hb
ase.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#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#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="../../../../../../or
g/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/P
rocedure.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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#up
dateTimestamp--">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#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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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--">getSubmit
tedTime</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-TEnvironment-">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.h
adoop.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#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#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#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/proc
edure2/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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/P
rocedure.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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html
index 8ed3e2d..ea1a6a5 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.html
@@ -404,7 +404,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState<
/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-TEnvironment-">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.hb
ase.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#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#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="../../../../../../or
g/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/P
rocedure.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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#up
dateTimestamp--">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#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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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--">getSubmit
tedTime</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-TEnvironment-">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.h
adoop.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#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#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#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/proc
edure2/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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/P
rocedure.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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/MergeTableRegionsProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/MergeTableRegionsProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/MergeTableRegionsProcedure.html
index 1ee0858..a1be999 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/MergeTableRegionsProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/MergeTableRegionsProcedure.html
@@ -523,7 +523,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState<
/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-TEnvironment-">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.hb
ase.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#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#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="../../../../../../or
g/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/P
rocedure.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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#up
dateTimestamp--">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#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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">d
oExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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.htm
l#getParentProcId--">getParentProcId</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#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--">getSubmit
tedTime</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-TEnvironment-">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.h
adoop.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#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#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#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/proc
edure2/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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/P
rocedure.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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html
index a14db2c..19f956e 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.html
@@ -400,7 +400,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock
</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#getProcId--">g
etProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</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#getStartTime--">getStartTime</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</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-TEnvironment-">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/had
oop/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#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#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#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apache/hadoo
p/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#setStartTime-long-">setStartTime</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/hb
ase/procedure2/Procedure.html#setTimeout-int-">setTimeout</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#toStringDetails--">toStringDetails</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringSimpleSB--">toStringSimpleSB</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">was
Executed</a></code></li>
+<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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock
</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#getProcId--">g
etProcId</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcIdHashCode-long-">getProcIdHashCode</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-TEnvironment-">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/ap
ache/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#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#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#removeStackIndex--">removeStackIndex</a>, <a href="../../../../../../org/apac
he/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/Procedu
re.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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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#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/hado
op/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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
[29/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/procedure2/Procedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/Procedure.html b/devapidocs/org/apache/hadoop/hbase/procedure2/Procedure.html
index e4ec821..54a01a3 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/Procedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/Procedure.html
@@ -18,7 +18,7 @@
catch(err) {
}
//-->
-var methods = {"i0":6,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":6,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":6,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":9,"i23":10,"i24":9,"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":9,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":6,"i50":6,"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};
+var methods = {"i0":6,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":6,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":6,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":9,"i23":10,"i24":9,"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":9,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":6,"i50":6,"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};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -123,7 +123,7 @@ public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/p
extends <a href="http://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="http://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>></pre>
<div class="block">Base Procedure class responsible to handle the Procedure Metadata
- e.g. state, startTime, lastUpdate, stack-indexes, ...
+ e.g. state, submittedTime, lastUpdate, stack-indexes, ...
execute() is called each time the procedure is executed.
it may be called multiple times in case of failure and restart, so the
@@ -225,13 +225,13 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#stackIndexes">stackIndexes</a></span></code> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><code>private long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#startTime">startTime</a></span></code> </td>
-</tr>
-<tr class="rowColor">
<td class="colFirst"><code>private org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#state">state</a></span></code> </td>
</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#submittedTime">submittedTime</a></span></code> </td>
+</tr>
<tr class="altColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#timeout">timeout</a></span></code> </td>
@@ -409,13 +409,13 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getStackIndexes--">getStackIndexes</a></span>()</code> </td>
</tr>
<tr id="i27" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getStartTime--">getStartTime</a></span>()</code> </td>
-</tr>
-<tr id="i28" class="altColor">
<td class="colFirst"><code>protected org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getState--">getState</a></span>()</code> </td>
</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getSubmittedTime--">getSubmittedTime</a></span>()</code> </td>
+</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getTimeout--">getTimeout</a></span>()</code> </td>
@@ -594,14 +594,14 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setStartTime-long-">setStartTime</a></span>(long startTime)</code>
-<div class="block">Called on store load to initialize the Procedure internals after
- the creation/deserialization.</div>
-</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState-">setState</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState state)</code> </td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState-">setState</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState state)</code> </td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setSubmittedTime-long-">setSubmittedTime</a></span>(long submittedTime)</code>
+<div class="block">Called on store load to initialize the Procedure internals after
+ the creation/deserialization.</div>
+</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>protected void</code></td>
@@ -657,11 +657,25 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnFinish-TEnvironment-long-boolean-">updateMetricsOnFinish</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="type parameter in Procedure">TEnvironment</a> env,
+ long runtime,
+ boolean success)</code>
+<div class="block">This function will be called just after procedure execution is finished.</div>
+</td>
+</tr>
+<tr id="i76" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnSubmit-TEnvironment-">updateMetricsOnSubmit</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="type parameter in Procedure">TEnvironment</a> env)</code>
+<div class="block">This function will be called just when procedure is submitted for execution.</div>
+</td>
+</tr>
+<tr id="i77" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#updateTimestamp--">updateTimestamp</a></span>()</code>
<div class="block">Called by ProcedureExecutor after each time a procedure step is executed.</div>
</td>
</tr>
-<tr id="i76" class="altColor">
+<tr id="i78" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#wasExecuted--">wasExecuted</a></span>()</code> </td>
</tr>
@@ -758,13 +772,13 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.75">procId</a></pre>
</li>
</ul>
-<a name="startTime">
+<a name="submittedTime">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>startTime</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.76">startTime</a></pre>
+<h4>submittedTime</h4>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.76">submittedTime</a></pre>
</li>
</ul>
<a name="state">
@@ -1125,13 +1139,51 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
</dl>
</li>
</ul>
+<a name="updateMetricsOnSubmit-java.lang.Object-">
+<!-- -->
+</a><a name="updateMetricsOnSubmit-TEnvironment-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateMetricsOnSubmit</h4>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.247">updateMetricsOnSubmit</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="type parameter in Procedure">TEnvironment</a> env)</pre>
+<div class="block">This function will be called just when procedure is submitted for execution. Override this
+ method to update the metrics at the beginning of the procedure</div>
+</li>
+</ul>
+<a name="updateMetricsOnFinish-java.lang.Object-long-boolean-">
+<!-- -->
+</a><a name="updateMetricsOnFinish-TEnvironment-long-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateMetricsOnFinish</h4>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.261">updateMetricsOnFinish</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="type parameter in Procedure">TEnvironment</a> env,
+ long runtime,
+ boolean success)</pre>
+<div class="block">This function will be called just after procedure execution is finished. Override this method
+ to update metrics at the end of the procedure
+
+ TODO: As any of the sub-procedures on failure rolls back all procedures in the stack,
+ including successfully finished siblings, this function may get called twice in certain
+ cases for certain procedures. Explore further if this can be called once.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>env</code> - </dd>
+<dd><code>runtime</code> - - Runtime of the procedure in milliseconds</dd>
+<dd><code>success</code> - - true if procedure is completed successfully</dd>
+</dl>
+</li>
+</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
-<pre>public <a href="http://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/procedure2/Procedure.html#line.244">toString</a>()</pre>
+<pre>public <a href="http://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/procedure2/Procedure.html#line.265">toString</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code> in class <code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -1144,7 +1196,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<ul class="blockList">
<li class="blockList">
<h4>toStringSimpleSB</h4>
-<pre>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.254">toStringSimpleSB</a>()</pre>
+<pre>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.275">toStringSimpleSB</a>()</pre>
<div class="block">Build the StringBuilder for the simple form of
procedure string.</div>
<dl>
@@ -1159,7 +1211,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<ul class="blockList">
<li class="blockList">
<h4>toStringDetails</h4>
-<pre>public <a href="http://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/procedure2/Procedure.html#line.287">toStringDetails</a>()</pre>
+<pre>public <a href="http://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/procedure2/Procedure.html#line.308">toStringDetails</a>()</pre>
<div class="block">Extend the toString() information with more procedure
details</div>
</li>
@@ -1170,7 +1222,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<ul class="blockList">
<li class="blockList">
<h4>toStringClass</h4>
-<pre>protected <a href="http://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/procedure2/Procedure.html#line.306">toStringClass</a>()</pre>
+<pre>protected <a href="http://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/procedure2/Procedure.html#line.327">toStringClass</a>()</pre>
</li>
</ul>
<a name="toStringState-java.lang.StringBuilder-">
@@ -1179,7 +1231,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<ul class="blockList">
<li class="blockList">
<h4>toStringState</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.316">toStringState</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a> builder)</pre>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.337">toStringState</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a> builder)</pre>
<div class="block">Called from <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toString--"><code>toString()</code></a> when interpolating <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2"><code>Procedure</code></a> state</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -1193,7 +1245,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<ul class="blockList">
<li class="blockList">
<h4>toStringClassDetails</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.325">toStringClassDetails</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a> builder)</pre>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.346">toStringClassDetails</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a> builder)</pre>
<div class="block">Extend the toString() information with the procedure details
e.g. className and parameters</div>
<dl>
@@ -1208,7 +1260,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<ul class="blockList">
<li class="blockList">
<h4>getProcId</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.336">getProcId</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.357">getProcId</a>()</pre>
</li>
</ul>
<a name="hasParent--">
@@ -1217,7 +1269,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<ul class="blockList">
<li class="blockList">
<h4>hasParent</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.340">hasParent</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.361">hasParent</a>()</pre>
</li>
</ul>
<a name="getParentProcId--">
@@ -1226,7 +1278,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<ul class="blockList">
<li class="blockList">
<h4>getParentProcId</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.344">getParentProcId</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.365">getParentProcId</a>()</pre>
</li>
</ul>
<a name="getRootProcId--">
@@ -1235,7 +1287,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<ul class="blockList">
<li class="blockList">
<h4>getRootProcId</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.348">getRootProcId</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.369">getRootProcId</a>()</pre>
</li>
</ul>
<a name="getNonceKey--">
@@ -1244,16 +1296,16 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<ul class="blockList">
<li class="blockList">
<h4>getNonceKey</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.352">getNonceKey</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.373">getNonceKey</a>()</pre>
</li>
</ul>
-<a name="getStartTime--">
+<a name="getSubmittedTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getStartTime</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.356">getStartTime</a>()</pre>
+<h4>getSubmittedTime</h4>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.377">getSubmittedTime</a>()</pre>
</li>
</ul>
<a name="getOwner--">
@@ -1262,7 +1314,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<ul class="blockList">
<li class="blockList">
<h4>getOwner</h4>
-<pre>public <a href="http://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/procedure2/Procedure.html#line.360">getOwner</a>()</pre>
+<pre>public <a href="http://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/procedure2/Procedure.html#line.381">getOwner</a>()</pre>
</li>
</ul>
<a name="hasOwner--">
@@ -1271,7 +1323,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<ul class="blockList">
<li class="blockList">
<h4>hasOwner</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.364">hasOwner</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.385">hasOwner</a>()</pre>
</li>
</ul>
<a name="setProcId-long-">
@@ -1281,7 +1333,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
<li class="blockList">
<h4>setProcId</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.373">setProcId</a>(long procId)</pre>
+protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.394">setProcId</a>(long procId)</pre>
<div class="block">Called by the ProcedureExecutor to assign the ID to the newly created procedure.</div>
</li>
</ul>
@@ -1292,7 +1344,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>setParentProcId</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.383">setParentProcId</a>(long parentProcId)</pre>
+protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.404">setParentProcId</a>(long parentProcId)</pre>
<div class="block">Called by the ProcedureExecutor to assign the parent to the newly created procedure.</div>
</li>
</ul>
@@ -1303,7 +1355,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>setRootProcId</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.388">setRootProcId</a>(long rootProcId)</pre>
+protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.409">setRootProcId</a>(long rootProcId)</pre>
</li>
</ul>
<a name="setNonceKey-org.apache.hadoop.hbase.util.NonceKey-">
@@ -1313,7 +1365,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>setNonceKey</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.397">setNonceKey</a>(<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a> nonceKey)</pre>
+protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.418">setNonceKey</a>(<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a> nonceKey)</pre>
<div class="block">Called by the ProcedureExecutor to set the value to the newly created procedure.</div>
</li>
</ul>
@@ -1324,7 +1376,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>setOwner</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.403">setOwner</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> owner)</pre>
+public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.424">setOwner</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> owner)</pre>
</li>
</ul>
<a name="setOwner-org.apache.hadoop.hbase.security.User-">
@@ -1333,17 +1385,17 @@ public void <a href="../../../../../src-html/org/apache/hadoop/hbase/p
<ul class="blockList">
<li class="blockList">
<h4>setOwner</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.407">setOwner</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> owner)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.428">setOwner</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> owner)</pre>
</li>
</ul>
-<a name="setStartTime-long-">
+<a name="setSubmittedTime-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setStartTime</h4>
+<h4>setSubmittedTime</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.417">setStartTime</a>(long startTime)</pre>
+protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.438">setSubmittedTime</a>(long submittedTime)</pre>
<div class="block">Called on store load to initialize the Procedure internals after
the creation/deserialization.</div>
</li>
@@ -1354,7 +1406,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>setTimeout</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.427">setTimeout</a>(int timeout)</pre>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.448">setTimeout</a>(int timeout)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - timeout interval in msec</dd>
@@ -1367,7 +1419,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>hasTimeout</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.431">hasTimeout</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.452">hasTimeout</a>()</pre>
</li>
</ul>
<a name="getTimeout--">
@@ -1376,7 +1428,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>getTimeout</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.438">getTimeout</a>()</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.459">getTimeout</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the timeout in msec</dd>
@@ -1390,7 +1442,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>setLastUpdate</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.447">setLastUpdate</a>(long lastUpdate)</pre>
+protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.468">setLastUpdate</a>(long lastUpdate)</pre>
<div class="block">Called on store load to initialize the Procedure internals after
the creation/deserialization.</div>
</li>
@@ -1402,7 +1454,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>updateTimestamp</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.455">updateTimestamp</a>()</pre>
+protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.476">updateTimestamp</a>()</pre>
<div class="block">Called by ProcedureExecutor after each time a procedure step is executed.</div>
</li>
</ul>
@@ -1412,7 +1464,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>getLastUpdate</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.459">getLastUpdate</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.480">getLastUpdate</a>()</pre>
</li>
</ul>
<a name="getTimeoutTimestamp--">
@@ -1422,7 +1474,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>getTimeoutTimestamp</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.470">getTimeoutTimestamp</a>()</pre>
+protected long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.491">getTimeoutTimestamp</a>()</pre>
<div class="block">Timeout of the next timeout.
Called by the ProcedureExecutor if the procedure has timeout set and
the procedure is in the waiting queue.</div>
@@ -1438,7 +1490,7 @@ protected long <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>elapsedTime</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.480">elapsedTime</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.501">elapsedTime</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the time elapsed between the last update and the start time of the procedure.</dd>
@@ -1451,7 +1503,7 @@ protected long <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>getResult</h4>
-<pre>public byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.487">getResult</a>()</pre>
+<pre>public byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.508">getResult</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the serialized result if any, otherwise null</dd>
@@ -1464,7 +1516,7 @@ protected long <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>setResult</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.495">setResult</a>(byte[] result)</pre>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.516">setResult</a>(byte[] result)</pre>
<div class="block">The procedure may leave a "result" on completion.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -1478,7 +1530,7 @@ protected long <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>isRunnable</h4>
-<pre>protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.530">isRunnable</a>()</pre>
+<pre>protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.551">isRunnable</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the procedure is in a RUNNABLE state.</dd>
@@ -1491,7 +1543,7 @@ protected long <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>isInitializing</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.534">isInitializing</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.555">isInitializing</a>()</pre>
</li>
</ul>
<a name="isFailed--">
@@ -1500,7 +1552,7 @@ protected long <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>isFailed</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.541">isFailed</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.562">isFailed</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the procedure has failed. It may or may not have rolled back.</dd>
@@ -1513,7 +1565,7 @@ protected long <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>isSuccess</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.548">isSuccess</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.569">isSuccess</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the procedure is finished successfully.</dd>
@@ -1526,7 +1578,7 @@ protected long <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>isFinished</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.556">isFinished</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.577">isFinished</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the procedure is finished. The Procedure may be completed successfully or
@@ -1540,7 +1592,7 @@ protected long <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>isWaiting</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.563">isWaiting</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.584">isWaiting</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the procedure is waiting for a child to finish or for an external event.</dd>
@@ -1554,7 +1606,7 @@ protected long <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>setState</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.576">setState</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState state)</pre>
+protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.597">setState</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState state)</pre>
</li>
</ul>
<a name="getState--">
@@ -1564,7 +1616,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>getState</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.582">getState</a>()</pre>
+protected org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.603">getState</a>()</pre>
</li>
</ul>
<a name="setFailure-java.lang.String-java.lang.Throwable-">
@@ -1573,7 +1625,7 @@ protected org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos
<ul class="blockList">
<li class="blockList">
<h4>setFailure</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.586">setFailure</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> source,
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.607">setFailure</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> source,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> cause)</pre>
</li>
</ul>
@@ -1583,7 +1635,7 @@ protected org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos
<ul class="blockList">
<li class="blockList">
<h4>setFailure</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.590">setFailure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureException.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureException</a> exception)</pre>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.611">setFailure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureException.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureException</a> exception)</pre>
</li>
</ul>
<a name="setAbortFailure-java.lang.String-java.lang.String-">
@@ -1592,7 +1644,7 @@ protected org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos
<ul class="blockList">
<li class="blockList">
<h4>setAbortFailure</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.597">setAbortFailure</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> source,
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.618">setAbortFailure</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> source,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> msg)</pre>
</li>
</ul>
@@ -1604,7 +1656,7 @@ protected org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos
<ul class="blockList">
<li class="blockList">
<h4>setTimeoutFailure</h4>
-<pre>protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.606">setTimeoutFailure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="type parameter in Procedure">TEnvironment</a> env)</pre>
+<pre>protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.627">setTimeoutFailure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="type parameter in Procedure">TEnvironment</a> env)</pre>
<div class="block">Called by the ProcedureExecutor when the timeout set by setTimeout() is expired.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -1619,7 +1671,7 @@ protected org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos
<ul class="blockList">
<li class="blockList">
<h4>hasException</h4>
-<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.616">hasException</a>()</pre>
+<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.637">hasException</a>()</pre>
</li>
</ul>
<a name="getException--">
@@ -1628,7 +1680,7 @@ protected org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos
<ul class="blockList">
<li class="blockList">
<h4>getException</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureException.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureException</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.620">getException</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureException.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureException</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.641">getException</a>()</pre>
</li>
</ul>
<a name="setChildrenLatch-int-">
@@ -1638,7 +1690,7 @@ protected org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos
<li class="blockList">
<h4>setChildrenLatch</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.628">setChildrenLatch</a>(int numChildren)</pre>
+protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.649">setChildrenLatch</a>(int numChildren)</pre>
<div class="block">Called by the ProcedureExecutor on procedure-load to restore the latch state</div>
</li>
</ul>
@@ -1649,7 +1701,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>incChildrenLatch</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.636">incChildrenLatch</a>()</pre>
+protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.657">incChildrenLatch</a>()</pre>
<div class="block">Called by the ProcedureExecutor on procedure-load to restore the latch state</div>
</li>
</ul>
@@ -1660,7 +1712,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>childrenCountDown</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.645">childrenCountDown</a>()</pre>
+protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.666">childrenCountDown</a>()</pre>
<div class="block">Called by the ProcedureExecutor to notify that one of the sub-procedures has completed.</div>
</li>
</ul>
@@ -1671,7 +1723,7 @@ protected boolean <a href="../../../../../src-html/org/apache/hadoop/h
<li class="blockList">
<h4>hasChildren</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.651">hasChildren</a>()</pre>
+protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.672">hasChildren</a>()</pre>
</li>
</ul>
<a name="getChildrenLatch--">
@@ -1681,7 +1733,7 @@ protected boolean <a href="../../../../../src-html/org/apache/hadoop/h
<li class="blockList">
<h4>getChildrenLatch</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.656">getChildrenLatch</a>()</pre>
+protected int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.677">getChildrenLatch</a>()</pre>
</li>
</ul>
<a name="addStackIndex-int-">
@@ -1691,7 +1743,7 @@ protected int <a href="../../../../../src-html/org/apache/hadoop/hbase
<li class="blockList">
<h4>addStackIndex</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.665">addStackIndex</a>(int index)</pre>
+protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.686">addStackIndex</a>(int index)</pre>
<div class="block">Called by the RootProcedureState on procedure execution.
Each procedure store its stack-index positions.</div>
</li>
@@ -1703,7 +1755,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>removeStackIndex</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.676">removeStackIndex</a>()</pre>
+protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.697">removeStackIndex</a>()</pre>
</li>
</ul>
<a name="setStackIndexes-java.util.List-">
@@ -1713,7 +1765,7 @@ protected boolean <a href="../../../../../src-html/org/apache/hadoop/h
<li class="blockList">
<h4>setStackIndexes</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.691">setStackIndexes</a>(<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> stackIndexes)</pre>
+protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.712">setStackIndexes</a>(<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> stackIndexes)</pre>
<div class="block">Called on store load to initialize the Procedure internals after
the creation/deserialization.</div>
</li>
@@ -1725,7 +1777,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>wasExecuted</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.699">wasExecuted</a>()</pre>
+protected boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.720">wasExecuted</a>()</pre>
</li>
</ul>
<a name="getStackIndexes--">
@@ -1735,7 +1787,7 @@ protected boolean <a href="../../../../../src-html/org/apache/hadoop/h
<li class="blockList">
<h4>getStackIndexes</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected int[] <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.704">getStackIndexes</a>()</pre>
+protected int[] <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.725">getStackIndexes</a>()</pre>
</li>
</ul>
<a name="doExecute-java.lang.Object-">
@@ -1747,7 +1799,7 @@ protected int[] <a href="../../../../../src-html/org/apache/hadoop/hba
<li class="blockList">
<h4>doExecute</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.716">doExecute</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="type parameter in Procedure">TEnvironment</a> env)
+protected <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.737">doExecute</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="type parameter in Procedure">TEnvironment</a> env)
throws <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureYieldException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureYieldException</a>,
<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a>,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -1769,7 +1821,7 @@ protected <a href="../../../../../org/apache/hadoop/hbase/procedure2/Proced
<li class="blockList">
<h4>doRollback</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.730">doRollback</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="type parameter in Procedure">TEnvironment</a> env)
+protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.751">doRollback</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="type parameter in Procedure">TEnvironment</a> env)
throws <a href="http://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="http://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">Internal method called by the ProcedureExecutor that starts the user-level code rollback().</div>
@@ -1789,7 +1841,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>doAcquireLock</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-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/procedure2/Procedure.html#line.744">doAcquireLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="type parameter in Procedure">TEnvironment</a> env)</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/procedure2/Procedure.html#line.765">doAcquireLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="type parameter in Procedure">TEnvironment</a> env)</pre>
<div class="block">Internal method called by the ProcedureExecutor that starts the user-level code acquireLock().</div>
</li>
</ul>
@@ -1802,7 +1854,7 @@ protected <a href="../../../../../org/apache/hadoop/hbase/procedure2/Proced
<li class="blockList">
<h4>doReleaseLock</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.752">doReleaseLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="type parameter in Procedure">TEnvironment</a> env)</pre>
+protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.773">doReleaseLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="type parameter in Procedure">TEnvironment</a> env)</pre>
<div class="block">Internal method called by the ProcedureExecutor that starts the user-level code releaseLock().</div>
</li>
</ul>
@@ -1812,7 +1864,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>compareTo</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.757">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> other)</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.778">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> other)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code> in interface <code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>></code></dd>
@@ -1825,7 +1877,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<ul class="blockList">
<li class="blockList">
<h4>getProcIdHashCode</h4>
-<pre>public static long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.769">getProcIdHashCode</a>(long procId)</pre>
+<pre>public static long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.790">getProcIdHashCode</a>(long procId)</pre>
<div class="block">Get an hashcode for the specified Procedure ID</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -1840,7 +1892,7 @@ protected void <a href="../../../../../src-html/org/apache/hadoop/hbas
<li class="blockList">
<h4>getRootProcedureId</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-protected static <a href="http://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/procedure2/Procedure.html#line.783">getRootProcedureId</a>(<a href="http://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="http://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="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>> procedures,
+protected static <a href="http://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/procedure2/Procedure.html#line.804">getRootProcedureId</a>(<a href="http://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="http://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="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>> procedures,
<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> proc)</pre>
</li>
</ul>
@@ -1850,7 +1902,7 @@ protected static <a href="http://docs.oracle.com/javase/8/docs/api/java/lan
<ul class="blockListLast">
<li class="blockList">
<h4>haveSameParent</h4>
-<pre>public static boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.796">haveSameParent</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> a,
+<pre>public static boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/Procedure.html#line.817">haveSameParent</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> a,
<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> b)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.CompletedProcedureCleaner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.CompletedProcedureCleaner.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.CompletedProcedureCleaner.html
index 5dc7421..8241095 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.CompletedProcedureCleaner.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.CompletedProcedureCleaner.html
@@ -286,7 +286,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureInMe
<!-- -->
</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a hre
f="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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 hr
ef="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</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#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#getStartTime--">getStartTime</a>, <a href="../../../../../org/apache/hadoop/hbase/proc
edure2/Procedure.html#getState--">getState</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-TEnvironment-">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#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#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/ha
doop/hbase/procedure2/Procedure.html#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</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#setLastUpda
te-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#setStartTime-long-">setStartTime</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#setTimeout-int-">setTimeout</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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-">t
oStringClassDetails</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#toStringState-java.lang.StringBuilder-">toStringState</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#childrenCountDown--">childrenCountDown</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#doAcquireLock-TEnvironment-">doAcquireLock</a>, <a hre
f="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute-TEnvironment-">doExecute</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doReleaseLock-TEnvironment-">doReleaseLock</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 hr
ef="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getParentProcId--">getParentProcId</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#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/P
rocedure.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-TEnvironment-">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#haveSamePar
ent-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#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#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/a
pache/hadoop/hbase/procedure2/Procedure.html#isYieldAfterExecutionStep-TEnvironment-">isYieldAfterExecutionStep</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#set
LastUpdate-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-">setStackInd
exes</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#setTimeoutFailure-TEnvironment-">setTimeoutFailure</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">shouldWaitClientAck</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.S
tringBuilder-">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#toStringState-java.lang.StringBuilder-">toStringState</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>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.DelayedProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.DelayedProcedure.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.DelayedProcedure.html
index 3230e8b..0fa196a 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.DelayedProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.DelayedProcedure.html
@@ -126,7 +126,7 @@
</dl>
<hr>
<br>
-<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1713">ProcedureExecutor.DelayedProcedure</a>
+<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1724">ProcedureExecutor.DelayedProcedure</a>
extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/util/DelayedUtil.DelayedContainerWithTimestamp.html" title="class in org.apache.hadoop.hbase.procedure2.util">DelayedUtil.DelayedContainerWithTimestamp</a><<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>></pre>
</li>
</ul>
@@ -205,7 +205,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/util/DelayedU
<ul class="blockListLast">
<li class="blockList">
<h4>DelayedProcedure</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.DelayedProcedure.html#line.1715">DelayedProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> procedure)</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.DelayedProcedure.html#line.1726">DelayedProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a> procedure)</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html
index 2cf686b..efb2ee9 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html
@@ -126,7 +126,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1747">ProcedureExecutor.InlineChore</a>
+<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#line.1758">ProcedureExecutor.InlineChore</a>
extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/util/DelayedUtil.DelayedObject.html" title="class in org.apache.hadoop.hbase.procedure2.util">DelayedUtil.DelayedObject</a>
implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></pre>
</li>
@@ -239,7 +239,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.
<ul class="blockListLast">
<li class="blockList">
<h4>timeout</h4>
-<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html#line.1748">timeout</a></pre>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html#line.1759">timeout</a></pre>
</li>
</ul>
</li>
@@ -256,7 +256,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.
<ul class="blockListLast">
<li class="blockList">
<h4>InlineChore</h4>
-<pre>private <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html#line.1747">InlineChore</a>()</pre>
+<pre>private <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html#line.1758">InlineChore</a>()</pre>
</li>
</ul>
</li>
@@ -273,7 +273,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.
<ul class="blockList">
<li class="blockList">
<h4>getTimeoutInterval</h4>
-<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html#line.1750">getTimeoutInterval</a>()</pre>
+<pre>public abstract int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html#line.1761">getTimeoutInterval</a>()</pre>
</li>
</ul>
<a name="refreshTimeout--">
@@ -282,7 +282,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.
<ul class="blockList">
<li class="blockList">
<h4>refreshTimeout</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html#line.1752">refreshTimeout</a>()</pre>
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html#line.1763">refreshTimeout</a>()</pre>
</li>
</ul>
<a name="getTimeout--">
@@ -291,7 +291,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.
<ul class="blockListLast">
<li class="blockList">
<h4>getTimeout</h4>
-<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html#line.1757">getTimeout</a>()</pre>
+<pre>public long <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html#line.1768">getTimeout</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/util/DelayedUtil.DelayedWithTimeout.html#getTimeout--">getTimeout</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/procedure2/util/DelayedUtil.DelayedWithTimeout.html" title="interface in org.apache.hadoop.hbase.procedure2.util">DelayedUtil.DelayedWithTimeout</a></code></dd>
[12/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureUtil.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureUtil.html
index 0b4a142..8fa3486 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureUtil.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureUtil.html
@@ -105,7 +105,7 @@
<span class="sourceLineNo">097</span> .setClassName(proc.getClass().getName())<a name="line.97"></a>
<span class="sourceLineNo">098</span> .setProcId(proc.getProcId())<a name="line.98"></a>
<span class="sourceLineNo">099</span> .setState(proc.getState())<a name="line.99"></a>
-<span class="sourceLineNo">100</span> .setStartTime(proc.getStartTime())<a name="line.100"></a>
+<span class="sourceLineNo">100</span> .setSubmittedTime(proc.getSubmittedTime())<a name="line.100"></a>
<span class="sourceLineNo">101</span> .setLastUpdate(proc.getLastUpdate());<a name="line.101"></a>
<span class="sourceLineNo">102</span><a name="line.102"></a>
<span class="sourceLineNo">103</span> if (proc.hasParent()) {<a name="line.103"></a>
@@ -172,7 +172,7 @@
<span class="sourceLineNo">164</span> // set fields<a name="line.164"></a>
<span class="sourceLineNo">165</span> proc.setProcId(proto.getProcId());<a name="line.165"></a>
<span class="sourceLineNo">166</span> proc.setState(proto.getState());<a name="line.166"></a>
-<span class="sourceLineNo">167</span> proc.setStartTime(proto.getStartTime());<a name="line.167"></a>
+<span class="sourceLineNo">167</span> proc.setSubmittedTime(proto.getSubmittedTime());<a name="line.167"></a>
<span class="sourceLineNo">168</span> proc.setLastUpdate(proto.getLastUpdate());<a name="line.168"></a>
<span class="sourceLineNo">169</span><a name="line.169"></a>
<span class="sourceLineNo">170</span> if (proto.hasParentId()) {<a name="line.170"></a>
@@ -225,7 +225,7 @@
<span class="sourceLineNo">217</span><a name="line.217"></a>
<span class="sourceLineNo">218</span> builder.setClassName(procInfo.getProcName());<a name="line.218"></a>
<span class="sourceLineNo">219</span> builder.setProcId(procInfo.getProcId());<a name="line.219"></a>
-<span class="sourceLineNo">220</span> builder.setStartTime(procInfo.getStartTime());<a name="line.220"></a>
+<span class="sourceLineNo">220</span> builder.setSubmittedTime(procInfo.getSubmittedTime());<a name="line.220"></a>
<span class="sourceLineNo">221</span> builder.setState(ProcedureProtos.ProcedureState.valueOf(procInfo.getProcState().name()));<a name="line.221"></a>
<span class="sourceLineNo">222</span> builder.setLastUpdate(procInfo.getLastUpdate());<a name="line.222"></a>
<span class="sourceLineNo">223</span><a name="line.223"></a>
@@ -265,7 +265,7 @@
<span class="sourceLineNo">257</span> procProto.hasParentId() ? procProto.getParentId() : -1, nonceKey,<a name="line.257"></a>
<span class="sourceLineNo">258</span> procProto.hasException() ?<a name="line.258"></a>
<span class="sourceLineNo">259</span> ForeignExceptionUtil.toIOException(procProto.getException()) : null,<a name="line.259"></a>
-<span class="sourceLineNo">260</span> procProto.getLastUpdate(), procProto.getStartTime(),<a name="line.260"></a>
+<span class="sourceLineNo">260</span> procProto.getLastUpdate(), procProto.getSubmittedTime(),<a name="line.260"></a>
<span class="sourceLineNo">261</span> procProto.hasResult() ? procProto.getResult().toByteArray() : null);<a name="line.261"></a>
<span class="sourceLineNo">262</span> }<a name="line.262"></a>
<span class="sourceLineNo">263</span><a name="line.263"></a>
@@ -287,7 +287,7 @@
<span class="sourceLineNo">279</span> convertToProcedureState(proc.getState()),<a name="line.279"></a>
<span class="sourceLineNo">280</span> proc.hasParent() ? proc.getParentProcId() : -1, nonceKey,<a name="line.280"></a>
<span class="sourceLineNo">281</span> exception != null ? exception.unwrapRemoteIOException() : null,<a name="line.281"></a>
-<span class="sourceLineNo">282</span> proc.getLastUpdate(), proc.getStartTime(), proc.getResult());<a name="line.282"></a>
+<span class="sourceLineNo">282</span> proc.getLastUpdate(), proc.getSubmittedTime(), proc.getResult());<a name="line.282"></a>
<span class="sourceLineNo">283</span> }<a name="line.283"></a>
<span class="sourceLineNo">284</span>}<a name="line.284"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
index b727f8b..2d9519b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -69,15 +69,15 @@
<span class="sourceLineNo">061</span> requiredArguments = {<a name="line.61"></a>
<span class="sourceLineNo">062</span> @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.62"></a>
<span class="sourceLineNo">063</span> optionalArguments = {<a name="line.63"></a>
-<span class="sourceLineNo">064</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span> @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span> @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span> @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span> @org.jamon.annotations.Argument(name = "frags", type = "Map<String,Integer>"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span> @org.jamon.annotations.Argument(name = "servers", type = "List<ServerName>"),<a name="line.70"></a>
-<span class="sourceLineNo">071</span> @org.jamon.annotations.Argument(name = "deadServers", type = "Set<ServerName>"),<a name="line.71"></a>
-<span class="sourceLineNo">072</span> @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean")})<a name="line.72"></a>
+<span class="sourceLineNo">064</span> @org.jamon.annotations.Argument(name = "frags", type = "Map<String,Integer>"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span> @org.jamon.annotations.Argument(name = "servers", type = "List<ServerName>"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span> @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span> @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span> @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span> @org.jamon.annotations.Argument(name = "deadServers", type = "Set<ServerName>"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.70"></a>
+<span class="sourceLineNo">071</span> @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.71"></a>
+<span class="sourceLineNo">072</span> @org.jamon.annotations.Argument(name = "filter", type = "String")})<a name="line.72"></a>
<span class="sourceLineNo">073</span>public class MasterStatusTmpl<a name="line.73"></a>
<span class="sourceLineNo">074</span> extends org.jamon.AbstractTemplateProxy<a name="line.74"></a>
<span class="sourceLineNo">075</span>{<a name="line.75"></a>
@@ -118,159 +118,159 @@
<span class="sourceLineNo">110</span> return m_master;<a name="line.110"></a>
<span class="sourceLineNo">111</span> }<a name="line.111"></a>
<span class="sourceLineNo">112</span> private HMaster m_master;<a name="line.112"></a>
-<span class="sourceLineNo">113</span> // 26, 1<a name="line.113"></a>
-<span class="sourceLineNo">114</span> public void setFilter(String filter)<a name="line.114"></a>
+<span class="sourceLineNo">113</span> // 21, 1<a name="line.113"></a>
+<span class="sourceLineNo">114</span> public void setFrags(Map<String,Integer> frags)<a name="line.114"></a>
<span class="sourceLineNo">115</span> {<a name="line.115"></a>
-<span class="sourceLineNo">116</span> // 26, 1<a name="line.116"></a>
-<span class="sourceLineNo">117</span> m_filter = filter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> m_filter__IsNotDefault = true;<a name="line.118"></a>
+<span class="sourceLineNo">116</span> // 21, 1<a name="line.116"></a>
+<span class="sourceLineNo">117</span> m_frags = frags;<a name="line.117"></a>
+<span class="sourceLineNo">118</span> m_frags__IsNotDefault = true;<a name="line.118"></a>
<span class="sourceLineNo">119</span> }<a name="line.119"></a>
-<span class="sourceLineNo">120</span> public String getFilter()<a name="line.120"></a>
+<span class="sourceLineNo">120</span> public Map<String,Integer> getFrags()<a name="line.120"></a>
<span class="sourceLineNo">121</span> {<a name="line.121"></a>
-<span class="sourceLineNo">122</span> return m_filter;<a name="line.122"></a>
+<span class="sourceLineNo">122</span> return m_frags;<a name="line.122"></a>
<span class="sourceLineNo">123</span> }<a name="line.123"></a>
-<span class="sourceLineNo">124</span> private String m_filter;<a name="line.124"></a>
-<span class="sourceLineNo">125</span> public boolean getFilter__IsNotDefault()<a name="line.125"></a>
+<span class="sourceLineNo">124</span> private Map<String,Integer> m_frags;<a name="line.124"></a>
+<span class="sourceLineNo">125</span> public boolean getFrags__IsNotDefault()<a name="line.125"></a>
<span class="sourceLineNo">126</span> {<a name="line.126"></a>
-<span class="sourceLineNo">127</span> return m_filter__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">127</span> return m_frags__IsNotDefault;<a name="line.127"></a>
<span class="sourceLineNo">128</span> }<a name="line.128"></a>
-<span class="sourceLineNo">129</span> private boolean m_filter__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span> // 22, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span> public void setMetaLocation(ServerName metaLocation)<a name="line.131"></a>
+<span class="sourceLineNo">129</span> private boolean m_frags__IsNotDefault;<a name="line.129"></a>
+<span class="sourceLineNo">130</span> // 23, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span> public void setServers(List<ServerName> servers)<a name="line.131"></a>
<span class="sourceLineNo">132</span> {<a name="line.132"></a>
-<span class="sourceLineNo">133</span> // 22, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span> m_metaLocation = metaLocation;<a name="line.134"></a>
-<span class="sourceLineNo">135</span> m_metaLocation__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span> // 23, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span> m_servers = servers;<a name="line.134"></a>
+<span class="sourceLineNo">135</span> m_servers__IsNotDefault = true;<a name="line.135"></a>
<span class="sourceLineNo">136</span> }<a name="line.136"></a>
-<span class="sourceLineNo">137</span> public ServerName getMetaLocation()<a name="line.137"></a>
+<span class="sourceLineNo">137</span> public List<ServerName> getServers()<a name="line.137"></a>
<span class="sourceLineNo">138</span> {<a name="line.138"></a>
-<span class="sourceLineNo">139</span> return m_metaLocation;<a name="line.139"></a>
+<span class="sourceLineNo">139</span> return m_servers;<a name="line.139"></a>
<span class="sourceLineNo">140</span> }<a name="line.140"></a>
-<span class="sourceLineNo">141</span> private ServerName m_metaLocation;<a name="line.141"></a>
-<span class="sourceLineNo">142</span> public boolean getMetaLocation__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span> private List<ServerName> m_servers;<a name="line.141"></a>
+<span class="sourceLineNo">142</span> public boolean getServers__IsNotDefault()<a name="line.142"></a>
<span class="sourceLineNo">143</span> {<a name="line.143"></a>
-<span class="sourceLineNo">144</span> return m_metaLocation__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span> return m_servers__IsNotDefault;<a name="line.144"></a>
<span class="sourceLineNo">145</span> }<a name="line.145"></a>
-<span class="sourceLineNo">146</span> private boolean m_metaLocation__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span> // 28, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span> public void setServerManager(ServerManager serverManager)<a name="line.148"></a>
+<span class="sourceLineNo">146</span> private boolean m_servers__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span> // 25, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span> public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.148"></a>
<span class="sourceLineNo">149</span> {<a name="line.149"></a>
-<span class="sourceLineNo">150</span> // 28, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span> m_serverManager = serverManager;<a name="line.151"></a>
-<span class="sourceLineNo">152</span> m_serverManager__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span> // 25, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span> m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.151"></a>
+<span class="sourceLineNo">152</span> m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.152"></a>
<span class="sourceLineNo">153</span> }<a name="line.153"></a>
-<span class="sourceLineNo">154</span> public ServerManager getServerManager()<a name="line.154"></a>
+<span class="sourceLineNo">154</span> public boolean getCatalogJanitorEnabled()<a name="line.154"></a>
<span class="sourceLineNo">155</span> {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> return m_serverManager;<a name="line.156"></a>
+<span class="sourceLineNo">156</span> return m_catalogJanitorEnabled;<a name="line.156"></a>
<span class="sourceLineNo">157</span> }<a name="line.157"></a>
-<span class="sourceLineNo">158</span> private ServerManager m_serverManager;<a name="line.158"></a>
-<span class="sourceLineNo">159</span> public boolean getServerManager__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span> private boolean m_catalogJanitorEnabled;<a name="line.158"></a>
+<span class="sourceLineNo">159</span> public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.159"></a>
<span class="sourceLineNo">160</span> {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> return m_serverManager__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span> return m_catalogJanitorEnabled__IsNotDefault;<a name="line.161"></a>
<span class="sourceLineNo">162</span> }<a name="line.162"></a>
-<span class="sourceLineNo">163</span> private boolean m_serverManager__IsNotDefault;<a name="line.163"></a>
-<span class="sourceLineNo">164</span> // 27, 1<a name="line.164"></a>
-<span class="sourceLineNo">165</span> public void setFormat(String format)<a name="line.165"></a>
+<span class="sourceLineNo">163</span> private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span> // 22, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span> public void setMetaLocation(ServerName metaLocation)<a name="line.165"></a>
<span class="sourceLineNo">166</span> {<a name="line.166"></a>
-<span class="sourceLineNo">167</span> // 27, 1<a name="line.167"></a>
-<span class="sourceLineNo">168</span> m_format = format;<a name="line.168"></a>
-<span class="sourceLineNo">169</span> m_format__IsNotDefault = true;<a name="line.169"></a>
+<span class="sourceLineNo">167</span> // 22, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span> m_metaLocation = metaLocation;<a name="line.168"></a>
+<span class="sourceLineNo">169</span> m_metaLocation__IsNotDefault = true;<a name="line.169"></a>
<span class="sourceLineNo">170</span> }<a name="line.170"></a>
-<span class="sourceLineNo">171</span> public String getFormat()<a name="line.171"></a>
+<span class="sourceLineNo">171</span> public ServerName getMetaLocation()<a name="line.171"></a>
<span class="sourceLineNo">172</span> {<a name="line.172"></a>
-<span class="sourceLineNo">173</span> return m_format;<a name="line.173"></a>
+<span class="sourceLineNo">173</span> return m_metaLocation;<a name="line.173"></a>
<span class="sourceLineNo">174</span> }<a name="line.174"></a>
-<span class="sourceLineNo">175</span> private String m_format;<a name="line.175"></a>
-<span class="sourceLineNo">176</span> public boolean getFormat__IsNotDefault()<a name="line.176"></a>
+<span class="sourceLineNo">175</span> private ServerName m_metaLocation;<a name="line.175"></a>
+<span class="sourceLineNo">176</span> public boolean getMetaLocation__IsNotDefault()<a name="line.176"></a>
<span class="sourceLineNo">177</span> {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> return m_format__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span> return m_metaLocation__IsNotDefault;<a name="line.178"></a>
<span class="sourceLineNo">179</span> }<a name="line.179"></a>
-<span class="sourceLineNo">180</span> private boolean m_format__IsNotDefault;<a name="line.180"></a>
-<span class="sourceLineNo">181</span> // 29, 1<a name="line.181"></a>
-<span class="sourceLineNo">182</span> public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.182"></a>
+<span class="sourceLineNo">180</span> private boolean m_metaLocation__IsNotDefault;<a name="line.180"></a>
+<span class="sourceLineNo">181</span> // 28, 1<a name="line.181"></a>
+<span class="sourceLineNo">182</span> public void setServerManager(ServerManager serverManager)<a name="line.182"></a>
<span class="sourceLineNo">183</span> {<a name="line.183"></a>
-<span class="sourceLineNo">184</span> // 29, 1<a name="line.184"></a>
-<span class="sourceLineNo">185</span> m_assignmentManager = assignmentManager;<a name="line.185"></a>
-<span class="sourceLineNo">186</span> m_assignmentManager__IsNotDefault = true;<a name="line.186"></a>
+<span class="sourceLineNo">184</span> // 28, 1<a name="line.184"></a>
+<span class="sourceLineNo">185</span> m_serverManager = serverManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span> m_serverManager__IsNotDefault = true;<a name="line.186"></a>
<span class="sourceLineNo">187</span> }<a name="line.187"></a>
-<span class="sourceLineNo">188</span> public AssignmentManager getAssignmentManager()<a name="line.188"></a>
+<span class="sourceLineNo">188</span> public ServerManager getServerManager()<a name="line.188"></a>
<span class="sourceLineNo">189</span> {<a name="line.189"></a>
-<span class="sourceLineNo">190</span> return m_assignmentManager;<a name="line.190"></a>
+<span class="sourceLineNo">190</span> return m_serverManager;<a name="line.190"></a>
<span class="sourceLineNo">191</span> }<a name="line.191"></a>
-<span class="sourceLineNo">192</span> private AssignmentManager m_assignmentManager;<a name="line.192"></a>
-<span class="sourceLineNo">193</span> public boolean getAssignmentManager__IsNotDefault()<a name="line.193"></a>
+<span class="sourceLineNo">192</span> private ServerManager m_serverManager;<a name="line.192"></a>
+<span class="sourceLineNo">193</span> public boolean getServerManager__IsNotDefault()<a name="line.193"></a>
<span class="sourceLineNo">194</span> {<a name="line.194"></a>
-<span class="sourceLineNo">195</span> return m_assignmentManager__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span> return m_serverManager__IsNotDefault;<a name="line.195"></a>
<span class="sourceLineNo">196</span> }<a name="line.196"></a>
-<span class="sourceLineNo">197</span> private boolean m_assignmentManager__IsNotDefault;<a name="line.197"></a>
-<span class="sourceLineNo">198</span> // 21, 1<a name="line.198"></a>
-<span class="sourceLineNo">199</span> public void setFrags(Map<String,Integer> frags)<a name="line.199"></a>
+<span class="sourceLineNo">197</span> private boolean m_serverManager__IsNotDefault;<a name="line.197"></a>
+<span class="sourceLineNo">198</span> // 24, 1<a name="line.198"></a>
+<span class="sourceLineNo">199</span> public void setDeadServers(Set<ServerName> deadServers)<a name="line.199"></a>
<span class="sourceLineNo">200</span> {<a name="line.200"></a>
-<span class="sourceLineNo">201</span> // 21, 1<a name="line.201"></a>
-<span class="sourceLineNo">202</span> m_frags = frags;<a name="line.202"></a>
-<span class="sourceLineNo">203</span> m_frags__IsNotDefault = true;<a name="line.203"></a>
+<span class="sourceLineNo">201</span> // 24, 1<a name="line.201"></a>
+<span class="sourceLineNo">202</span> m_deadServers = deadServers;<a name="line.202"></a>
+<span class="sourceLineNo">203</span> m_deadServers__IsNotDefault = true;<a name="line.203"></a>
<span class="sourceLineNo">204</span> }<a name="line.204"></a>
-<span class="sourceLineNo">205</span> public Map<String,Integer> getFrags()<a name="line.205"></a>
+<span class="sourceLineNo">205</span> public Set<ServerName> getDeadServers()<a name="line.205"></a>
<span class="sourceLineNo">206</span> {<a name="line.206"></a>
-<span class="sourceLineNo">207</span> return m_frags;<a name="line.207"></a>
+<span class="sourceLineNo">207</span> return m_deadServers;<a name="line.207"></a>
<span class="sourceLineNo">208</span> }<a name="line.208"></a>
-<span class="sourceLineNo">209</span> private Map<String,Integer> m_frags;<a name="line.209"></a>
-<span class="sourceLineNo">210</span> public boolean getFrags__IsNotDefault()<a name="line.210"></a>
+<span class="sourceLineNo">209</span> private Set<ServerName> m_deadServers;<a name="line.209"></a>
+<span class="sourceLineNo">210</span> public boolean getDeadServers__IsNotDefault()<a name="line.210"></a>
<span class="sourceLineNo">211</span> {<a name="line.211"></a>
-<span class="sourceLineNo">212</span> return m_frags__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">212</span> return m_deadServers__IsNotDefault;<a name="line.212"></a>
<span class="sourceLineNo">213</span> }<a name="line.213"></a>
-<span class="sourceLineNo">214</span> private boolean m_frags__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span> // 23, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span> public void setServers(List<ServerName> servers)<a name="line.216"></a>
+<span class="sourceLineNo">214</span> private boolean m_deadServers__IsNotDefault;<a name="line.214"></a>
+<span class="sourceLineNo">215</span> // 27, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span> public void setFormat(String format)<a name="line.216"></a>
<span class="sourceLineNo">217</span> {<a name="line.217"></a>
-<span class="sourceLineNo">218</span> // 23, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span> m_servers = servers;<a name="line.219"></a>
-<span class="sourceLineNo">220</span> m_servers__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span> // 27, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span> m_format = format;<a name="line.219"></a>
+<span class="sourceLineNo">220</span> m_format__IsNotDefault = true;<a name="line.220"></a>
<span class="sourceLineNo">221</span> }<a name="line.221"></a>
-<span class="sourceLineNo">222</span> public List<ServerName> getServers()<a name="line.222"></a>
+<span class="sourceLineNo">222</span> public String getFormat()<a name="line.222"></a>
<span class="sourceLineNo">223</span> {<a name="line.223"></a>
-<span class="sourceLineNo">224</span> return m_servers;<a name="line.224"></a>
+<span class="sourceLineNo">224</span> return m_format;<a name="line.224"></a>
<span class="sourceLineNo">225</span> }<a name="line.225"></a>
-<span class="sourceLineNo">226</span> private List<ServerName> m_servers;<a name="line.226"></a>
-<span class="sourceLineNo">227</span> public boolean getServers__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private String m_format;<a name="line.226"></a>
+<span class="sourceLineNo">227</span> public boolean getFormat__IsNotDefault()<a name="line.227"></a>
<span class="sourceLineNo">228</span> {<a name="line.228"></a>
-<span class="sourceLineNo">229</span> return m_servers__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span> return m_format__IsNotDefault;<a name="line.229"></a>
<span class="sourceLineNo">230</span> }<a name="line.230"></a>
-<span class="sourceLineNo">231</span> private boolean m_servers__IsNotDefault;<a name="line.231"></a>
-<span class="sourceLineNo">232</span> // 24, 1<a name="line.232"></a>
-<span class="sourceLineNo">233</span> public void setDeadServers(Set<ServerName> deadServers)<a name="line.233"></a>
+<span class="sourceLineNo">231</span> private boolean m_format__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">232</span> // 29, 1<a name="line.232"></a>
+<span class="sourceLineNo">233</span> public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.233"></a>
<span class="sourceLineNo">234</span> {<a name="line.234"></a>
-<span class="sourceLineNo">235</span> // 24, 1<a name="line.235"></a>
-<span class="sourceLineNo">236</span> m_deadServers = deadServers;<a name="line.236"></a>
-<span class="sourceLineNo">237</span> m_deadServers__IsNotDefault = true;<a name="line.237"></a>
+<span class="sourceLineNo">235</span> // 29, 1<a name="line.235"></a>
+<span class="sourceLineNo">236</span> m_assignmentManager = assignmentManager;<a name="line.236"></a>
+<span class="sourceLineNo">237</span> m_assignmentManager__IsNotDefault = true;<a name="line.237"></a>
<span class="sourceLineNo">238</span> }<a name="line.238"></a>
-<span class="sourceLineNo">239</span> public Set<ServerName> getDeadServers()<a name="line.239"></a>
+<span class="sourceLineNo">239</span> public AssignmentManager getAssignmentManager()<a name="line.239"></a>
<span class="sourceLineNo">240</span> {<a name="line.240"></a>
-<span class="sourceLineNo">241</span> return m_deadServers;<a name="line.241"></a>
+<span class="sourceLineNo">241</span> return m_assignmentManager;<a name="line.241"></a>
<span class="sourceLineNo">242</span> }<a name="line.242"></a>
-<span class="sourceLineNo">243</span> private Set<ServerName> m_deadServers;<a name="line.243"></a>
-<span class="sourceLineNo">244</span> public boolean getDeadServers__IsNotDefault()<a name="line.244"></a>
+<span class="sourceLineNo">243</span> private AssignmentManager m_assignmentManager;<a name="line.243"></a>
+<span class="sourceLineNo">244</span> public boolean getAssignmentManager__IsNotDefault()<a name="line.244"></a>
<span class="sourceLineNo">245</span> {<a name="line.245"></a>
-<span class="sourceLineNo">246</span> return m_deadServers__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">246</span> return m_assignmentManager__IsNotDefault;<a name="line.246"></a>
<span class="sourceLineNo">247</span> }<a name="line.247"></a>
-<span class="sourceLineNo">248</span> private boolean m_deadServers__IsNotDefault;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> // 25, 1<a name="line.249"></a>
-<span class="sourceLineNo">250</span> public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.250"></a>
+<span class="sourceLineNo">248</span> private boolean m_assignmentManager__IsNotDefault;<a name="line.248"></a>
+<span class="sourceLineNo">249</span> // 26, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span> public void setFilter(String filter)<a name="line.250"></a>
<span class="sourceLineNo">251</span> {<a name="line.251"></a>
-<span class="sourceLineNo">252</span> // 25, 1<a name="line.252"></a>
-<span class="sourceLineNo">253</span> m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.253"></a>
-<span class="sourceLineNo">254</span> m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.254"></a>
+<span class="sourceLineNo">252</span> // 26, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span> m_filter = filter;<a name="line.253"></a>
+<span class="sourceLineNo">254</span> m_filter__IsNotDefault = true;<a name="line.254"></a>
<span class="sourceLineNo">255</span> }<a name="line.255"></a>
-<span class="sourceLineNo">256</span> public boolean getCatalogJanitorEnabled()<a name="line.256"></a>
+<span class="sourceLineNo">256</span> public String getFilter()<a name="line.256"></a>
<span class="sourceLineNo">257</span> {<a name="line.257"></a>
-<span class="sourceLineNo">258</span> return m_catalogJanitorEnabled;<a name="line.258"></a>
+<span class="sourceLineNo">258</span> return m_filter;<a name="line.258"></a>
<span class="sourceLineNo">259</span> }<a name="line.259"></a>
-<span class="sourceLineNo">260</span> private boolean m_catalogJanitorEnabled;<a name="line.260"></a>
-<span class="sourceLineNo">261</span> public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.261"></a>
+<span class="sourceLineNo">260</span> private String m_filter;<a name="line.260"></a>
+<span class="sourceLineNo">261</span> public boolean getFilter__IsNotDefault()<a name="line.261"></a>
<span class="sourceLineNo">262</span> {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> return m_catalogJanitorEnabled__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span> return m_filter__IsNotDefault;<a name="line.263"></a>
<span class="sourceLineNo">264</span> }<a name="line.264"></a>
-<span class="sourceLineNo">265</span> private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span> private boolean m_filter__IsNotDefault;<a name="line.265"></a>
<span class="sourceLineNo">266</span> }<a name="line.266"></a>
<span class="sourceLineNo">267</span> @Override<a name="line.267"></a>
<span class="sourceLineNo">268</span> protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.268"></a>
@@ -282,66 +282,66 @@
<span class="sourceLineNo">274</span> return (ImplData) super.getImplData();<a name="line.274"></a>
<span class="sourceLineNo">275</span> }<a name="line.275"></a>
<span class="sourceLineNo">276</span> <a name="line.276"></a>
-<span class="sourceLineNo">277</span> protected String filter;<a name="line.277"></a>
-<span class="sourceLineNo">278</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.278"></a>
+<span class="sourceLineNo">277</span> protected Map<String,Integer> frags;<a name="line.277"></a>
+<span class="sourceLineNo">278</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map<String,Integer> p_frags)<a name="line.278"></a>
<span class="sourceLineNo">279</span> {<a name="line.279"></a>
-<span class="sourceLineNo">280</span> (getImplData()).setFilter(p_filter);<a name="line.280"></a>
+<span class="sourceLineNo">280</span> (getImplData()).setFrags(p_frags);<a name="line.280"></a>
<span class="sourceLineNo">281</span> return this;<a name="line.281"></a>
<span class="sourceLineNo">282</span> }<a name="line.282"></a>
<span class="sourceLineNo">283</span> <a name="line.283"></a>
-<span class="sourceLineNo">284</span> protected ServerName metaLocation;<a name="line.284"></a>
-<span class="sourceLineNo">285</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.285"></a>
+<span class="sourceLineNo">284</span> protected List<ServerName> servers;<a name="line.284"></a>
+<span class="sourceLineNo">285</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List<ServerName> p_servers)<a name="line.285"></a>
<span class="sourceLineNo">286</span> {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> (getImplData()).setMetaLocation(p_metaLocation);<a name="line.287"></a>
+<span class="sourceLineNo">287</span> (getImplData()).setServers(p_servers);<a name="line.287"></a>
<span class="sourceLineNo">288</span> return this;<a name="line.288"></a>
<span class="sourceLineNo">289</span> }<a name="line.289"></a>
<span class="sourceLineNo">290</span> <a name="line.290"></a>
-<span class="sourceLineNo">291</span> protected ServerManager serverManager;<a name="line.291"></a>
-<span class="sourceLineNo">292</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.292"></a>
+<span class="sourceLineNo">291</span> protected boolean catalogJanitorEnabled;<a name="line.291"></a>
+<span class="sourceLineNo">292</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.292"></a>
<span class="sourceLineNo">293</span> {<a name="line.293"></a>
-<span class="sourceLineNo">294</span> (getImplData()).setServerManager(p_serverManager);<a name="line.294"></a>
+<span class="sourceLineNo">294</span> (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.294"></a>
<span class="sourceLineNo">295</span> return this;<a name="line.295"></a>
<span class="sourceLineNo">296</span> }<a name="line.296"></a>
<span class="sourceLineNo">297</span> <a name="line.297"></a>
-<span class="sourceLineNo">298</span> protected String format;<a name="line.298"></a>
-<span class="sourceLineNo">299</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.299"></a>
+<span class="sourceLineNo">298</span> protected ServerName metaLocation;<a name="line.298"></a>
+<span class="sourceLineNo">299</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.299"></a>
<span class="sourceLineNo">300</span> {<a name="line.300"></a>
-<span class="sourceLineNo">301</span> (getImplData()).setFormat(p_format);<a name="line.301"></a>
+<span class="sourceLineNo">301</span> (getImplData()).setMetaLocation(p_metaLocation);<a name="line.301"></a>
<span class="sourceLineNo">302</span> return this;<a name="line.302"></a>
<span class="sourceLineNo">303</span> }<a name="line.303"></a>
<span class="sourceLineNo">304</span> <a name="line.304"></a>
-<span class="sourceLineNo">305</span> protected AssignmentManager assignmentManager;<a name="line.305"></a>
-<span class="sourceLineNo">306</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.306"></a>
+<span class="sourceLineNo">305</span> protected ServerManager serverManager;<a name="line.305"></a>
+<span class="sourceLineNo">306</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.306"></a>
<span class="sourceLineNo">307</span> {<a name="line.307"></a>
-<span class="sourceLineNo">308</span> (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.308"></a>
+<span class="sourceLineNo">308</span> (getImplData()).setServerManager(p_serverManager);<a name="line.308"></a>
<span class="sourceLineNo">309</span> return this;<a name="line.309"></a>
<span class="sourceLineNo">310</span> }<a name="line.310"></a>
<span class="sourceLineNo">311</span> <a name="line.311"></a>
-<span class="sourceLineNo">312</span> protected Map<String,Integer> frags;<a name="line.312"></a>
-<span class="sourceLineNo">313</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map<String,Integer> p_frags)<a name="line.313"></a>
+<span class="sourceLineNo">312</span> protected Set<ServerName> deadServers;<a name="line.312"></a>
+<span class="sourceLineNo">313</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set<ServerName> p_deadServers)<a name="line.313"></a>
<span class="sourceLineNo">314</span> {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> (getImplData()).setFrags(p_frags);<a name="line.315"></a>
+<span class="sourceLineNo">315</span> (getImplData()).setDeadServers(p_deadServers);<a name="line.315"></a>
<span class="sourceLineNo">316</span> return this;<a name="line.316"></a>
<span class="sourceLineNo">317</span> }<a name="line.317"></a>
<span class="sourceLineNo">318</span> <a name="line.318"></a>
-<span class="sourceLineNo">319</span> protected List<ServerName> servers;<a name="line.319"></a>
-<span class="sourceLineNo">320</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List<ServerName> p_servers)<a name="line.320"></a>
+<span class="sourceLineNo">319</span> protected String format;<a name="line.319"></a>
+<span class="sourceLineNo">320</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.320"></a>
<span class="sourceLineNo">321</span> {<a name="line.321"></a>
-<span class="sourceLineNo">322</span> (getImplData()).setServers(p_servers);<a name="line.322"></a>
+<span class="sourceLineNo">322</span> (getImplData()).setFormat(p_format);<a name="line.322"></a>
<span class="sourceLineNo">323</span> return this;<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> protected Set<ServerName> deadServers;<a name="line.326"></a>
-<span class="sourceLineNo">327</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set<ServerName> p_deadServers)<a name="line.327"></a>
+<span class="sourceLineNo">326</span> protected AssignmentManager assignmentManager;<a name="line.326"></a>
+<span class="sourceLineNo">327</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.327"></a>
<span class="sourceLineNo">328</span> {<a name="line.328"></a>
-<span class="sourceLineNo">329</span> (getImplData()).setDeadServers(p_deadServers);<a name="line.329"></a>
+<span class="sourceLineNo">329</span> (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.329"></a>
<span class="sourceLineNo">330</span> return this;<a name="line.330"></a>
<span class="sourceLineNo">331</span> }<a name="line.331"></a>
<span class="sourceLineNo">332</span> <a name="line.332"></a>
-<span class="sourceLineNo">333</span> protected boolean catalogJanitorEnabled;<a name="line.333"></a>
-<span class="sourceLineNo">334</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.334"></a>
+<span class="sourceLineNo">333</span> protected String filter;<a name="line.333"></a>
+<span class="sourceLineNo">334</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.334"></a>
<span class="sourceLineNo">335</span> {<a name="line.335"></a>
-<span class="sourceLineNo">336</span> (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.336"></a>
+<span class="sourceLineNo">336</span> (getImplData()).setFilter(p_filter);<a name="line.336"></a>
<span class="sourceLineNo">337</span> return this;<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>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
index b727f8b..2d9519b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
@@ -69,15 +69,15 @@
<span class="sourceLineNo">061</span> requiredArguments = {<a name="line.61"></a>
<span class="sourceLineNo">062</span> @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.62"></a>
<span class="sourceLineNo">063</span> optionalArguments = {<a name="line.63"></a>
-<span class="sourceLineNo">064</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span> @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span> @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span> @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span> @org.jamon.annotations.Argument(name = "frags", type = "Map<String,Integer>"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span> @org.jamon.annotations.Argument(name = "servers", type = "List<ServerName>"),<a name="line.70"></a>
-<span class="sourceLineNo">071</span> @org.jamon.annotations.Argument(name = "deadServers", type = "Set<ServerName>"),<a name="line.71"></a>
-<span class="sourceLineNo">072</span> @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean")})<a name="line.72"></a>
+<span class="sourceLineNo">064</span> @org.jamon.annotations.Argument(name = "frags", type = "Map<String,Integer>"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span> @org.jamon.annotations.Argument(name = "servers", type = "List<ServerName>"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span> @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span> @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span> @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span> @org.jamon.annotations.Argument(name = "deadServers", type = "Set<ServerName>"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.70"></a>
+<span class="sourceLineNo">071</span> @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.71"></a>
+<span class="sourceLineNo">072</span> @org.jamon.annotations.Argument(name = "filter", type = "String")})<a name="line.72"></a>
<span class="sourceLineNo">073</span>public class MasterStatusTmpl<a name="line.73"></a>
<span class="sourceLineNo">074</span> extends org.jamon.AbstractTemplateProxy<a name="line.74"></a>
<span class="sourceLineNo">075</span>{<a name="line.75"></a>
@@ -118,159 +118,159 @@
<span class="sourceLineNo">110</span> return m_master;<a name="line.110"></a>
<span class="sourceLineNo">111</span> }<a name="line.111"></a>
<span class="sourceLineNo">112</span> private HMaster m_master;<a name="line.112"></a>
-<span class="sourceLineNo">113</span> // 26, 1<a name="line.113"></a>
-<span class="sourceLineNo">114</span> public void setFilter(String filter)<a name="line.114"></a>
+<span class="sourceLineNo">113</span> // 21, 1<a name="line.113"></a>
+<span class="sourceLineNo">114</span> public void setFrags(Map<String,Integer> frags)<a name="line.114"></a>
<span class="sourceLineNo">115</span> {<a name="line.115"></a>
-<span class="sourceLineNo">116</span> // 26, 1<a name="line.116"></a>
-<span class="sourceLineNo">117</span> m_filter = filter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> m_filter__IsNotDefault = true;<a name="line.118"></a>
+<span class="sourceLineNo">116</span> // 21, 1<a name="line.116"></a>
+<span class="sourceLineNo">117</span> m_frags = frags;<a name="line.117"></a>
+<span class="sourceLineNo">118</span> m_frags__IsNotDefault = true;<a name="line.118"></a>
<span class="sourceLineNo">119</span> }<a name="line.119"></a>
-<span class="sourceLineNo">120</span> public String getFilter()<a name="line.120"></a>
+<span class="sourceLineNo">120</span> public Map<String,Integer> getFrags()<a name="line.120"></a>
<span class="sourceLineNo">121</span> {<a name="line.121"></a>
-<span class="sourceLineNo">122</span> return m_filter;<a name="line.122"></a>
+<span class="sourceLineNo">122</span> return m_frags;<a name="line.122"></a>
<span class="sourceLineNo">123</span> }<a name="line.123"></a>
-<span class="sourceLineNo">124</span> private String m_filter;<a name="line.124"></a>
-<span class="sourceLineNo">125</span> public boolean getFilter__IsNotDefault()<a name="line.125"></a>
+<span class="sourceLineNo">124</span> private Map<String,Integer> m_frags;<a name="line.124"></a>
+<span class="sourceLineNo">125</span> public boolean getFrags__IsNotDefault()<a name="line.125"></a>
<span class="sourceLineNo">126</span> {<a name="line.126"></a>
-<span class="sourceLineNo">127</span> return m_filter__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">127</span> return m_frags__IsNotDefault;<a name="line.127"></a>
<span class="sourceLineNo">128</span> }<a name="line.128"></a>
-<span class="sourceLineNo">129</span> private boolean m_filter__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span> // 22, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span> public void setMetaLocation(ServerName metaLocation)<a name="line.131"></a>
+<span class="sourceLineNo">129</span> private boolean m_frags__IsNotDefault;<a name="line.129"></a>
+<span class="sourceLineNo">130</span> // 23, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span> public void setServers(List<ServerName> servers)<a name="line.131"></a>
<span class="sourceLineNo">132</span> {<a name="line.132"></a>
-<span class="sourceLineNo">133</span> // 22, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span> m_metaLocation = metaLocation;<a name="line.134"></a>
-<span class="sourceLineNo">135</span> m_metaLocation__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span> // 23, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span> m_servers = servers;<a name="line.134"></a>
+<span class="sourceLineNo">135</span> m_servers__IsNotDefault = true;<a name="line.135"></a>
<span class="sourceLineNo">136</span> }<a name="line.136"></a>
-<span class="sourceLineNo">137</span> public ServerName getMetaLocation()<a name="line.137"></a>
+<span class="sourceLineNo">137</span> public List<ServerName> getServers()<a name="line.137"></a>
<span class="sourceLineNo">138</span> {<a name="line.138"></a>
-<span class="sourceLineNo">139</span> return m_metaLocation;<a name="line.139"></a>
+<span class="sourceLineNo">139</span> return m_servers;<a name="line.139"></a>
<span class="sourceLineNo">140</span> }<a name="line.140"></a>
-<span class="sourceLineNo">141</span> private ServerName m_metaLocation;<a name="line.141"></a>
-<span class="sourceLineNo">142</span> public boolean getMetaLocation__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span> private List<ServerName> m_servers;<a name="line.141"></a>
+<span class="sourceLineNo">142</span> public boolean getServers__IsNotDefault()<a name="line.142"></a>
<span class="sourceLineNo">143</span> {<a name="line.143"></a>
-<span class="sourceLineNo">144</span> return m_metaLocation__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span> return m_servers__IsNotDefault;<a name="line.144"></a>
<span class="sourceLineNo">145</span> }<a name="line.145"></a>
-<span class="sourceLineNo">146</span> private boolean m_metaLocation__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span> // 28, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span> public void setServerManager(ServerManager serverManager)<a name="line.148"></a>
+<span class="sourceLineNo">146</span> private boolean m_servers__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span> // 25, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span> public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.148"></a>
<span class="sourceLineNo">149</span> {<a name="line.149"></a>
-<span class="sourceLineNo">150</span> // 28, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span> m_serverManager = serverManager;<a name="line.151"></a>
-<span class="sourceLineNo">152</span> m_serverManager__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span> // 25, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span> m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.151"></a>
+<span class="sourceLineNo">152</span> m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.152"></a>
<span class="sourceLineNo">153</span> }<a name="line.153"></a>
-<span class="sourceLineNo">154</span> public ServerManager getServerManager()<a name="line.154"></a>
+<span class="sourceLineNo">154</span> public boolean getCatalogJanitorEnabled()<a name="line.154"></a>
<span class="sourceLineNo">155</span> {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> return m_serverManager;<a name="line.156"></a>
+<span class="sourceLineNo">156</span> return m_catalogJanitorEnabled;<a name="line.156"></a>
<span class="sourceLineNo">157</span> }<a name="line.157"></a>
-<span class="sourceLineNo">158</span> private ServerManager m_serverManager;<a name="line.158"></a>
-<span class="sourceLineNo">159</span> public boolean getServerManager__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span> private boolean m_catalogJanitorEnabled;<a name="line.158"></a>
+<span class="sourceLineNo">159</span> public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.159"></a>
<span class="sourceLineNo">160</span> {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> return m_serverManager__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span> return m_catalogJanitorEnabled__IsNotDefault;<a name="line.161"></a>
<span class="sourceLineNo">162</span> }<a name="line.162"></a>
-<span class="sourceLineNo">163</span> private boolean m_serverManager__IsNotDefault;<a name="line.163"></a>
-<span class="sourceLineNo">164</span> // 27, 1<a name="line.164"></a>
-<span class="sourceLineNo">165</span> public void setFormat(String format)<a name="line.165"></a>
+<span class="sourceLineNo">163</span> private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span> // 22, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span> public void setMetaLocation(ServerName metaLocation)<a name="line.165"></a>
<span class="sourceLineNo">166</span> {<a name="line.166"></a>
-<span class="sourceLineNo">167</span> // 27, 1<a name="line.167"></a>
-<span class="sourceLineNo">168</span> m_format = format;<a name="line.168"></a>
-<span class="sourceLineNo">169</span> m_format__IsNotDefault = true;<a name="line.169"></a>
+<span class="sourceLineNo">167</span> // 22, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span> m_metaLocation = metaLocation;<a name="line.168"></a>
+<span class="sourceLineNo">169</span> m_metaLocation__IsNotDefault = true;<a name="line.169"></a>
<span class="sourceLineNo">170</span> }<a name="line.170"></a>
-<span class="sourceLineNo">171</span> public String getFormat()<a name="line.171"></a>
+<span class="sourceLineNo">171</span> public ServerName getMetaLocation()<a name="line.171"></a>
<span class="sourceLineNo">172</span> {<a name="line.172"></a>
-<span class="sourceLineNo">173</span> return m_format;<a name="line.173"></a>
+<span class="sourceLineNo">173</span> return m_metaLocation;<a name="line.173"></a>
<span class="sourceLineNo">174</span> }<a name="line.174"></a>
-<span class="sourceLineNo">175</span> private String m_format;<a name="line.175"></a>
-<span class="sourceLineNo">176</span> public boolean getFormat__IsNotDefault()<a name="line.176"></a>
+<span class="sourceLineNo">175</span> private ServerName m_metaLocation;<a name="line.175"></a>
+<span class="sourceLineNo">176</span> public boolean getMetaLocation__IsNotDefault()<a name="line.176"></a>
<span class="sourceLineNo">177</span> {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> return m_format__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span> return m_metaLocation__IsNotDefault;<a name="line.178"></a>
<span class="sourceLineNo">179</span> }<a name="line.179"></a>
-<span class="sourceLineNo">180</span> private boolean m_format__IsNotDefault;<a name="line.180"></a>
-<span class="sourceLineNo">181</span> // 29, 1<a name="line.181"></a>
-<span class="sourceLineNo">182</span> public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.182"></a>
+<span class="sourceLineNo">180</span> private boolean m_metaLocation__IsNotDefault;<a name="line.180"></a>
+<span class="sourceLineNo">181</span> // 28, 1<a name="line.181"></a>
+<span class="sourceLineNo">182</span> public void setServerManager(ServerManager serverManager)<a name="line.182"></a>
<span class="sourceLineNo">183</span> {<a name="line.183"></a>
-<span class="sourceLineNo">184</span> // 29, 1<a name="line.184"></a>
-<span class="sourceLineNo">185</span> m_assignmentManager = assignmentManager;<a name="line.185"></a>
-<span class="sourceLineNo">186</span> m_assignmentManager__IsNotDefault = true;<a name="line.186"></a>
+<span class="sourceLineNo">184</span> // 28, 1<a name="line.184"></a>
+<span class="sourceLineNo">185</span> m_serverManager = serverManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span> m_serverManager__IsNotDefault = true;<a name="line.186"></a>
<span class="sourceLineNo">187</span> }<a name="line.187"></a>
-<span class="sourceLineNo">188</span> public AssignmentManager getAssignmentManager()<a name="line.188"></a>
+<span class="sourceLineNo">188</span> public ServerManager getServerManager()<a name="line.188"></a>
<span class="sourceLineNo">189</span> {<a name="line.189"></a>
-<span class="sourceLineNo">190</span> return m_assignmentManager;<a name="line.190"></a>
+<span class="sourceLineNo">190</span> return m_serverManager;<a name="line.190"></a>
<span class="sourceLineNo">191</span> }<a name="line.191"></a>
-<span class="sourceLineNo">192</span> private AssignmentManager m_assignmentManager;<a name="line.192"></a>
-<span class="sourceLineNo">193</span> public boolean getAssignmentManager__IsNotDefault()<a name="line.193"></a>
+<span class="sourceLineNo">192</span> private ServerManager m_serverManager;<a name="line.192"></a>
+<span class="sourceLineNo">193</span> public boolean getServerManager__IsNotDefault()<a name="line.193"></a>
<span class="sourceLineNo">194</span> {<a name="line.194"></a>
-<span class="sourceLineNo">195</span> return m_assignmentManager__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span> return m_serverManager__IsNotDefault;<a name="line.195"></a>
<span class="sourceLineNo">196</span> }<a name="line.196"></a>
-<span class="sourceLineNo">197</span> private boolean m_assignmentManager__IsNotDefault;<a name="line.197"></a>
-<span class="sourceLineNo">198</span> // 21, 1<a name="line.198"></a>
-<span class="sourceLineNo">199</span> public void setFrags(Map<String,Integer> frags)<a name="line.199"></a>
+<span class="sourceLineNo">197</span> private boolean m_serverManager__IsNotDefault;<a name="line.197"></a>
+<span class="sourceLineNo">198</span> // 24, 1<a name="line.198"></a>
+<span class="sourceLineNo">199</span> public void setDeadServers(Set<ServerName> deadServers)<a name="line.199"></a>
<span class="sourceLineNo">200</span> {<a name="line.200"></a>
-<span class="sourceLineNo">201</span> // 21, 1<a name="line.201"></a>
-<span class="sourceLineNo">202</span> m_frags = frags;<a name="line.202"></a>
-<span class="sourceLineNo">203</span> m_frags__IsNotDefault = true;<a name="line.203"></a>
+<span class="sourceLineNo">201</span> // 24, 1<a name="line.201"></a>
+<span class="sourceLineNo">202</span> m_deadServers = deadServers;<a name="line.202"></a>
+<span class="sourceLineNo">203</span> m_deadServers__IsNotDefault = true;<a name="line.203"></a>
<span class="sourceLineNo">204</span> }<a name="line.204"></a>
-<span class="sourceLineNo">205</span> public Map<String,Integer> getFrags()<a name="line.205"></a>
+<span class="sourceLineNo">205</span> public Set<ServerName> getDeadServers()<a name="line.205"></a>
<span class="sourceLineNo">206</span> {<a name="line.206"></a>
-<span class="sourceLineNo">207</span> return m_frags;<a name="line.207"></a>
+<span class="sourceLineNo">207</span> return m_deadServers;<a name="line.207"></a>
<span class="sourceLineNo">208</span> }<a name="line.208"></a>
-<span class="sourceLineNo">209</span> private Map<String,Integer> m_frags;<a name="line.209"></a>
-<span class="sourceLineNo">210</span> public boolean getFrags__IsNotDefault()<a name="line.210"></a>
+<span class="sourceLineNo">209</span> private Set<ServerName> m_deadServers;<a name="line.209"></a>
+<span class="sourceLineNo">210</span> public boolean getDeadServers__IsNotDefault()<a name="line.210"></a>
<span class="sourceLineNo">211</span> {<a name="line.211"></a>
-<span class="sourceLineNo">212</span> return m_frags__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">212</span> return m_deadServers__IsNotDefault;<a name="line.212"></a>
<span class="sourceLineNo">213</span> }<a name="line.213"></a>
-<span class="sourceLineNo">214</span> private boolean m_frags__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span> // 23, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span> public void setServers(List<ServerName> servers)<a name="line.216"></a>
+<span class="sourceLineNo">214</span> private boolean m_deadServers__IsNotDefault;<a name="line.214"></a>
+<span class="sourceLineNo">215</span> // 27, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span> public void setFormat(String format)<a name="line.216"></a>
<span class="sourceLineNo">217</span> {<a name="line.217"></a>
-<span class="sourceLineNo">218</span> // 23, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span> m_servers = servers;<a name="line.219"></a>
-<span class="sourceLineNo">220</span> m_servers__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span> // 27, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span> m_format = format;<a name="line.219"></a>
+<span class="sourceLineNo">220</span> m_format__IsNotDefault = true;<a name="line.220"></a>
<span class="sourceLineNo">221</span> }<a name="line.221"></a>
-<span class="sourceLineNo">222</span> public List<ServerName> getServers()<a name="line.222"></a>
+<span class="sourceLineNo">222</span> public String getFormat()<a name="line.222"></a>
<span class="sourceLineNo">223</span> {<a name="line.223"></a>
-<span class="sourceLineNo">224</span> return m_servers;<a name="line.224"></a>
+<span class="sourceLineNo">224</span> return m_format;<a name="line.224"></a>
<span class="sourceLineNo">225</span> }<a name="line.225"></a>
-<span class="sourceLineNo">226</span> private List<ServerName> m_servers;<a name="line.226"></a>
-<span class="sourceLineNo">227</span> public boolean getServers__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private String m_format;<a name="line.226"></a>
+<span class="sourceLineNo">227</span> public boolean getFormat__IsNotDefault()<a name="line.227"></a>
<span class="sourceLineNo">228</span> {<a name="line.228"></a>
-<span class="sourceLineNo">229</span> return m_servers__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span> return m_format__IsNotDefault;<a name="line.229"></a>
<span class="sourceLineNo">230</span> }<a name="line.230"></a>
-<span class="sourceLineNo">231</span> private boolean m_servers__IsNotDefault;<a name="line.231"></a>
-<span class="sourceLineNo">232</span> // 24, 1<a name="line.232"></a>
-<span class="sourceLineNo">233</span> public void setDeadServers(Set<ServerName> deadServers)<a name="line.233"></a>
+<span class="sourceLineNo">231</span> private boolean m_format__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">232</span> // 29, 1<a name="line.232"></a>
+<span class="sourceLineNo">233</span> public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.233"></a>
<span class="sourceLineNo">234</span> {<a name="line.234"></a>
-<span class="sourceLineNo">235</span> // 24, 1<a name="line.235"></a>
-<span class="sourceLineNo">236</span> m_deadServers = deadServers;<a name="line.236"></a>
-<span class="sourceLineNo">237</span> m_deadServers__IsNotDefault = true;<a name="line.237"></a>
+<span class="sourceLineNo">235</span> // 29, 1<a name="line.235"></a>
+<span class="sourceLineNo">236</span> m_assignmentManager = assignmentManager;<a name="line.236"></a>
+<span class="sourceLineNo">237</span> m_assignmentManager__IsNotDefault = true;<a name="line.237"></a>
<span class="sourceLineNo">238</span> }<a name="line.238"></a>
-<span class="sourceLineNo">239</span> public Set<ServerName> getDeadServers()<a name="line.239"></a>
+<span class="sourceLineNo">239</span> public AssignmentManager getAssignmentManager()<a name="line.239"></a>
<span class="sourceLineNo">240</span> {<a name="line.240"></a>
-<span class="sourceLineNo">241</span> return m_deadServers;<a name="line.241"></a>
+<span class="sourceLineNo">241</span> return m_assignmentManager;<a name="line.241"></a>
<span class="sourceLineNo">242</span> }<a name="line.242"></a>
-<span class="sourceLineNo">243</span> private Set<ServerName> m_deadServers;<a name="line.243"></a>
-<span class="sourceLineNo">244</span> public boolean getDeadServers__IsNotDefault()<a name="line.244"></a>
+<span class="sourceLineNo">243</span> private AssignmentManager m_assignmentManager;<a name="line.243"></a>
+<span class="sourceLineNo">244</span> public boolean getAssignmentManager__IsNotDefault()<a name="line.244"></a>
<span class="sourceLineNo">245</span> {<a name="line.245"></a>
-<span class="sourceLineNo">246</span> return m_deadServers__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">246</span> return m_assignmentManager__IsNotDefault;<a name="line.246"></a>
<span class="sourceLineNo">247</span> }<a name="line.247"></a>
-<span class="sourceLineNo">248</span> private boolean m_deadServers__IsNotDefault;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> // 25, 1<a name="line.249"></a>
-<span class="sourceLineNo">250</span> public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.250"></a>
+<span class="sourceLineNo">248</span> private boolean m_assignmentManager__IsNotDefault;<a name="line.248"></a>
+<span class="sourceLineNo">249</span> // 26, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span> public void setFilter(String filter)<a name="line.250"></a>
<span class="sourceLineNo">251</span> {<a name="line.251"></a>
-<span class="sourceLineNo">252</span> // 25, 1<a name="line.252"></a>
-<span class="sourceLineNo">253</span> m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.253"></a>
-<span class="sourceLineNo">254</span> m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.254"></a>
+<span class="sourceLineNo">252</span> // 26, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span> m_filter = filter;<a name="line.253"></a>
+<span class="sourceLineNo">254</span> m_filter__IsNotDefault = true;<a name="line.254"></a>
<span class="sourceLineNo">255</span> }<a name="line.255"></a>
-<span class="sourceLineNo">256</span> public boolean getCatalogJanitorEnabled()<a name="line.256"></a>
+<span class="sourceLineNo">256</span> public String getFilter()<a name="line.256"></a>
<span class="sourceLineNo">257</span> {<a name="line.257"></a>
-<span class="sourceLineNo">258</span> return m_catalogJanitorEnabled;<a name="line.258"></a>
+<span class="sourceLineNo">258</span> return m_filter;<a name="line.258"></a>
<span class="sourceLineNo">259</span> }<a name="line.259"></a>
-<span class="sourceLineNo">260</span> private boolean m_catalogJanitorEnabled;<a name="line.260"></a>
-<span class="sourceLineNo">261</span> public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.261"></a>
+<span class="sourceLineNo">260</span> private String m_filter;<a name="line.260"></a>
+<span class="sourceLineNo">261</span> public boolean getFilter__IsNotDefault()<a name="line.261"></a>
<span class="sourceLineNo">262</span> {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> return m_catalogJanitorEnabled__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span> return m_filter__IsNotDefault;<a name="line.263"></a>
<span class="sourceLineNo">264</span> }<a name="line.264"></a>
-<span class="sourceLineNo">265</span> private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span> private boolean m_filter__IsNotDefault;<a name="line.265"></a>
<span class="sourceLineNo">266</span> }<a name="line.266"></a>
<span class="sourceLineNo">267</span> @Override<a name="line.267"></a>
<span class="sourceLineNo">268</span> protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.268"></a>
@@ -282,66 +282,66 @@
<span class="sourceLineNo">274</span> return (ImplData) super.getImplData();<a name="line.274"></a>
<span class="sourceLineNo">275</span> }<a name="line.275"></a>
<span class="sourceLineNo">276</span> <a name="line.276"></a>
-<span class="sourceLineNo">277</span> protected String filter;<a name="line.277"></a>
-<span class="sourceLineNo">278</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.278"></a>
+<span class="sourceLineNo">277</span> protected Map<String,Integer> frags;<a name="line.277"></a>
+<span class="sourceLineNo">278</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map<String,Integer> p_frags)<a name="line.278"></a>
<span class="sourceLineNo">279</span> {<a name="line.279"></a>
-<span class="sourceLineNo">280</span> (getImplData()).setFilter(p_filter);<a name="line.280"></a>
+<span class="sourceLineNo">280</span> (getImplData()).setFrags(p_frags);<a name="line.280"></a>
<span class="sourceLineNo">281</span> return this;<a name="line.281"></a>
<span class="sourceLineNo">282</span> }<a name="line.282"></a>
<span class="sourceLineNo">283</span> <a name="line.283"></a>
-<span class="sourceLineNo">284</span> protected ServerName metaLocation;<a name="line.284"></a>
-<span class="sourceLineNo">285</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.285"></a>
+<span class="sourceLineNo">284</span> protected List<ServerName> servers;<a name="line.284"></a>
+<span class="sourceLineNo">285</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List<ServerName> p_servers)<a name="line.285"></a>
<span class="sourceLineNo">286</span> {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> (getImplData()).setMetaLocation(p_metaLocation);<a name="line.287"></a>
+<span class="sourceLineNo">287</span> (getImplData()).setServers(p_servers);<a name="line.287"></a>
<span class="sourceLineNo">288</span> return this;<a name="line.288"></a>
<span class="sourceLineNo">289</span> }<a name="line.289"></a>
<span class="sourceLineNo">290</span> <a name="line.290"></a>
-<span class="sourceLineNo">291</span> protected ServerManager serverManager;<a name="line.291"></a>
-<span class="sourceLineNo">292</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.292"></a>
+<span class="sourceLineNo">291</span> protected boolean catalogJanitorEnabled;<a name="line.291"></a>
+<span class="sourceLineNo">292</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.292"></a>
<span class="sourceLineNo">293</span> {<a name="line.293"></a>
-<span class="sourceLineNo">294</span> (getImplData()).setServerManager(p_serverManager);<a name="line.294"></a>
+<span class="sourceLineNo">294</span> (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.294"></a>
<span class="sourceLineNo">295</span> return this;<a name="line.295"></a>
<span class="sourceLineNo">296</span> }<a name="line.296"></a>
<span class="sourceLineNo">297</span> <a name="line.297"></a>
-<span class="sourceLineNo">298</span> protected String format;<a name="line.298"></a>
-<span class="sourceLineNo">299</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.299"></a>
+<span class="sourceLineNo">298</span> protected ServerName metaLocation;<a name="line.298"></a>
+<span class="sourceLineNo">299</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.299"></a>
<span class="sourceLineNo">300</span> {<a name="line.300"></a>
-<span class="sourceLineNo">301</span> (getImplData()).setFormat(p_format);<a name="line.301"></a>
+<span class="sourceLineNo">301</span> (getImplData()).setMetaLocation(p_metaLocation);<a name="line.301"></a>
<span class="sourceLineNo">302</span> return this;<a name="line.302"></a>
<span class="sourceLineNo">303</span> }<a name="line.303"></a>
<span class="sourceLineNo">304</span> <a name="line.304"></a>
-<span class="sourceLineNo">305</span> protected AssignmentManager assignmentManager;<a name="line.305"></a>
-<span class="sourceLineNo">306</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.306"></a>
+<span class="sourceLineNo">305</span> protected ServerManager serverManager;<a name="line.305"></a>
+<span class="sourceLineNo">306</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.306"></a>
<span class="sourceLineNo">307</span> {<a name="line.307"></a>
-<span class="sourceLineNo">308</span> (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.308"></a>
+<span class="sourceLineNo">308</span> (getImplData()).setServerManager(p_serverManager);<a name="line.308"></a>
<span class="sourceLineNo">309</span> return this;<a name="line.309"></a>
<span class="sourceLineNo">310</span> }<a name="line.310"></a>
<span class="sourceLineNo">311</span> <a name="line.311"></a>
-<span class="sourceLineNo">312</span> protected Map<String,Integer> frags;<a name="line.312"></a>
-<span class="sourceLineNo">313</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map<String,Integer> p_frags)<a name="line.313"></a>
+<span class="sourceLineNo">312</span> protected Set<ServerName> deadServers;<a name="line.312"></a>
+<span class="sourceLineNo">313</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set<ServerName> p_deadServers)<a name="line.313"></a>
<span class="sourceLineNo">314</span> {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> (getImplData()).setFrags(p_frags);<a name="line.315"></a>
+<span class="sourceLineNo">315</span> (getImplData()).setDeadServers(p_deadServers);<a name="line.315"></a>
<span class="sourceLineNo">316</span> return this;<a name="line.316"></a>
<span class="sourceLineNo">317</span> }<a name="line.317"></a>
<span class="sourceLineNo">318</span> <a name="line.318"></a>
-<span class="sourceLineNo">319</span> protected List<ServerName> servers;<a name="line.319"></a>
-<span class="sourceLineNo">320</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List<ServerName> p_servers)<a name="line.320"></a>
+<span class="sourceLineNo">319</span> protected String format;<a name="line.319"></a>
+<span class="sourceLineNo">320</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.320"></a>
<span class="sourceLineNo">321</span> {<a name="line.321"></a>
-<span class="sourceLineNo">322</span> (getImplData()).setServers(p_servers);<a name="line.322"></a>
+<span class="sourceLineNo">322</span> (getImplData()).setFormat(p_format);<a name="line.322"></a>
<span class="sourceLineNo">323</span> return this;<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> protected Set<ServerName> deadServers;<a name="line.326"></a>
-<span class="sourceLineNo">327</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set<ServerName> p_deadServers)<a name="line.327"></a>
+<span class="sourceLineNo">326</span> protected AssignmentManager assignmentManager;<a name="line.326"></a>
+<span class="sourceLineNo">327</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.327"></a>
<span class="sourceLineNo">328</span> {<a name="line.328"></a>
-<span class="sourceLineNo">329</span> (getImplData()).setDeadServers(p_deadServers);<a name="line.329"></a>
+<span class="sourceLineNo">329</span> (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.329"></a>
<span class="sourceLineNo">330</span> return this;<a name="line.330"></a>
<span class="sourceLineNo">331</span> }<a name="line.331"></a>
<span class="sourceLineNo">332</span> <a name="line.332"></a>
-<span class="sourceLineNo">333</span> protected boolean catalogJanitorEnabled;<a name="line.333"></a>
-<span class="sourceLineNo">334</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.334"></a>
+<span class="sourceLineNo">333</span> protected String filter;<a name="line.333"></a>
+<span class="sourceLineNo">334</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.334"></a>
<span class="sourceLineNo">335</span> {<a name="line.335"></a>
-<span class="sourceLineNo">336</span> (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.336"></a>
+<span class="sourceLineNo">336</span> (getImplData()).setFilter(p_filter);<a name="line.336"></a>
<span class="sourceLineNo">337</span> return this;<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>
[05/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html
index e7f72f1..b7e1070 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html
@@ -107,7 +107,7 @@
</dl>
<hr>
<br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.190">TestStateMachineProcedure.TestProcEnv</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.189">TestStateMachineProcedure.TestProcEnv</a>
extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
</li>
</ul>
@@ -192,7 +192,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>execCount</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html#line.191">execCount</a></pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html#line.190">execCount</a></pre>
</li>
</ul>
<a name="rollbackCount">
@@ -201,7 +201,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>rollbackCount</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html#line.192">rollbackCount</a></pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html#line.191">rollbackCount</a></pre>
</li>
</ul>
<a name="triggerChildRollback">
@@ -210,7 +210,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockListLast">
<li class="blockList">
<h4>triggerChildRollback</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html#line.193">triggerChildRollback</a></pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html#line.192">triggerChildRollback</a></pre>
</li>
</ul>
</li>
@@ -227,7 +227,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockListLast">
<li class="blockList">
<h4>TestProcEnv</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html#line.190">TestProcEnv</a>()</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html#line.189">TestProcEnv</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html
index 98efc4d..a01eb83 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.139">TestStateMachineProcedure.TestSMProcedure</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.138">TestStateMachineProcedure.TestSMProcedure</a>
extends org.apache.hadoop.hbase.procedure2.StateMachineProcedure<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a>></pre>
</li>
</ul>
@@ -236,7 +236,7 @@ extends org.apache.hadoop.hbase.procedure2.StateMachineProcedure<<a href="../
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, updateTimestamp, wasExecuted</co
de></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, updateMetricsOnFinish, u
pdateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -265,7 +265,7 @@ extends org.apache.hadoop.hbase.procedure2.StateMachineProcedure<<a href="../
<ul class="blockListLast">
<li class="blockList">
<h4>TestSMProcedure</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html#line.139">TestSMProcedure</a>()</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html#line.138">TestSMProcedure</a>()</pre>
</li>
</ul>
</li>
@@ -282,7 +282,7 @@ extends org.apache.hadoop.hbase.procedure2.StateMachineProcedure<<a href="../
<ul class="blockList">
<li class="blockList">
<h4>executeFromState</h4>
-<pre>protected org.apache.hadoop.hbase.procedure2.StateMachineProcedure.Flow <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html#line.141">executeFromState</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a> env,
+<pre>protected org.apache.hadoop.hbase.procedure2.StateMachineProcedure.Flow <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html#line.140">executeFromState</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a> env,
<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a> state)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -296,7 +296,7 @@ extends org.apache.hadoop.hbase.procedure2.StateMachineProcedure<<a href="../
<ul class="blockList">
<li class="blockList">
<h4>rollbackState</h4>
-<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html#line.155">rollbackState</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a> env,
+<pre>protected void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html#line.154">rollbackState</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a> env,
<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a> state)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -310,7 +310,7 @@ extends org.apache.hadoop.hbase.procedure2.StateMachineProcedure<<a href="../
<ul class="blockList">
<li class="blockList">
<h4>getState</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html#line.160">getState</a>(int stateId)</pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html#line.159">getState</a>(int stateId)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getState</code> in class <code>org.apache.hadoop.hbase.procedure2.StateMachineProcedure<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a>></code></dd>
@@ -323,7 +323,7 @@ extends org.apache.hadoop.hbase.procedure2.StateMachineProcedure<<a href="../
<ul class="blockList">
<li class="blockList">
<h4>getStateId</h4>
-<pre>protected int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html#line.164">getStateId</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a> state)</pre>
+<pre>protected int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html#line.163">getStateId</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a> state)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getStateId</code> in class <code>org.apache.hadoop.hbase.procedure2.StateMachineProcedure<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a>></code></dd>
@@ -336,7 +336,7 @@ extends org.apache.hadoop.hbase.procedure2.StateMachineProcedure<<a href="../
<ul class="blockListLast">
<li class="blockList">
<h4>getInitialState</h4>
-<pre>protected <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html#line.168">getInitialState</a>()</pre>
+<pre>protected <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html#line.167">getInitialState</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getInitialState</code> in class <code>org.apache.hadoop.hbase.procedure2.StateMachineProcedure<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a>></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html
index 0d965bf..8843ae7 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.138">TestStateMachineProcedure.TestSMProcedureState</a>
+<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.137">TestStateMachineProcedure.TestSMProcedureState</a>
extends <a href="http://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/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a>></pre>
</li>
</ul>
@@ -210,7 +210,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>STEP_1</h4>
-<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html#line.138">STEP_1</a></pre>
+<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html#line.137">STEP_1</a></pre>
</li>
</ul>
<a name="STEP_2">
@@ -219,7 +219,7 @@ the order they are declared.</div>
<ul class="blockListLast">
<li class="blockList">
<h4>STEP_2</h4>
-<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html#line.138">STEP_2</a></pre>
+<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html#line.137">STEP_2</a></pre>
</li>
</ul>
</li>
@@ -236,7 +236,7 @@ the order they are declared.</div>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html#line.138">values</a>()</pre>
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html#line.137">values</a>()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
@@ -256,7 +256,7 @@ for (TestStateMachineProcedure.TestSMProcedureState c : TestStateMachineProcedur
<ul class="blockListLast">
<li class="blockList">
<h4>valueOf</h4>
-<pre>public static <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html#line.138">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</pre>
+<pre>public static <a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedureState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html#line.137">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html
index d749b8c..fe22ead 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
<li class="blockList">
<hr>
<br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.44">TestStateMachineProcedure</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.43">TestStateMachineProcedure</a>
extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
</li>
</ul>
@@ -280,7 +280,7 @@ extends <a href="http://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.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.45">LOG</a></pre>
+<pre>private static final org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.44">LOG</a></pre>
</li>
</ul>
<a name="TEST_FAILURE_EXCEPTION">
@@ -289,7 +289,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>TEST_FAILURE_EXCEPTION</h4>
-<pre>private static final <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.47">TEST_FAILURE_EXCEPTION</a></pre>
+<pre>private static final <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.46">TEST_FAILURE_EXCEPTION</a></pre>
</li>
</ul>
<a name="PROCEDURE_EXECUTOR_SLOTS">
@@ -298,7 +298,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>PROCEDURE_EXECUTOR_SLOTS</h4>
-<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.63">PROCEDURE_EXECUTOR_SLOTS</a></pre>
+<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.62">PROCEDURE_EXECUTOR_SLOTS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.procedure2.TestStateMachineProcedure.PROCEDURE_EXECUTOR_SLOTS">Constant Field Values</a></dd>
@@ -311,7 +311,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>procExecutor</h4>
-<pre>private org.apache.hadoop.hbase.procedure2.ProcedureExecutor<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.65">procExecutor</a></pre>
+<pre>private org.apache.hadoop.hbase.procedure2.ProcedureExecutor<<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestProcEnv</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.64">procExecutor</a></pre>
</li>
</ul>
<a name="procStore">
@@ -320,7 +320,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>procStore</h4>
-<pre>private org.apache.hadoop.hbase.procedure2.store.ProcedureStore <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.66">procStore</a></pre>
+<pre>private org.apache.hadoop.hbase.procedure2.store.ProcedureStore <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.65">procStore</a></pre>
</li>
</ul>
<a name="htu">
@@ -329,7 +329,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>htu</h4>
-<pre>private <a href="../../../../../org/apache/hadoop/hbase/HBaseCommonTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseCommonTestingUtility</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.68">htu</a></pre>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/HBaseCommonTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseCommonTestingUtility</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.67">htu</a></pre>
</li>
</ul>
<a name="fs">
@@ -338,7 +338,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>fs</h4>
-<pre>private org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.69">fs</a></pre>
+<pre>private org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.68">fs</a></pre>
</li>
</ul>
<a name="testDir">
@@ -347,7 +347,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testDir</h4>
-<pre>private org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.70">testDir</a></pre>
+<pre>private org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.69">testDir</a></pre>
</li>
</ul>
<a name="logDir">
@@ -356,7 +356,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockListLast">
<li class="blockList">
<h4>logDir</h4>
-<pre>private org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.71">logDir</a></pre>
+<pre>private org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.70">logDir</a></pre>
</li>
</ul>
</li>
@@ -373,7 +373,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockListLast">
<li class="blockList">
<h4>TestStateMachineProcedure</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.44">TestStateMachineProcedure</a>()</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.43">TestStateMachineProcedure</a>()</pre>
</li>
</ul>
</li>
@@ -390,7 +390,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>setUp</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.74">setUp</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.73">setUp</a>()
throws <a href="http://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>
@@ -404,7 +404,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>tearDown</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.87">tearDown</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.86">tearDown</a>()
throws <a href="http://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>
@@ -418,7 +418,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testChildOnLastStep</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.97">testChildOnLastStep</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.96">testChildOnLastStep</a>()</pre>
</li>
</ul>
<a name="testChildOnLastStepDoubleExecution--">
@@ -427,7 +427,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testChildOnLastStepDoubleExecution</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.106">testChildOnLastStepDoubleExecution</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.105">testChildOnLastStepDoubleExecution</a>()
throws <a href="http://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>
@@ -441,7 +441,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testChildOnLastStepWithRollback</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.116">testChildOnLastStepWithRollback</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.115">testChildOnLastStepWithRollback</a>()</pre>
</li>
</ul>
<a name="testChildOnLastStepWithRollbackDoubleExecution--">
@@ -450,7 +450,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockListLast">
<li class="blockList">
<h4>testChildOnLastStepWithRollbackDoubleExecution</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.127">testChildOnLastStepWithRollbackDoubleExecution</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html#line.126">testChildOnLastStepWithRollbackDoubleExecution</a>()
throws <a href="http://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>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestStateMachineProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestStateMachineProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestStateMachineProcedure.html
index 008e4d2..959318c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestStateMachineProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestStateMachineProcedure.html
@@ -291,7 +291,7 @@ extends org.apache.hadoop.hbase.procedure2.StateMachineProcedure<<a href="../
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, updateTimestamp, wasExecuted</co
de></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, updateMetricsOnFinish, u
pdateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestYieldProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestYieldProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestYieldProcedure.html
index 2091931..a174f8a 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestYieldProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestYieldProcedure.html
@@ -230,7 +230,7 @@ extends org.apache.hadoop.hbase.procedure2.Procedure<<a href="../../../../../
<!-- -->
</a>
<h3>Methods inherited from class org.apache.hadoop.hbase.procedure2.Procedure</h3>
-<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getStartTime, getState, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateTimestamp,
wasExecuted</code></li>
+<code>acquireLock, addStackIndex, afterReplay, beforeReplay, childrenCountDown, compareTo, completionCleanup, doAcquireLock, doExecute, doReleaseLock, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isFailed, isFinished, isInitializing, isRunnable, isSuccess, isWaiting, releaseLock, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, toStringState, updateMet
ricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/class-use/TestProcedureMetrics.ProcedureMetrics.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/class-use/TestProcedureMetrics.ProcedureMetrics.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/class-use/TestProcedureMetrics.ProcedureMetrics.html
new file mode 100644
index 0000000..d5fb4f7
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/class-use/TestProcedureMetrics.ProcedureMetrics.html
@@ -0,0 +1,183 @@
+<!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.procedure2.TestProcedureMetrics.ProcedureMetrics (Apache HBase 2.0.0-SNAPSHOT Test 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.procedure2.TestProcedureMetrics.ProcedureMetrics (Apache HBase 2.0.0-SNAPSHOT Test 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/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">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/procedure2/class-use/TestProcedureMetrics.ProcedureMetrics.html" target="_top">Frames</a></li>
+<li><a href="TestProcedureMetrics.ProcedureMetrics.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.procedure2.TestProcedureMetrics.ProcedureMetrics" class="title">Uses of Class<br>org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.ProcedureMetrics</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/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</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.procedure2">org.apache.hadoop.hbase.procedure2</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.procedure2">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a> in <a href="../../../../../../org/apache/hadoop/hbase/procedure2/package-summary.html">org.apache.hadoop.hbase.procedure2</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/hadoop/hbase/procedure2/package-summary.html">org.apache.hadoop.hbase.procedure2</a> declared as <a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></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>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">TestProcedureMetrics.ProcedureMetrics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#subprocs">subprocs</a></span></code> </td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/hadoop/hbase/procedure2/package-summary.html">org.apache.hadoop.hbase.procedure2</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#ProcedureMetrics-boolean-boolean-int-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.ProcedureMetrics:A-">ProcedureMetrics</a></span>(boolean success,
+ boolean yield,
+ int yieldCount,
+ <a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a>[] subprocs)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#ProcedureMetrics-boolean-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.ProcedureMetrics:A-">ProcedureMetrics</a></span>(boolean success,
+ <a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a>[] subprocs)</code> </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/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">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/procedure2/class-use/TestProcedureMetrics.ProcedureMetrics.html" target="_top">Frames</a></li>
+<li><a href="TestProcedureMetrics.ProcedureMetrics.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–2017 <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/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/class-use/TestProcedureMetrics.TestProcEnv.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/class-use/TestProcedureMetrics.TestProcEnv.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/class-use/TestProcedureMetrics.TestProcEnv.html
new file mode 100644
index 0000000..64bbd7a
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/class-use/TestProcedureMetrics.TestProcEnv.html
@@ -0,0 +1,209 @@
+<!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.procedure2.TestProcedureMetrics.TestProcEnv (Apache HBase 2.0.0-SNAPSHOT Test 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.procedure2.TestProcedureMetrics.TestProcEnv (Apache HBase 2.0.0-SNAPSHOT Test 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/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">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/procedure2/class-use/TestProcedureMetrics.TestProcEnv.html" target="_top">Frames</a></li>
+<li><a href="TestProcedureMetrics.TestProcEnv.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.procedure2.TestProcedureMetrics.TestProcEnv" class="title">Uses of Class<br>org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv</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/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</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.procedure2">org.apache.hadoop.hbase.procedure2</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.procedure2">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> in <a href="../../../../../../org/apache/hadoop/hbase/procedure2/package-summary.html">org.apache.hadoop.hbase.procedure2</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/hadoop/hbase/procedure2/package-summary.html">org.apache.hadoop.hbase.procedure2</a> declared as <a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a></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>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TestProcedureMetrics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#procEnv">procEnv</a></span></code> </td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/hadoop/hbase/procedure2/package-summary.html">org.apache.hadoop.hbase.procedure2</a> with type parameters of type <a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a></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>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private static org.apache.hadoop.hbase.procedure2.ProcedureExecutor<<a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a>></code></td>
+<td class="colLast"><span class="typeNameLabel">TestProcedureMetrics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html#procExecutor">procExecutor</a></span></code> </td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/procedure2/package-summary.html">org.apache.hadoop.hbase.procedure2</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">TestProcedureMetrics.ProcedureMetrics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#abort-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">abort</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected org.apache.hadoop.hbase.procedure2.Procedure[]</code></td>
+<td class="colLast"><span class="typeNameLabel">TestProcedureMetrics.ProcedureMetrics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#execute-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">execute</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env)</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">TestProcedureMetrics.ProcedureMetrics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#rollback-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">rollback</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">TestProcedureMetrics.ProcedureMetrics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#updateMetricsOnFinish-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-long-boolean-">updateMetricsOnFinish</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env,
+ long time,
+ boolean success)</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">TestProcedureMetrics.ProcedureMetrics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html#updateMetricsOnSubmit-org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.TestProcEnv-">updateMetricsOnSubmit</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a> env)</code> </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/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">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/procedure2/class-use/TestProcedureMetrics.TestProcEnv.html" target="_top">Frames</a></li>
+<li><a href="TestProcedureMetrics.TestProcEnv.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–2017 <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/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/class-use/TestProcedureMetrics.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/class-use/TestProcedureMetrics.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/class-use/TestProcedureMetrics.html
new file mode 100644
index 0000000..66fc5bd6
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/class-use/TestProcedureMetrics.html
@@ -0,0 +1,125 @@
+<!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.procedure2.TestProcedureMetrics (Apache HBase 2.0.0-SNAPSHOT Test 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.procedure2.TestProcedureMetrics (Apache HBase 2.0.0-SNAPSHOT Test 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/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">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/procedure2/class-use/TestProcedureMetrics.html" target="_top">Frames</a></li>
+<li><a href="TestProcedureMetrics.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.procedure2.TestProcedureMetrics" class="title">Uses of Class<br>org.apache.hadoop.hbase.procedure2.TestProcedureMetrics</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.procedure2.TestProcedureMetrics</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/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">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/procedure2/class-use/TestProcedureMetrics.html" target="_top">Frames</a></li>
+<li><a href="TestProcedureMetrics.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–2017 <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/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-frame.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-frame.html
index 547f535..416e839 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-frame.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-frame.html
@@ -33,6 +33,9 @@
<li><a href="TestProcedureInMemoryChore.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureInMemoryChore</a></li>
<li><a href="TestProcedureInMemoryChore.TestLatchChore.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureInMemoryChore.TestLatchChore</a></li>
<li><a href="TestProcedureInMemoryChore.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureInMemoryChore.TestProcEnv</a></li>
+<li><a href="TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureMetrics</a></li>
+<li><a href="TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureMetrics.ProcedureMetrics</a></li>
+<li><a href="TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureMetrics.TestProcEnv</a></li>
<li><a href="TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureNonce</a></li>
<li><a href="TestProcedureNonce.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureNonce.TestProcEnv</a></li>
<li><a href="TestProcedureNonce.TestSingleStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">TestProcedureNonce.TestSingleStepProcedure</a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-summary.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-summary.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-summary.html
index 708e756..13bbc3b 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-summary.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-summary.html
@@ -163,154 +163,166 @@
<td class="colLast"> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics</a></td>
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce.TestProcEnv</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.ProcedureMetrics.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.ProcedureMetrics</a></td>
<td class="colLast"> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce.TestSingleStepProcedure</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureMetrics.TestProcEnv</a></td>
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce</a></td>
<td class="colLast"> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.BaseTestStepProcedure</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce.TestProcEnv</a></td>
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.TestMultiStepProcedure</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureNonce.TestSingleStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureNonce.TestSingleStepProcedure</a></td>
<td class="colLast"> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.Step1Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.TestMultiStepProcedure.Step1Procedure</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery</a></td>
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.Step2Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.TestMultiStepProcedure.Step2Procedure</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.BaseTestStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.BaseTestStepProcedure</a></td>
<td class="colLast"> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.TestProcEnv</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.TestMultiStepProcedure</a></td>
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestSingleStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.TestSingleStepProcedure</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.Step1Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.TestMultiStepProcedure.Step1Procedure</a></td>
<td class="colLast"> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.TestStateMachineProcedure</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestMultiStepProcedure.Step2Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.TestMultiStepProcedure.Step2Procedure</a></td>
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureReplayOrder</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.TestProcEnv</a></td>
<td class="colLast"> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureReplayOrder.TestProcedure</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestSingleStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.TestSingleStepProcedure</a></td>
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestProcedureEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureReplayOrder.TestProcedureEnv</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureRecovery.TestStateMachineProcedure</a></td>
<td class="colLast"> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestSingleStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureReplayOrder.TestSingleStepProcedure</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureReplayOrder</a></td>
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestTwoStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureReplayOrder.TestTwoStepProcedure</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureReplayOrder.TestProcedure</a></td>
<td class="colLast"> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureSchedulerConcurrency</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestProcedureEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureReplayOrder.TestProcedureEnv</a></td>
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.TestProcedureWithEvent.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureSchedulerConcurrency.TestProcedureWithEvent</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestSingleStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureReplayOrder.TestSingleStepProcedure</a></td>
<td class="colLast"> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureSuspended</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.TestTwoStepProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureReplayOrder.TestTwoStepProcedure</a></td>
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.TestLockProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureSuspended.TestLockProcedure</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureSchedulerConcurrency</a></td>
<td class="colLast"> </td>
</tr>
<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureSuspended.TestProcEnv</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.TestProcedureWithEvent.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureSchedulerConcurrency.TestProcedureWithEvent</a></td>
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureToString.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureToString</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureSuspended</a></td>
+<td class="colLast"> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.TestLockProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureSuspended.TestLockProcedure</a></td>
+<td class="colLast"> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureSuspended.TestProcEnv</a></td>
<td class="colLast"> </td>
</tr>
<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureToString.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureToString</a></td>
+<td class="colLast"> </td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureToString.BasicProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureToString.BasicProcedure</a></td>
<td class="colLast">
<div class="block">A do-nothing basic procedure just for testing toString.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureToString.BasicProcedureEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureToString.BasicProcedureEnv</a></td>
<td class="colLast">
<div class="block">A do-nothing environment for BasicProcedure.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureToString.DoublingStateStringBasicProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureToString.DoublingStateStringBasicProcedure</a></td>
<td class="colLast">
<div class="block">A do-nothing basic procedure that overrides the toStringState method.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureToString.SimpleStateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureToString.SimpleStateMachineProcedure</a></td>
<td class="colLast">
<div class="block">Do-nothing SimpleMachineProcedure for checking its toString.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureUtil.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureUtil</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureUtil.TestProcedureNoDefaultConstructor.html" title="class in org.apache.hadoop.hbase.procedure2">TestProcedureUtil.TestProcedureNoDefaultConstructor</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.SimpleChildProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.SimpleChildProcedure</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestStateMachineProcedure.TestSMProcedure</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestYieldProcedures.html" title="class in org.apache.hadoop.hbase.procedure2">TestYieldProcedures</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestProcEnv.html" title="class in org.apache.hadoop.hbase.procedure2">TestYieldProcedures.TestProcEnv</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestScheduler.html" title="class in org.apache.hadoop.hbase.procedure2">TestYieldProcedures.TestScheduler</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestStateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestYieldProcedures.TestStateMachineProcedure</a></td>
<td class="colLast"> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestYieldProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">TestYieldProcedures.TestYieldProcedure</a></td>
<td class="colLast"> </td>
</tr>
[35/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index 9eb8dd4..b075b92 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -26,7 +26,7 @@ under the License.
<copyright>©2007 - 2017 The Apache Software Foundation</copyright>
<item>
<title>File: 2144,
- Errors: 14240,
+ Errors: 14242,
Warnings: 0,
Infos: 0
</title>
@@ -15315,7 +15315,7 @@ under the License.
0
</td>
<td>
- 4
+ 5
</td>
</tr>
<tr>
@@ -25675,7 +25675,7 @@ under the License.
0
</td>
<td>
- 0
+ 1
</td>
</tr>
<tr>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index 4319aab..0ecc353 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Code of Conduct Policy
@@ -392,7 +392,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: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/cygwin.html
----------------------------------------------------------------------
diff --git a/cygwin.html b/cygwin.html
index 46feb92..f00de58 100644
--- a/cygwin.html
+++ b/cygwin.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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Installing Apache HBase (TM) on Windows using Cygwin</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -691,7 +691,7 @@ Now your <b>HBase </b>server is running, <b>start coding</b> and build that next
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 54e63a4..043c685 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Dependencies</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -536,7 +536,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index dbcc51a..59d1323 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Reactor Dependency Convergence</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -1883,7 +1883,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index b0a4ce6..fa27968 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Dependency Information</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -330,7 +330,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index fc90134..122827b 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="20170413" />
+ <meta name="Date-Revision-yyyymmdd" content="20170415" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Dependency Management</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -918,7 +918,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-04-13</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-04-15</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 52cf5d9..1253339 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3775,21 +3775,21 @@
<!-- -->
</a><code>public static final <a href="http://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>"Thu Apr 13 21:10:54 UTC 2017"</code></td>
+<td class="colLast"><code>"Sat Apr 15 14:38:43 UTC 2017"</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
<!-- -->
</a><code>public static final <a href="http://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#revision">revision</a></code></td>
-<td class="colLast"><code>"da5fb27eabed4a4b4d251be973ee945fb52895bf"</code></td>
+<td class="colLast"><code>"0cd4cec5d24b5e7194a903e4d900f5558ed8b9a7"</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
<!-- -->
</a><code>public static final <a href="http://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>"00e895b43b730ab6c310b237457e4b31"</code></td>
+<td class="colLast"><code>"10edd451996c9718f54bf7c0638a70c1"</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">
@@ -12411,7 +12411,7 @@
<!-- -->
</a><code>public static final <a href="http://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/master/MetricsAssignmentManagerSource.html#METRICS_DESCRIPTION">METRICS_DESCRIPTION</a></code></td>
-<td class="colLast"><code>"Metrics about HBase master assingment manager."</code></td>
+<td class="colLast"><code>"Metrics about HBase master assignment manager."</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.METRICS_JMX_CONTEXT">
@@ -12428,12 +12428,26 @@
<td class="colLast"><code>"AssignmentManager"</code></td>
</tr>
<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.RIT_COUNT_DESC">
+<!-- -->
+</a><code>public static final <a href="http://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/master/MetricsAssignmentManagerSource.html#RIT_COUNT_DESC">RIT_COUNT_DESC</a></code></td>
+<td class="colLast"><code>"Current number of Regions In Transition (Gauge)."</code></td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.RIT_COUNT_NAME">
<!-- -->
</a><code>public static final <a href="http://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/master/MetricsAssignmentManagerSource.html#RIT_COUNT_NAME">RIT_COUNT_NAME</a></code></td>
<td class="colLast"><code>"ritCount"</code></td>
</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.RIT_COUNT_OVER_THRESHOLD_DESC">
+<!-- -->
+</a><code>public static final <a href="http://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/master/MetricsAssignmentManagerSource.html#RIT_COUNT_OVER_THRESHOLD_DESC">RIT_COUNT_OVER_THRESHOLD_DESC</a></code></td>
+<td class="colLast"><code>"Current number of Regions In Transition over threshold time (Gauge)."</code></td>
+</tr>
<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.RIT_COUNT_OVER_THRESHOLD_NAME">
<!-- -->
@@ -12442,12 +12456,26 @@
<td class="colLast"><code>"ritCountOverThreshold"</code></td>
</tr>
<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.RIT_DURATION_DESC">
+<!-- -->
+</a><code>public static final <a href="http://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/master/MetricsAssignmentManagerSource.html#RIT_DURATION_DESC">RIT_DURATION_DESC</a></code></td>
+<td class="colLast"><code>"Total durations in milliseconds for all Regions in Transition (Histogram)."</code></td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.RIT_DURATION_NAME">
<!-- -->
</a><code>public static final <a href="http://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/master/MetricsAssignmentManagerSource.html#RIT_DURATION_NAME">RIT_DURATION_NAME</a></code></td>
<td class="colLast"><code>"ritDuration"</code></td>
</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.RIT_OLDEST_AGE_DESC">
+<!-- -->
+</a><code>public static final <a href="http://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/master/MetricsAssignmentManagerSource.html#RIT_OLDEST_AGE_DESC">RIT_OLDEST_AGE_DESC</a></code></td>
+<td class="colLast"><code>"Timestamp in milliseconds of the oldest Region In Transition (Gauge)."</code></td>
+</tr>
<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.RIT_OLDEST_AGE_NAME">
<!-- -->
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 586ee59..b8973bc 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -44893,10 +44893,6 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/monitoring/MonitoredTaskImpl.html#getStartTime--">getStartTime()</a></span> - Method in class org.apache.hadoop.hbase.monitoring.<a href="org/apache/hadoop/hbase/monitoring/MonitoredTaskImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredTaskImpl</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/Procedure.html#getStartTime--">getStartTime()</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> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ProcedureInfo.html#getStartTime--">getStartTime()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/model/ScannerModel.html#getStartTime--">getStartTime()</a></span> - Method in class org.apache.hadoop.hbase.rest.model.<a href="org/apache/hadoop/hbase/rest/model/ScannerModel.html" title="class in org.apache.hadoop.hbase.rest.model">ScannerModel</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/RowSpec.html#getStartTime--">getStartTime()</a></span> - Method in class org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/RowSpec.html" title="class in org.apache.hadoop.hbase.rest">RowSpec</a></dt>
@@ -45436,6 +45432,10 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncProcessTask.html#getSubmittedRows--">getSubmittedRows()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncProcessTask.html" title="class in org.apache.hadoop.hbase.client">AsyncProcessTask</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/Procedure.html#getSubmittedTime--">getSubmittedTime()</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> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ProcedureInfo.html#getSubmittedTime--">getSubmittedTime()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/RootProcedureState.html#getSubprocedureIds--">getSubprocedureIds()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/RootProcedureState.html#getSubproceduresStack--">getSubproceduresStack()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/RootProcedureState.html" title="class in org.apache.hadoop.hbase.procedure2">RootProcedureState</a></dt>
@@ -86394,12 +86394,20 @@ service.</div>
<dd> </dd>
<dt><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> - Enum in <a href="org/apache/hadoop/hbase/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_COUNT_DESC">RIT_COUNT_DESC</a></span> - Static variable in interface org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html" title="interface in org.apache.hadoop.hbase.master">MetricsAssignmentManagerSource</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_COUNT_NAME">RIT_COUNT_NAME</a></span> - Static variable in interface org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html" title="interface in org.apache.hadoop.hbase.master">MetricsAssignmentManagerSource</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_COUNT_OVER_THRESHOLD_DESC">RIT_COUNT_OVER_THRESHOLD_DESC</a></span> - Static variable in interface org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html" title="interface in org.apache.hadoop.hbase.master">MetricsAssignmentManagerSource</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_COUNT_OVER_THRESHOLD_NAME">RIT_COUNT_OVER_THRESHOLD_NAME</a></span> - Static variable in interface org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html" title="interface in org.apache.hadoop.hbase.master">MetricsAssignmentManagerSource</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_DURATION_DESC">RIT_DURATION_DESC</a></span> - Static variable in interface org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html" title="interface in org.apache.hadoop.hbase.master">MetricsAssignmentManagerSource</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_DURATION_NAME">RIT_DURATION_NAME</a></span> - Static variable in interface org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html" title="interface in org.apache.hadoop.hbase.master">MetricsAssignmentManagerSource</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_OLDEST_AGE_DESC">RIT_OLDEST_AGE_DESC</a></span> - Static variable in interface org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html" title="interface in org.apache.hadoop.hbase.master">MetricsAssignmentManagerSource</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#RIT_OLDEST_AGE_NAME">RIT_OLDEST_AGE_NAME</a></span> - Static variable in interface org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html" title="interface in org.apache.hadoop.hbase.master">MetricsAssignmentManagerSource</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html#ritCountOverThresholdGauge">ritCountOverThresholdGauge</a></span> - Variable in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.html" title="class in org.apache.hadoop.hbase.master">MetricsAssignmentManagerSourceImpl</a></dt>
@@ -93974,11 +93982,6 @@ service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/RpcServer.Call.html#setStartTime-long-">setStartTime(long)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/Procedure.html#setStartTime-long-">setStartTime(long)</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>
-<div class="block">Called on store load to initialize the Procedure internals after
- the creation/deserialization.</div>
-</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/model/ScannerModel.html#setStartTime-long-">setStartTime(long)</a></span> - Method in class org.apache.hadoop.hbase.rest.model.<a href="org/apache/hadoop/hbase/rest/model/ScannerModel.html" title="class in org.apache.hadoop.hbase.rest.model">ScannerModel</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/RowSpec.html#setStartTime-long-">setStartTime(long)</a></span> - Method in class org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/RowSpec.html" title="class in org.apache.hadoop.hbase.rest">RowSpec</a></dt>
@@ -94066,6 +94069,11 @@ service.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncProcessTask.Builder.html#setSubmittedRows-org.apache.hadoop.hbase.client.AsyncProcessTask.SubmittedRows-">setSubmittedRows(AsyncProcessTask.SubmittedRows)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncProcessTask.Builder.html" title="class in org.apache.hadoop.hbase.client">AsyncProcessTask.Builder</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/Procedure.html#setSubmittedTime-long-">setSubmittedTime(long)</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>
+<div class="block">Called on store load to initialize the Procedure internals after
+ the creation/deserialization.</div>
+</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/mapreduce/MapReduceBackupCopyJob.html#setSubTaskPercntgInWholeTask-float-">setSubTaskPercntgInWholeTask(float)</a></span> - Method in class org.apache.hadoop.hbase.backup.mapreduce.<a href="org/apache/hadoop/hbase/backup/mapreduce/MapReduceBackupCopyJob.html" title="class in org.apache.hadoop.hbase.backup.mapreduce">MapReduceBackupCopyJob</a></dt>
<dd>
<div class="block">Set the current copy task percentage within the whole task if multiple copies are needed.</div>
@@ -98276,10 +98284,6 @@ service.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/monitoring/MonitoredTaskImpl.html#startTime">startTime</a></span> - Variable in class org.apache.hadoop.hbase.monitoring.<a href="org/apache/hadoop/hbase/monitoring/MonitoredTaskImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredTaskImpl</a></dt>
<dd> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/Procedure.html#startTime">startTime</a></span> - Variable 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> </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ProcedureInfo.html#startTime">startTime</a></span> - Variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a></dt>
-<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/BusyRegionSplitPolicy.html#startTime">startTime</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/BusyRegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">BusyRegionSplitPolicy</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#startTime">startTime</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a></dt>
@@ -99903,6 +99907,10 @@ service.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/SimpleRequestController.SubmittedSizeChecker.html#SubmittedSizeChecker-long-">SubmittedSizeChecker(long)</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/SimpleRequestController.SubmittedSizeChecker.html" title="class in org.apache.hadoop.hbase.client">SimpleRequestController.SubmittedSizeChecker</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/Procedure.html#submittedTime">submittedTime</a></span> - Variable 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> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ProcedureInfo.html#submittedTime">submittedTime</a></span> - Variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/procedure/Subprocedure.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">Subprocedure</span></a> - Class in <a href="org/apache/hadoop/hbase/procedure/package-summary.html">org.apache.hadoop.hbase.procedure</a></dt>
<dd>
<div class="block">Distributed procedure member's Subprocedure.</div>
@@ -106245,6 +106253,14 @@ service.</div>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/JvmPauseMonitor.html#updateMetrics-long-boolean-">updateMetrics(long, boolean)</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/JvmPauseMonitor.html" title="class in org.apache.hadoop.hbase.util">JvmPauseMonitor</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnFinish-TEnvironment-long-boolean-">updateMetricsOnFinish(TEnvironment, long, boolean)</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>
+<div class="block">This function will be called just after procedure execution is finished.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/Procedure.html#updateMetricsOnSubmit-TEnvironment-">updateMetricsOnSubmit(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>
+<div class="block">This function will be called just when procedure is submitted for execution.</div>
+</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancer.html#updateMetricsSize-int-">updateMetricsSize(int)</a></span> - Method in class org.apache.hadoop.hbase.master.balancer.<a href="org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancer.html" title="class in org.apache.hadoop.hbase.master.balancer">MetricsStochasticBalancer</a></dt>
<dd>
<div class="block">Updates the number of metrics reported to JMX</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/ProcedureInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ProcedureInfo.html b/devapidocs/org/apache/hadoop/hbase/ProcedureInfo.html
index 2d5b443..7f57583 100644
--- a/devapidocs/org/apache/hadoop/hbase/ProcedureInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/ProcedureInfo.html
@@ -178,7 +178,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable
</tr>
<tr class="altColor">
<td class="colFirst"><code>private long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/ProcedureInfo.html#startTime">startTime</a></span></code> </td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/ProcedureInfo.html#submittedTime">submittedTime</a></span></code> </td>
</tr>
</table>
</li>
@@ -203,7 +203,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable
<a href="../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a> nonceKey,
<a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> exception,
long lastUpdate,
- long startTime,
+ long submittedTime,
byte[] result)</code> </td>
</tr>
</table>
@@ -275,7 +275,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/ProcedureInfo.html#getStartTime--">getStartTime</a></span>()</code> </td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/ProcedureInfo.html#getSubmittedTime--">getSubmittedTime</a></span>()</code> </td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
@@ -406,13 +406,13 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable
<pre>private final long <a href="../../../../src-html/org/apache/hadoop/hbase/ProcedureInfo.html#line.41">lastUpdate</a></pre>
</li>
</ul>
-<a name="startTime">
+<a name="submittedTime">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>startTime</h4>
-<pre>private final long <a href="../../../../src-html/org/apache/hadoop/hbase/ProcedureInfo.html#line.42">startTime</a></pre>
+<h4>submittedTime</h4>
+<pre>private final long <a href="../../../../src-html/org/apache/hadoop/hbase/ProcedureInfo.html#line.42">submittedTime</a></pre>
</li>
</ul>
<a name="result">
@@ -456,7 +456,7 @@ public <a href="../../../../src-html/org/apache/hadoop/hbase/ProcedureInfo.
<a href="../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a> nonceKey,
<a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> exception,
long lastUpdate,
- long startTime,
+ long submittedTime,
byte[] result)</pre>
</li>
</ul>
@@ -611,13 +611,13 @@ public <a href="../../../../src-html/org/apache/hadoop/hbase/ProcedureInfo.
<pre>public byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/ProcedureInfo.html#line.167">getResult</a>()</pre>
</li>
</ul>
-<a name="getStartTime--">
+<a name="getSubmittedTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getStartTime</h4>
-<pre>public long <a href="../../../../src-html/org/apache/hadoop/hbase/ProcedureInfo.html#line.171">getStartTime</a>()</pre>
+<h4>getSubmittedTime</h4>
+<pre>public long <a href="../../../../src-html/org/apache/hadoop/hbase/ProcedureInfo.html#line.171">getSubmittedTime</a>()</pre>
</li>
</ul>
<a name="getLastUpdate--">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 c120ac5..1715dc4 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -166,9 +166,9 @@
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
<li type="circle">org.apache.hadoop.hbase.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/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/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/BackupRestoreConstants.BackupCommand.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupRestoreConstants.BackupCommand</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>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/class-use/ProcedureState.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/ProcedureState.html b/devapidocs/org/apache/hadoop/hbase/class-use/ProcedureState.html
index 800615d..6582b19 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/ProcedureState.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/ProcedureState.html
@@ -153,7 +153,7 @@ the order they are declared.</div>
<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a> nonceKey,
<a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> exception,
long lastUpdate,
- long startTime,
+ long submittedTime,
byte[] result)</code> </td>
</tr>
</tbody>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
index 52fe352..e686fbc 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
@@ -1141,7 +1141,7 @@ service.</div>
<a href="../../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a> nonceKey,
<a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> exception,
long lastUpdate,
- long startTime,
+ long submittedTime,
byte[] result)</code> </td>
</tr>
<tr class="rowColor">
@@ -5782,14 +5782,14 @@ service.</div>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">Procedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setStartTime-long-">setStartTime</a></span>(long startTime)</code>
-<div class="block">Called on store load to initialize the Procedure internals after
- the creation/deserialization.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">Procedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState-">setState</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState state)</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">Procedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setState-org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState-">setState</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState state)</code> </td>
+<td class="colLast"><span class="typeNameLabel">Procedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setSubmittedTime-long-">setSubmittedTime</a></span>(long submittedTime)</code>
+<div class="block">Called on store load to initialize the Procedure internals after
+ the creation/deserialization.</div>
+</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
index c5f8e06..54fa020 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
@@ -88,12 +88,12 @@
</ul>
<h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
<ul>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Evolving</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Stable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Stable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.Public</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.LimitedPrivate</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Stable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Stable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Unstable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Unstable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.Public</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.Private</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Evolving</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 e18ae0b..1fdf6c8 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -514,25 +514,25 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.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/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/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/HBaseAdmin.ReplicationState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">HBaseAdmin.ReplicationState</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/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/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/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/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/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/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</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/HBaseAdmin.ReplicationState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">HBaseAdmin.ReplicationState</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/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/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/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/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/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/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/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/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/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/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</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/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/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/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 4210a0e..916bced 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -175,14 +175,14 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.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/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/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/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/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/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/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/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/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/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/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/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/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 36af1f7..e2e166d 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -273,11 +273,11 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
+<li type="circle">org.apache.hadoop.hbase.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>
-<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/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/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/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/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/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 8ce0bfa..07cb975 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -326,9 +326,9 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.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/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/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/a949969b/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 b448513..8ebf004 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -281,10 +281,10 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.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/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/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TableSplit.Version</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html b/devapidocs/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html
index 59ec96a..1ce1c92 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html
@@ -163,16 +163,32 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://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/MetricsAssignmentManagerSource.html#RIT_COUNT_DESC">RIT_COUNT_DESC</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://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/MetricsAssignmentManagerSource.html#RIT_COUNT_NAME">RIT_COUNT_NAME</a></span></code> </td>
</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://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/MetricsAssignmentManagerSource.html#RIT_COUNT_OVER_THRESHOLD_DESC">RIT_COUNT_OVER_THRESHOLD_DESC</a></span></code> </td>
+</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://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/MetricsAssignmentManagerSource.html#RIT_COUNT_OVER_THRESHOLD_NAME">RIT_COUNT_OVER_THRESHOLD_NAME</a></span></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://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/MetricsAssignmentManagerSource.html#RIT_DURATION_DESC">RIT_DURATION_DESC</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://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/MetricsAssignmentManagerSource.html#RIT_DURATION_NAME">RIT_DURATION_NAME</a></span></code> </td>
</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://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/MetricsAssignmentManagerSource.html#RIT_OLDEST_AGE_DESC">RIT_OLDEST_AGE_DESC</a></span></code> </td>
+</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://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/MetricsAssignmentManagerSource.html#RIT_OLDEST_AGE_NAME">RIT_OLDEST_AGE_NAME</a></span></code> </td>
@@ -375,7 +391,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
<a name="BULK_ASSIGN_TIME_NAME">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>BULK_ASSIGN_TIME_NAME</h4>
<pre>static final <a href="http://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/MetricsAssignmentManagerSource.html#line.50">BULK_ASSIGN_TIME_NAME</a></pre>
@@ -385,6 +401,58 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
</dl>
</li>
</ul>
+<a name="RIT_COUNT_DESC">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RIT_COUNT_DESC</h4>
+<pre>static final <a href="http://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/MetricsAssignmentManagerSource.html#line.52">RIT_COUNT_DESC</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.RIT_COUNT_DESC">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="RIT_COUNT_OVER_THRESHOLD_DESC">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RIT_COUNT_OVER_THRESHOLD_DESC</h4>
+<pre>static final <a href="http://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/MetricsAssignmentManagerSource.html#line.53">RIT_COUNT_OVER_THRESHOLD_DESC</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.RIT_COUNT_OVER_THRESHOLD_DESC">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="RIT_OLDEST_AGE_DESC">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RIT_OLDEST_AGE_DESC</h4>
+<pre>static final <a href="http://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/MetricsAssignmentManagerSource.html#line.55">RIT_OLDEST_AGE_DESC</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.RIT_OLDEST_AGE_DESC">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="RIT_DURATION_DESC">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RIT_DURATION_DESC</h4>
+<pre>static final <a href="http://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/MetricsAssignmentManagerSource.html#line.56">RIT_DURATION_DESC</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.RIT_DURATION_DESC">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
@@ -399,7 +467,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
<ul class="blockList">
<li class="blockList">
<h4>updateAssignmentTime</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#line.52">updateAssignmentTime</a>(long time)</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#line.59">updateAssignmentTime</a>(long time)</pre>
</li>
</ul>
<a name="updateBulkAssignTime-long-">
@@ -408,7 +476,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
<ul class="blockList">
<li class="blockList">
<h4>updateBulkAssignTime</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#line.54">updateBulkAssignTime</a>(long time)</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#line.61">updateBulkAssignTime</a>(long time)</pre>
</li>
</ul>
<a name="setRIT-int-">
@@ -417,7 +485,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
<ul class="blockList">
<li class="blockList">
<h4>setRIT</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#line.61">setRIT</a>(int ritCount)</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#line.68">setRIT</a>(int ritCount)</pre>
<div class="block">Set the number of regions in transition.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -431,7 +499,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
<ul class="blockList">
<li class="blockList">
<h4>setRITCountOverThreshold</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#line.68">setRITCountOverThreshold</a>(int ritCountOverThreshold)</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#line.75">setRITCountOverThreshold</a>(int ritCountOverThreshold)</pre>
<div class="block">Set the count of the number of regions that have been in transition over the threshold time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -445,7 +513,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
<ul class="blockList">
<li class="blockList">
<h4>setRITOldestAge</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#line.75">setRITOldestAge</a>(long age)</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#line.82">setRITOldestAge</a>(long age)</pre>
<div class="block">Set the oldest region in transition.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
@@ -459,7 +527,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
<ul class="blockListLast">
<li class="blockList">
<h4>updateRitDuration</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#line.77">updateRitDuration</a>(long duration)</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.html#line.84">updateRitDuration</a>(long duration)</pre>
</li>
</ul>
</li>
[20/37] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/a949969b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html
index a1495ff..0c11099 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.InlineChore.html
@@ -839,1019 +839,1030 @@
<span class="sourceLineNo">831</span> private long pushProcedure(final Procedure proc) {<a name="line.831"></a>
<span class="sourceLineNo">832</span> final long currentProcId = proc.getProcId();<a name="line.832"></a>
<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span> // Create the rollback stack for the procedure<a name="line.834"></a>
-<span class="sourceLineNo">835</span> RootProcedureState stack = new RootProcedureState();<a name="line.835"></a>
-<span class="sourceLineNo">836</span> rollbackStack.put(currentProcId, stack);<a name="line.836"></a>
-<span class="sourceLineNo">837</span><a name="line.837"></a>
-<span class="sourceLineNo">838</span> // Submit the new subprocedures<a name="line.838"></a>
-<span class="sourceLineNo">839</span> assert !procedures.containsKey(currentProcId);<a name="line.839"></a>
-<span class="sourceLineNo">840</span> procedures.put(currentProcId, proc);<a name="line.840"></a>
-<span class="sourceLineNo">841</span> sendProcedureAddedNotification(currentProcId);<a name="line.841"></a>
-<span class="sourceLineNo">842</span> scheduler.addBack(proc);<a name="line.842"></a>
-<span class="sourceLineNo">843</span> return proc.getProcId();<a name="line.843"></a>
-<span class="sourceLineNo">844</span> }<a name="line.844"></a>
-<span class="sourceLineNo">845</span><a name="line.845"></a>
-<span class="sourceLineNo">846</span> /**<a name="line.846"></a>
-<span class="sourceLineNo">847</span> * Send an abort notification the specified procedure.<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.848"></a>
-<span class="sourceLineNo">849</span> * @param procId the procedure to abort<a name="line.849"></a>
-<span class="sourceLineNo">850</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.850"></a>
-<span class="sourceLineNo">851</span> */<a name="line.851"></a>
-<span class="sourceLineNo">852</span> public boolean abort(final long procId) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span> return abort(procId, true);<a name="line.853"></a>
-<span class="sourceLineNo">854</span> }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span> /**<a name="line.856"></a>
-<span class="sourceLineNo">857</span> * Send an abort notification the specified procedure.<a name="line.857"></a>
-<span class="sourceLineNo">858</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.858"></a>
-<span class="sourceLineNo">859</span> * @param procId the procedure to abort<a name="line.859"></a>
-<span class="sourceLineNo">860</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.860"></a>
-<span class="sourceLineNo">861</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.861"></a>
-<span class="sourceLineNo">862</span> */<a name="line.862"></a>
-<span class="sourceLineNo">863</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.863"></a>
-<span class="sourceLineNo">864</span> final Procedure proc = procedures.get(procId);<a name="line.864"></a>
-<span class="sourceLineNo">865</span> if (proc != null) {<a name="line.865"></a>
-<span class="sourceLineNo">866</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.866"></a>
-<span class="sourceLineNo">867</span> return false;<a name="line.867"></a>
-<span class="sourceLineNo">868</span> }<a name="line.868"></a>
-<span class="sourceLineNo">869</span> return proc.abort(getEnvironment());<a name="line.869"></a>
-<span class="sourceLineNo">870</span> }<a name="line.870"></a>
-<span class="sourceLineNo">871</span> return false;<a name="line.871"></a>
-<span class="sourceLineNo">872</span> }<a name="line.872"></a>
-<span class="sourceLineNo">873</span><a name="line.873"></a>
-<span class="sourceLineNo">874</span> // ==========================================================================<a name="line.874"></a>
-<span class="sourceLineNo">875</span> // Executor query helpers<a name="line.875"></a>
-<span class="sourceLineNo">876</span> // ==========================================================================<a name="line.876"></a>
-<span class="sourceLineNo">877</span> public Procedure getProcedure(final long procId) {<a name="line.877"></a>
-<span class="sourceLineNo">878</span> return procedures.get(procId);<a name="line.878"></a>
-<span class="sourceLineNo">879</span> }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span> final Procedure proc = getProcedure(procId);<a name="line.882"></a>
-<span class="sourceLineNo">883</span> if (clazz.isInstance(proc)) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span> return (T)proc;<a name="line.884"></a>
-<span class="sourceLineNo">885</span> }<a name="line.885"></a>
-<span class="sourceLineNo">886</span> return null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span> }<a name="line.887"></a>
-<span class="sourceLineNo">888</span><a name="line.888"></a>
-<span class="sourceLineNo">889</span> public ProcedureInfo getResult(final long procId) {<a name="line.889"></a>
-<span class="sourceLineNo">890</span> return completed.get(procId);<a name="line.890"></a>
-<span class="sourceLineNo">891</span> }<a name="line.891"></a>
-<span class="sourceLineNo">892</span><a name="line.892"></a>
-<span class="sourceLineNo">893</span> /**<a name="line.893"></a>
-<span class="sourceLineNo">894</span> * Return true if the procedure is finished.<a name="line.894"></a>
-<span class="sourceLineNo">895</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.895"></a>
-<span class="sourceLineNo">896</span> * Use getResult() to check the state or get the result data.<a name="line.896"></a>
-<span class="sourceLineNo">897</span> * @param procId the ID of the procedure to check<a name="line.897"></a>
-<span class="sourceLineNo">898</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.898"></a>
-<span class="sourceLineNo">899</span> */<a name="line.899"></a>
-<span class="sourceLineNo">900</span> public boolean isFinished(final long procId) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span> return !procedures.containsKey(procId);<a name="line.901"></a>
-<span class="sourceLineNo">902</span> }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span> /**<a name="line.904"></a>
-<span class="sourceLineNo">905</span> * Return true if the procedure is started.<a name="line.905"></a>
-<span class="sourceLineNo">906</span> * @param procId the ID of the procedure to check<a name="line.906"></a>
-<span class="sourceLineNo">907</span> * @return true if the procedure execution is started, otherwise false.<a name="line.907"></a>
-<span class="sourceLineNo">908</span> */<a name="line.908"></a>
-<span class="sourceLineNo">909</span> public boolean isStarted(final long procId) {<a name="line.909"></a>
-<span class="sourceLineNo">910</span> final Procedure proc = procedures.get(procId);<a name="line.910"></a>
-<span class="sourceLineNo">911</span> if (proc == null) {<a name="line.911"></a>
-<span class="sourceLineNo">912</span> return completed.get(procId) != null;<a name="line.912"></a>
-<span class="sourceLineNo">913</span> }<a name="line.913"></a>
-<span class="sourceLineNo">914</span> return proc.wasExecuted();<a name="line.914"></a>
-<span class="sourceLineNo">915</span> }<a name="line.915"></a>
-<span class="sourceLineNo">916</span><a name="line.916"></a>
-<span class="sourceLineNo">917</span> /**<a name="line.917"></a>
-<span class="sourceLineNo">918</span> * Mark the specified completed procedure, as ready to remove.<a name="line.918"></a>
-<span class="sourceLineNo">919</span> * @param procId the ID of the procedure to remove<a name="line.919"></a>
-<span class="sourceLineNo">920</span> */<a name="line.920"></a>
-<span class="sourceLineNo">921</span> public void removeResult(final long procId) {<a name="line.921"></a>
-<span class="sourceLineNo">922</span> final ProcedureInfo result = completed.get(procId);<a name="line.922"></a>
-<span class="sourceLineNo">923</span> if (result == null) {<a name="line.923"></a>
-<span class="sourceLineNo">924</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.924"></a>
-<span class="sourceLineNo">925</span> if (LOG.isDebugEnabled()) {<a name="line.925"></a>
-<span class="sourceLineNo">926</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.926"></a>
-<span class="sourceLineNo">927</span> }<a name="line.927"></a>
-<span class="sourceLineNo">928</span> return;<a name="line.928"></a>
-<span class="sourceLineNo">929</span> }<a name="line.929"></a>
-<span class="sourceLineNo">930</span><a name="line.930"></a>
-<span class="sourceLineNo">931</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.931"></a>
-<span class="sourceLineNo">932</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.932"></a>
-<span class="sourceLineNo">933</span> }<a name="line.933"></a>
-<span class="sourceLineNo">934</span><a name="line.934"></a>
-<span class="sourceLineNo">935</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.935"></a>
-<span class="sourceLineNo">936</span> ProcedureInfo result = completed.get(procId);<a name="line.936"></a>
-<span class="sourceLineNo">937</span> Procedure proc = null;<a name="line.937"></a>
-<span class="sourceLineNo">938</span> if (result == null) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span> proc = procedures.get(procId);<a name="line.939"></a>
-<span class="sourceLineNo">940</span> if (proc == null) {<a name="line.940"></a>
-<span class="sourceLineNo">941</span> result = completed.get(procId);<a name="line.941"></a>
-<span class="sourceLineNo">942</span> }<a name="line.942"></a>
-<span class="sourceLineNo">943</span> }<a name="line.943"></a>
-<span class="sourceLineNo">944</span> return new Pair(result, proc);<a name="line.944"></a>
-<span class="sourceLineNo">945</span> }<a name="line.945"></a>
-<span class="sourceLineNo">946</span><a name="line.946"></a>
-<span class="sourceLineNo">947</span> /**<a name="line.947"></a>
-<span class="sourceLineNo">948</span> * Check if the user is this procedure's owner<a name="line.948"></a>
-<span class="sourceLineNo">949</span> * @param procId the target procedure<a name="line.949"></a>
-<span class="sourceLineNo">950</span> * @param user the user<a name="line.950"></a>
-<span class="sourceLineNo">951</span> * @return true if the user is the owner of the procedure,<a name="line.951"></a>
-<span class="sourceLineNo">952</span> * false otherwise or the owner is unknown.<a name="line.952"></a>
-<span class="sourceLineNo">953</span> */<a name="line.953"></a>
-<span class="sourceLineNo">954</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> if (user == null) return false;<a name="line.955"></a>
-<span class="sourceLineNo">956</span><a name="line.956"></a>
-<span class="sourceLineNo">957</span> final Procedure proc = procedures.get(procId);<a name="line.957"></a>
-<span class="sourceLineNo">958</span> if (proc != null) {<a name="line.958"></a>
-<span class="sourceLineNo">959</span> return proc.getOwner().equals(user.getShortName());<a name="line.959"></a>
-<span class="sourceLineNo">960</span> }<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.962"></a>
-<span class="sourceLineNo">963</span> if (procInfo == null) {<a name="line.963"></a>
-<span class="sourceLineNo">964</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.964"></a>
-<span class="sourceLineNo">965</span> // At this time, we cannot check the owner of the procedure<a name="line.965"></a>
-<span class="sourceLineNo">966</span> return false;<a name="line.966"></a>
-<span class="sourceLineNo">967</span> }<a name="line.967"></a>
-<span class="sourceLineNo">968</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.968"></a>
-<span class="sourceLineNo">969</span> }<a name="line.969"></a>
-<span class="sourceLineNo">970</span><a name="line.970"></a>
-<span class="sourceLineNo">971</span> /**<a name="line.971"></a>
-<span class="sourceLineNo">972</span> * List procedures.<a name="line.972"></a>
-<span class="sourceLineNo">973</span> * @return the procedures in a list<a name="line.973"></a>
-<span class="sourceLineNo">974</span> */<a name="line.974"></a>
-<span class="sourceLineNo">975</span> public List<ProcedureInfo> listProcedures() {<a name="line.975"></a>
-<span class="sourceLineNo">976</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.976"></a>
-<span class="sourceLineNo">977</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.977"></a>
-<span class="sourceLineNo">978</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.978"></a>
-<span class="sourceLineNo">979</span> }<a name="line.979"></a>
-<span class="sourceLineNo">980</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.981"></a>
-<span class="sourceLineNo">982</span> // it could complete after we walk through procedures list and insert into<a name="line.982"></a>
-<span class="sourceLineNo">983</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.983"></a>
-<span class="sourceLineNo">984</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.984"></a>
-<span class="sourceLineNo">985</span> procedureLists.add(e.getValue());<a name="line.985"></a>
-<span class="sourceLineNo">986</span> }<a name="line.986"></a>
-<span class="sourceLineNo">987</span> return procedureLists;<a name="line.987"></a>
-<span class="sourceLineNo">988</span> }<a name="line.988"></a>
-<span class="sourceLineNo">989</span><a name="line.989"></a>
-<span class="sourceLineNo">990</span> // ==========================================================================<a name="line.990"></a>
-<span class="sourceLineNo">991</span> // Listeners helpers<a name="line.991"></a>
-<span class="sourceLineNo">992</span> // ==========================================================================<a name="line.992"></a>
-<span class="sourceLineNo">993</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.993"></a>
-<span class="sourceLineNo">994</span> this.listeners.add(listener);<a name="line.994"></a>
-<span class="sourceLineNo">995</span> }<a name="line.995"></a>
-<span class="sourceLineNo">996</span><a name="line.996"></a>
-<span class="sourceLineNo">997</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.997"></a>
-<span class="sourceLineNo">998</span> return this.listeners.remove(listener);<a name="line.998"></a>
-<span class="sourceLineNo">999</span> }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span><a name="line.1000"></a>
-<span class="sourceLineNo">1001</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> if (!this.listeners.isEmpty()) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> try {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> listener.procedureLoaded(procId);<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span> } catch (Throwable e) {<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> }<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> }<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span><a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span> if (!this.listeners.isEmpty()) {<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> try {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> listener.procedureAdded(procId);<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> } catch (Throwable e) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> }<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span> }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span><a name="line.1024"></a>
-<span class="sourceLineNo">1025</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span> if (!this.listeners.isEmpty()) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span> try {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span> listener.procedureFinished(procId);<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> } catch (Throwable e) {<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span> }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span> }<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span> }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span><a name="line.1036"></a>
-<span class="sourceLineNo">1037</span> // ==========================================================================<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span> // Procedure IDs helpers<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span> // ==========================================================================<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span> private long nextProcId() {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span> long procId = lastProcId.incrementAndGet();<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span> if (procId < 0) {<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span> procId = lastProcId.get();<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span> if (procId >= 0)<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span> break;<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span> }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span> while (procedures.containsKey(procId)) {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span> procId = lastProcId.incrementAndGet();<a name="line.1049"></a>
+<span class="sourceLineNo">834</span> // Update metrics on start of a procedure<a name="line.834"></a>
+<span class="sourceLineNo">835</span> proc.updateMetricsOnSubmit(getEnvironment());<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span> // Create the rollback stack for the procedure<a name="line.837"></a>
+<span class="sourceLineNo">838</span> RootProcedureState stack = new RootProcedureState();<a name="line.838"></a>
+<span class="sourceLineNo">839</span> rollbackStack.put(currentProcId, stack);<a name="line.839"></a>
+<span class="sourceLineNo">840</span><a name="line.840"></a>
+<span class="sourceLineNo">841</span> // Submit the new subprocedures<a name="line.841"></a>
+<span class="sourceLineNo">842</span> assert !procedures.containsKey(currentProcId);<a name="line.842"></a>
+<span class="sourceLineNo">843</span> procedures.put(currentProcId, proc);<a name="line.843"></a>
+<span class="sourceLineNo">844</span> sendProcedureAddedNotification(currentProcId);<a name="line.844"></a>
+<span class="sourceLineNo">845</span> scheduler.addBack(proc);<a name="line.845"></a>
+<span class="sourceLineNo">846</span> return proc.getProcId();<a name="line.846"></a>
+<span class="sourceLineNo">847</span> }<a name="line.847"></a>
+<span class="sourceLineNo">848</span><a name="line.848"></a>
+<span class="sourceLineNo">849</span> /**<a name="line.849"></a>
+<span class="sourceLineNo">850</span> * Send an abort notification the specified procedure.<a name="line.850"></a>
+<span class="sourceLineNo">851</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.851"></a>
+<span class="sourceLineNo">852</span> * @param procId the procedure to abort<a name="line.852"></a>
+<span class="sourceLineNo">853</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.853"></a>
+<span class="sourceLineNo">854</span> */<a name="line.854"></a>
+<span class="sourceLineNo">855</span> public boolean abort(final long procId) {<a name="line.855"></a>
+<span class="sourceLineNo">856</span> return abort(procId, true);<a name="line.856"></a>
+<span class="sourceLineNo">857</span> }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span> /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span> * Send an abort notification the specified procedure.<a name="line.860"></a>
+<span class="sourceLineNo">861</span> * Depending on the procedure implementation the abort can be considered or ignored.<a name="line.861"></a>
+<span class="sourceLineNo">862</span> * @param procId the procedure to abort<a name="line.862"></a>
+<span class="sourceLineNo">863</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.863"></a>
+<span class="sourceLineNo">864</span> * @return true if the procedure exist and has received the abort, otherwise false.<a name="line.864"></a>
+<span class="sourceLineNo">865</span> */<a name="line.865"></a>
+<span class="sourceLineNo">866</span> public boolean abort(final long procId, final boolean mayInterruptIfRunning) {<a name="line.866"></a>
+<span class="sourceLineNo">867</span> final Procedure proc = procedures.get(procId);<a name="line.867"></a>
+<span class="sourceLineNo">868</span> if (proc != null) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span> if (!mayInterruptIfRunning && proc.wasExecuted()) {<a name="line.869"></a>
+<span class="sourceLineNo">870</span> return false;<a name="line.870"></a>
+<span class="sourceLineNo">871</span> }<a name="line.871"></a>
+<span class="sourceLineNo">872</span> return proc.abort(getEnvironment());<a name="line.872"></a>
+<span class="sourceLineNo">873</span> }<a name="line.873"></a>
+<span class="sourceLineNo">874</span> return false;<a name="line.874"></a>
+<span class="sourceLineNo">875</span> }<a name="line.875"></a>
+<span class="sourceLineNo">876</span><a name="line.876"></a>
+<span class="sourceLineNo">877</span> // ==========================================================================<a name="line.877"></a>
+<span class="sourceLineNo">878</span> // Executor query helpers<a name="line.878"></a>
+<span class="sourceLineNo">879</span> // ==========================================================================<a name="line.879"></a>
+<span class="sourceLineNo">880</span> public Procedure getProcedure(final long procId) {<a name="line.880"></a>
+<span class="sourceLineNo">881</span> return procedures.get(procId);<a name="line.881"></a>
+<span class="sourceLineNo">882</span> }<a name="line.882"></a>
+<span class="sourceLineNo">883</span><a name="line.883"></a>
+<span class="sourceLineNo">884</span> public <T extends Procedure> T getProcedure(final Class<T> clazz, final long procId) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span> final Procedure proc = getProcedure(procId);<a name="line.885"></a>
+<span class="sourceLineNo">886</span> if (clazz.isInstance(proc)) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span> return (T)proc;<a name="line.887"></a>
+<span class="sourceLineNo">888</span> }<a name="line.888"></a>
+<span class="sourceLineNo">889</span> return null;<a name="line.889"></a>
+<span class="sourceLineNo">890</span> }<a name="line.890"></a>
+<span class="sourceLineNo">891</span><a name="line.891"></a>
+<span class="sourceLineNo">892</span> public ProcedureInfo getResult(final long procId) {<a name="line.892"></a>
+<span class="sourceLineNo">893</span> return completed.get(procId);<a name="line.893"></a>
+<span class="sourceLineNo">894</span> }<a name="line.894"></a>
+<span class="sourceLineNo">895</span><a name="line.895"></a>
+<span class="sourceLineNo">896</span> /**<a name="line.896"></a>
+<span class="sourceLineNo">897</span> * Return true if the procedure is finished.<a name="line.897"></a>
+<span class="sourceLineNo">898</span> * The state may be "completed successfully" or "failed and rolledback".<a name="line.898"></a>
+<span class="sourceLineNo">899</span> * Use getResult() to check the state or get the result data.<a name="line.899"></a>
+<span class="sourceLineNo">900</span> * @param procId the ID of the procedure to check<a name="line.900"></a>
+<span class="sourceLineNo">901</span> * @return true if the procedure execution is finished, otherwise false.<a name="line.901"></a>
+<span class="sourceLineNo">902</span> */<a name="line.902"></a>
+<span class="sourceLineNo">903</span> public boolean isFinished(final long procId) {<a name="line.903"></a>
+<span class="sourceLineNo">904</span> return !procedures.containsKey(procId);<a name="line.904"></a>
+<span class="sourceLineNo">905</span> }<a name="line.905"></a>
+<span class="sourceLineNo">906</span><a name="line.906"></a>
+<span class="sourceLineNo">907</span> /**<a name="line.907"></a>
+<span class="sourceLineNo">908</span> * Return true if the procedure is started.<a name="line.908"></a>
+<span class="sourceLineNo">909</span> * @param procId the ID of the procedure to check<a name="line.909"></a>
+<span class="sourceLineNo">910</span> * @return true if the procedure execution is started, otherwise false.<a name="line.910"></a>
+<span class="sourceLineNo">911</span> */<a name="line.911"></a>
+<span class="sourceLineNo">912</span> public boolean isStarted(final long procId) {<a name="line.912"></a>
+<span class="sourceLineNo">913</span> final Procedure proc = procedures.get(procId);<a name="line.913"></a>
+<span class="sourceLineNo">914</span> if (proc == null) {<a name="line.914"></a>
+<span class="sourceLineNo">915</span> return completed.get(procId) != null;<a name="line.915"></a>
+<span class="sourceLineNo">916</span> }<a name="line.916"></a>
+<span class="sourceLineNo">917</span> return proc.wasExecuted();<a name="line.917"></a>
+<span class="sourceLineNo">918</span> }<a name="line.918"></a>
+<span class="sourceLineNo">919</span><a name="line.919"></a>
+<span class="sourceLineNo">920</span> /**<a name="line.920"></a>
+<span class="sourceLineNo">921</span> * Mark the specified completed procedure, as ready to remove.<a name="line.921"></a>
+<span class="sourceLineNo">922</span> * @param procId the ID of the procedure to remove<a name="line.922"></a>
+<span class="sourceLineNo">923</span> */<a name="line.923"></a>
+<span class="sourceLineNo">924</span> public void removeResult(final long procId) {<a name="line.924"></a>
+<span class="sourceLineNo">925</span> final ProcedureInfo result = completed.get(procId);<a name="line.925"></a>
+<span class="sourceLineNo">926</span> if (result == null) {<a name="line.926"></a>
+<span class="sourceLineNo">927</span> assert !procedures.containsKey(procId) : "procId=" + procId + " is still running";<a name="line.927"></a>
+<span class="sourceLineNo">928</span> if (LOG.isDebugEnabled()) {<a name="line.928"></a>
+<span class="sourceLineNo">929</span> LOG.debug("procId=" + procId + " already removed by the cleaner.");<a name="line.929"></a>
+<span class="sourceLineNo">930</span> }<a name="line.930"></a>
+<span class="sourceLineNo">931</span> return;<a name="line.931"></a>
+<span class="sourceLineNo">932</span> }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span> // The CompletedProcedureCleaner will take care of deletion, once the TTL is expired.<a name="line.934"></a>
+<span class="sourceLineNo">935</span> result.setClientAckTime(EnvironmentEdgeManager.currentTime());<a name="line.935"></a>
+<span class="sourceLineNo">936</span> }<a name="line.936"></a>
+<span class="sourceLineNo">937</span><a name="line.937"></a>
+<span class="sourceLineNo">938</span> public Pair<ProcedureInfo, Procedure> getResultOrProcedure(final long procId) {<a name="line.938"></a>
+<span class="sourceLineNo">939</span> ProcedureInfo result = completed.get(procId);<a name="line.939"></a>
+<span class="sourceLineNo">940</span> Procedure proc = null;<a name="line.940"></a>
+<span class="sourceLineNo">941</span> if (result == null) {<a name="line.941"></a>
+<span class="sourceLineNo">942</span> proc = procedures.get(procId);<a name="line.942"></a>
+<span class="sourceLineNo">943</span> if (proc == null) {<a name="line.943"></a>
+<span class="sourceLineNo">944</span> result = completed.get(procId);<a name="line.944"></a>
+<span class="sourceLineNo">945</span> }<a name="line.945"></a>
+<span class="sourceLineNo">946</span> }<a name="line.946"></a>
+<span class="sourceLineNo">947</span> return new Pair(result, proc);<a name="line.947"></a>
+<span class="sourceLineNo">948</span> }<a name="line.948"></a>
+<span class="sourceLineNo">949</span><a name="line.949"></a>
+<span class="sourceLineNo">950</span> /**<a name="line.950"></a>
+<span class="sourceLineNo">951</span> * Check if the user is this procedure's owner<a name="line.951"></a>
+<span class="sourceLineNo">952</span> * @param procId the target procedure<a name="line.952"></a>
+<span class="sourceLineNo">953</span> * @param user the user<a name="line.953"></a>
+<span class="sourceLineNo">954</span> * @return true if the user is the owner of the procedure,<a name="line.954"></a>
+<span class="sourceLineNo">955</span> * false otherwise or the owner is unknown.<a name="line.955"></a>
+<span class="sourceLineNo">956</span> */<a name="line.956"></a>
+<span class="sourceLineNo">957</span> public boolean isProcedureOwner(final long procId, final User user) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span> if (user == null) return false;<a name="line.958"></a>
+<span class="sourceLineNo">959</span><a name="line.959"></a>
+<span class="sourceLineNo">960</span> final Procedure proc = procedures.get(procId);<a name="line.960"></a>
+<span class="sourceLineNo">961</span> if (proc != null) {<a name="line.961"></a>
+<span class="sourceLineNo">962</span> return proc.getOwner().equals(user.getShortName());<a name="line.962"></a>
+<span class="sourceLineNo">963</span> }<a name="line.963"></a>
+<span class="sourceLineNo">964</span><a name="line.964"></a>
+<span class="sourceLineNo">965</span> final ProcedureInfo procInfo = completed.get(procId);<a name="line.965"></a>
+<span class="sourceLineNo">966</span> if (procInfo == null) {<a name="line.966"></a>
+<span class="sourceLineNo">967</span> // Procedure either does not exist or has already completed and got cleaned up.<a name="line.967"></a>
+<span class="sourceLineNo">968</span> // At this time, we cannot check the owner of the procedure<a name="line.968"></a>
+<span class="sourceLineNo">969</span> return false;<a name="line.969"></a>
+<span class="sourceLineNo">970</span> }<a name="line.970"></a>
+<span class="sourceLineNo">971</span> return ProcedureInfo.isProcedureOwner(procInfo, user);<a name="line.971"></a>
+<span class="sourceLineNo">972</span> }<a name="line.972"></a>
+<span class="sourceLineNo">973</span><a name="line.973"></a>
+<span class="sourceLineNo">974</span> /**<a name="line.974"></a>
+<span class="sourceLineNo">975</span> * List procedures.<a name="line.975"></a>
+<span class="sourceLineNo">976</span> * @return the procedures in a list<a name="line.976"></a>
+<span class="sourceLineNo">977</span> */<a name="line.977"></a>
+<span class="sourceLineNo">978</span> public List<ProcedureInfo> listProcedures() {<a name="line.978"></a>
+<span class="sourceLineNo">979</span> final List<ProcedureInfo> procedureLists = new ArrayList<>(procedures.size() + completed.size());<a name="line.979"></a>
+<span class="sourceLineNo">980</span> for (Map.Entry<Long, Procedure> p: procedures.entrySet()) {<a name="line.980"></a>
+<span class="sourceLineNo">981</span> procedureLists.add(ProcedureUtil.convertToProcedureInfo(p.getValue()));<a name="line.981"></a>
+<span class="sourceLineNo">982</span> }<a name="line.982"></a>
+<span class="sourceLineNo">983</span> for (Map.Entry<Long, ProcedureInfo> e: completed.entrySet()) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span> // Note: The procedure could show up twice in the list with different state, as<a name="line.984"></a>
+<span class="sourceLineNo">985</span> // it could complete after we walk through procedures list and insert into<a name="line.985"></a>
+<span class="sourceLineNo">986</span> // procedureList - it is ok, as we will use the information in the ProcedureInfo<a name="line.986"></a>
+<span class="sourceLineNo">987</span> // to figure it out; to prevent this would increase the complexity of the logic.<a name="line.987"></a>
+<span class="sourceLineNo">988</span> procedureLists.add(e.getValue());<a name="line.988"></a>
+<span class="sourceLineNo">989</span> }<a name="line.989"></a>
+<span class="sourceLineNo">990</span> return procedureLists;<a name="line.990"></a>
+<span class="sourceLineNo">991</span> }<a name="line.991"></a>
+<span class="sourceLineNo">992</span><a name="line.992"></a>
+<span class="sourceLineNo">993</span> // ==========================================================================<a name="line.993"></a>
+<span class="sourceLineNo">994</span> // Listeners helpers<a name="line.994"></a>
+<span class="sourceLineNo">995</span> // ==========================================================================<a name="line.995"></a>
+<span class="sourceLineNo">996</span> public void registerListener(ProcedureExecutorListener listener) {<a name="line.996"></a>
+<span class="sourceLineNo">997</span> this.listeners.add(listener);<a name="line.997"></a>
+<span class="sourceLineNo">998</span> }<a name="line.998"></a>
+<span class="sourceLineNo">999</span><a name="line.999"></a>
+<span class="sourceLineNo">1000</span> public boolean unregisterListener(ProcedureExecutorListener listener) {<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span> return this.listeners.remove(listener);<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span> }<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span><a name="line.1003"></a>
+<span class="sourceLineNo">1004</span> private void sendProcedureLoadedNotification(final long procId) {<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span> if (!this.listeners.isEmpty()) {<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span> try {<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span> listener.procedureLoaded(procId);<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span> } catch (Throwable e) {<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span> }<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span> }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span> }<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span> }<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span><a name="line.1015"></a>
+<span class="sourceLineNo">1016</span> private void sendProcedureAddedNotification(final long procId) {<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span> if (!this.listeners.isEmpty()) {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span> try {<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span> listener.procedureAdded(procId);<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span> } catch (Throwable e) {<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span> }<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span> }<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> }<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span> }<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span><a name="line.1027"></a>
+<span class="sourceLineNo">1028</span> private void sendProcedureFinishedNotification(final long procId) {<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span> if (!this.listeners.isEmpty()) {<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span> for (ProcedureExecutorListener listener: this.listeners) {<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span> try {<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span> listener.procedureFinished(procId);<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span> } catch (Throwable e) {<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span> LOG.error("Listener " + listener + " had an error: " + e.getMessage(), e);<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span> }<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span> }<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span> }<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span> }<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span><a name="line.1039"></a>
+<span class="sourceLineNo">1040</span> // ==========================================================================<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span> // Procedure IDs helpers<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span> // ==========================================================================<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span> private long nextProcId() {<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span> long procId = lastProcId.incrementAndGet();<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span> if (procId < 0) {<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span> while (!lastProcId.compareAndSet(procId, 0)) {<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span> procId = lastProcId.get();<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span> if (procId >= 0)<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span> break;<a name="line.1049"></a>
<span class="sourceLineNo">1050</span> }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span> }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span> return procId;<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span><a name="line.1055"></a>
-<span class="sourceLineNo">1056</span> @VisibleForTesting<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span> protected long getLastProcId() {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span> return lastProcId.get();<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span> }<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span><a name="line.1060"></a>
-<span class="sourceLineNo">1061</span> @VisibleForTesting<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span> public Set<Long> getActiveProcIds() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span> return procedures.keySet();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span> }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span><a name="line.1065"></a>
-<span class="sourceLineNo">1066</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span> }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span><a name="line.1069"></a>
-<span class="sourceLineNo">1070</span> // ==========================================================================<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span> // Executions<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span> // ==========================================================================<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span> private void executeProcedure(final Procedure proc) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span> if (rootProcId == null) {<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span> executeRollback(proc);<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span> return;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span> }<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span><a name="line.1080"></a>
-<span class="sourceLineNo">1081</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span> if (procStack == null) return;<a name="line.1082"></a>
+<span class="sourceLineNo">1051</span> while (procedures.containsKey(procId)) {<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span> procId = lastProcId.incrementAndGet();<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span> }<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span> }<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span> assert procId >= 0 : "Invalid procId " + procId;<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span> return procId;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span> }<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span><a name="line.1058"></a>
+<span class="sourceLineNo">1059</span> @VisibleForTesting<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span> protected long getLastProcId() {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span> return lastProcId.get();<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span> }<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span><a name="line.1063"></a>
+<span class="sourceLineNo">1064</span> @VisibleForTesting<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span> public Set<Long> getActiveProcIds() {<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span> return procedures.keySet();<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span> }<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span><a name="line.1068"></a>
+<span class="sourceLineNo">1069</span> private Long getRootProcedureId(Procedure proc) {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span> return Procedure.getRootProcedureId(procedures, proc);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span> }<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span><a name="line.1072"></a>
+<span class="sourceLineNo">1073</span> // ==========================================================================<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span> // Executions<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span> // ==========================================================================<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span> private void executeProcedure(final Procedure proc) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span> final Long rootProcId = getRootProcedureId(proc);<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span> if (rootProcId == null) {<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span> // The 'proc' was ready to run but the root procedure was rolledback<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span> executeRollback(proc);<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span> return;<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span> }<a name="line.1082"></a>
<span class="sourceLineNo">1083</span><a name="line.1083"></a>
-<span class="sourceLineNo">1084</span> do {<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span> // Try to acquire the execution<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span> if (!procStack.acquire(proc)) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span> if (procStack.setRollback()) {<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span> case LOCK_ACQUIRED:<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span> break;<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span> case LOCK_YIELD_WAIT:<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span> procStack.unsetRollback();<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span> scheduler.yield(proc);<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span> break;<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span> case LOCK_EVENT_WAIT:<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span> procStack.unsetRollback();<a name="line.1097"></a>
+<span class="sourceLineNo">1084</span> final RootProcedureState procStack = rollbackStack.get(rootProcId);<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span> if (procStack == null) return;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span><a name="line.1086"></a>
+<span class="sourceLineNo">1087</span> do {<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span> // Try to acquire the execution<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span> if (!procStack.acquire(proc)) {<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span> if (procStack.setRollback()) {<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span> // we have the 'rollback-lock' we can start rollingback<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span> switch (executeRollback(rootProcId, procStack)) {<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span> case LOCK_ACQUIRED:<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span> break;<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span> case LOCK_YIELD_WAIT:<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span> procStack.unsetRollback();<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span> scheduler.yield(proc);<a name="line.1097"></a>
<span class="sourceLineNo">1098</span> break;<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span> default:<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span> throw new UnsupportedOperationException();<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span> }<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span> } else {<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span> // if we can't rollback means that some child is still running.<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span> // the rollback will be executed after all the children are done.<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span> if (!proc.wasExecuted()) {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span> switch (executeRollback(proc)) {<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span> case LOCK_ACQUIRED:<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span> break;<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span> case LOCK_YIELD_WAIT:<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span> scheduler.yield(proc);<a name="line.1111"></a>
+<span class="sourceLineNo">1099</span> case LOCK_EVENT_WAIT:<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span> procStack.unsetRollback();<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span> break;<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span> default:<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span> throw new UnsupportedOperationException();<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span> }<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span> } else {<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span> // if we can't rollback means that some child is still running.<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span> // the rollback will be executed after all the children are done.<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span> // If the procedure was never executed, remove and mark it as rolledback.<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span> if (!proc.wasExecuted()) {<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span> switch (executeRollback(proc)) {<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span> case LOCK_ACQUIRED:<a name="line.1111"></a>
<span class="sourceLineNo">1112</span> break;<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span> case LOCK_EVENT_WAIT:<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span> break;<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span> default:<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span> throw new UnsupportedOperationException();<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span> }<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span> }<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span> }<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span> break;<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span><a name="line.1122"></a>
-<span class="sourceLineNo">1123</span> // Execute the procedure<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span> switch (acquireLock(proc)) {<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span> case LOCK_ACQUIRED:<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span> execProcedure(procStack, proc);<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span> releaseLock(proc, false);<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span> break;<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span> case LOCK_YIELD_WAIT:<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span> scheduler.yield(proc);<a name="line.1131"></a>
+<span class="sourceLineNo">1113</span> case LOCK_YIELD_WAIT:<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span> scheduler.yield(proc);<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span> break;<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span> case LOCK_EVENT_WAIT:<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span> break;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span> default:<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span> throw new UnsupportedOperationException();<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span> }<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span> }<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span> }<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span> break;<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span> }<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span> // Execute the procedure<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span> assert proc.getState() == ProcedureState.RUNNABLE : proc;<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span> switch (acquireLock(proc)) {<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span> case LOCK_ACQUIRED:<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span> execProcedure(procStack, proc);<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span> releaseLock(proc, false);<a name="line.1131"></a>
<span class="sourceLineNo">1132</span> break;<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span> case LOCK_EVENT_WAIT:<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span> // someone will wake us up when the lock is available<a name="line.1134"></a>
+<span class="sourceLineNo">1133</span> case LOCK_YIELD_WAIT:<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span> scheduler.yield(proc);<a name="line.1134"></a>
<span class="sourceLineNo">1135</span> break;<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span> default:<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span> throw new UnsupportedOperationException();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span> }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span> procStack.release(proc);<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span> // allows to kill the executor before something is stored to the wal.<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span> // useful to test the procedure recovery.<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span> if (testing != null && !isRunning()) {<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span> break;<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span> }<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span> if (proc.isSuccess()) {<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span> if (LOG.isDebugEnabled()) {<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span> }<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span> // Finalize the procedure state<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span> if (proc.getProcId() == rootProcId) {<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span> procedureFinished(proc);<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span> } else {<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span> execCompletionCleanup(proc);<a name="line.1155"></a>
+<span class="sourceLineNo">1136</span> case LOCK_EVENT_WAIT:<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span> // someone will wake us up when the lock is available<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span> break;<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span> default:<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span> throw new UnsupportedOperationException();<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span> }<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span> procStack.release(proc);<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span><a name="line.1143"></a>
+<span class="sourceLineNo">1144</span> // allows to kill the executor before something is stored to the wal.<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span> // useful to test the procedure recovery.<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span> if (testing != null && !isRunning()) {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span> break;<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span> }<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span> if (proc.isSuccess()) {<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span> // update metrics on finishing the procedure<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span> proc.updateMetricsOnFinish(getEnvironment(), proc.elapsedTime(), true);<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span><a name="line.1153"></a>
+<span class="sourceLineNo">1154</span> if (LOG.isDebugEnabled()) {<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span> LOG.debug("Finished " + proc + " in " + StringUtils.humanTimeDiff(proc.elapsedTime()));<a name="line.1155"></a>
<span class="sourceLineNo">1156</span> }<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span> break;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span> }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span> } while (procStack.isFailed());<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span> }<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span><a name="line.1161"></a>
-<span class="sourceLineNo">1162</span> private LockState acquireLock(final Procedure proc) {<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span> final TEnvironment env = getEnvironment();<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span> // hasLock() is used in conjunction with holdLock().<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span> return LockState.LOCK_ACQUIRED;<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span> }<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span> return proc.doAcquireLock(env);<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span> }<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span> final TEnvironment env = getEnvironment();<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span> // for how the framework works, we know that we will always have the lock<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span> if (force || !proc.holdLock(env)) {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span> proc.doReleaseLock(env);<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span> }<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span> }<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span><a name="line.1181"></a>
-<span class="sourceLineNo">1182</span> /**<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span> * Execute the rollback of the full procedure stack.<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span> * finished to user, and the result will be the fatal exception.<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span> */<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span> if (exception == null) {<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span> exception = procStack.getException();<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span> rootProc.setFailure(exception);<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span> store.update(rootProc);<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span> }<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span><a name="line.1195"></a>
-<span class="sourceLineNo">1196</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span><a name="line.1198"></a>
-<span class="sourceLineNo">1199</span> int stackTail = subprocStack.size();<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span> boolean reuseLock = false;<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span> while (stackTail --> 0) {<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span><a name="line.1203"></a>
-<span class="sourceLineNo">1204</span> LockState lockState;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span> // queue waiting for the lock availability<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span> return lockState;<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span> }<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span><a name="line.1210"></a>
-<span class="sourceLineNo">1211</span> lockState = executeRollback(proc);<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> // If the next procedure is the same to this one<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span> // we can avoid to lock/unlock each step<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span> if (!reuseLock) {<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span> releaseLock(proc, false);<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span> }<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span><a name="line.1222"></a>
-<span class="sourceLineNo">1223</span> // allows to kill the executor before something is stored to the wal.<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span> // useful to test the procedure recovery.<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span> if (abortRollback) {<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span> return lockState;<a name="line.1226"></a>
+<span class="sourceLineNo">1157</span> // Finalize the procedure state<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span> if (proc.getProcId() == rootProcId) {<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span> procedureFinished(proc);<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span> } else {<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span> execCompletionCleanup(proc);<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span> }<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span> break;<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span> }<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span> } while (procStack.isFailed());<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span> }<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span><a name="line.1167"></a>
+<span class="sourceLineNo">1168</span> private LockState acquireLock(final Procedure proc) {<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span> final TEnvironment env = getEnvironment();<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span> // hasLock() is used in conjunction with holdLock().<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span> // This allows us to not rewrite or carry around the hasLock() flag<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span> // for every procedure. the hasLock() have meaning only if holdLock() is true.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span> if (proc.holdLock(env) && proc.hasLock(env)) {<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span> return LockState.LOCK_ACQUIRED;<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span> }<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span> return proc.doAcquireLock(env);<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span> }<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span><a name="line.1178"></a>
+<span class="sourceLineNo">1179</span> private void releaseLock(final Procedure proc, final boolean force) {<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span> final TEnvironment env = getEnvironment();<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span> // for how the framework works, we know that we will always have the lock<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span> // when we call releaseLock(), so we can avoid calling proc.hasLock()<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span> if (force || !proc.holdLock(env)) {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span> proc.doReleaseLock(env);<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span> }<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span> }<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span><a name="line.1187"></a>
+<span class="sourceLineNo">1188</span> /**<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span> * Execute the rollback of the full procedure stack.<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span> * Once the procedure is rolledback, the root-procedure will be visible as<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span> * finished to user, and the result will be the fatal exception.<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span> */<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span> private LockState executeRollback(final long rootProcId, final RootProcedureState procStack) {<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span> final Procedure rootProc = procedures.get(rootProcId);<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span> RemoteProcedureException exception = rootProc.getException();<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span> if (exception == null) {<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span> exception = procStack.getException();<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span> rootProc.setFailure(exception);<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span> store.update(rootProc);<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span> }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span> final List<Procedure> subprocStack = procStack.getSubproceduresStack();<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span> assert subprocStack != null : "Called rollback with no steps executed rootProc=" + rootProc;<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span><a name="line.1204"></a>
+<span class="sourceLineNo">1205</span> int stackTail = subprocStack.size();<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span> boolean reuseLock = false;<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span> while (stackTail --> 0) {<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span> final Procedure proc = subprocStack.get(stackTail);<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span><a name="line.1209"></a>
+<span class="sourceLineNo">1210</span> LockState lockState;<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span> if (!reuseLock && (lockState = acquireLock(proc)) != LockState.LOCK_ACQUIRED) {<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span> // can't take a lock on the procedure, add the root-proc back on the<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span> // queue waiting for the lock availability<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span> return lockState;<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span> }<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span><a name="line.1216"></a>
+<span class="sourceLineNo">1217</span> lockState = executeRollback(proc);<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span> boolean abortRollback = lockState != LockState.LOCK_ACQUIRED;<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span> abortRollback |= !isRunning() || !store.isRunning();<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span><a name="line.1220"></a>
+<span class="sourceLineNo">1221</span> // If the next procedure is the same to this one<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span> // (e.g. StateMachineProcedure reuse the same instance)<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span> // we can avoid to lock/unlock each step<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span> reuseLock = stackTail > 0 && (subprocStack.get(stackTail - 1) == proc) && !abortRollback;<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span> if (!reuseLock) {<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span> releaseLock(proc, false);<a name="line.1226"></a>
<span class="sourceLineNo">1227</span> }<a name="line.1227"></a>
<span class="sourceLineNo">1228</span><a name="line.1228"></a>
-<span class="sourceLineNo">1229</span> subprocStack.remove(stackTail);<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span><a name="line.1230"></a>
-<span class="sourceLineNo">1231</span> // if the procedure is kind enough to pass the slot to someone else, yield<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span> if (proc.isYieldAfterExecutionStep(getEnvironment())) {<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span> }<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span><a name="line.1235"></a>
-<span class="sourceLineNo">1236</span> if (proc != rootProc) {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span> execCompletionCleanup(proc);<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span> }<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span> }<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span><a name="line.1240"></a>
-<span class="sourceLineNo">1241</span> // Finalize the procedure state<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span> LOG.info("Rolled back " + rootProc +<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span> " exec-time=" + StringUtils.humanTimeDiff(rootProc.elapsedTime()));<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span> procedureFinished(rootProc);<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span> return LockState.LOCK_ACQUIRED;<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span> }<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span> /**<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span> * Execute the rollback of the procedure step.<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span> * It updates the store with the new state (stack index)<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span> * or will remove completly the procedure in case it is a child.<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span> */<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span> private LockState executeRollback(final Procedure proc) {<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span> try {<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span> proc.doRollback(getEnvironment());<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span> } catch (IOException e) {<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span> if (LOG.isDebugEnabled()) {<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span> LOG.debug("Roll back attempt failed for " + proc, e);<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span> }<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span> } catch (InterruptedException e) {<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span> handleInterruptedException(proc, e);<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span> } catch (Throwable e) {<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span> // Catch NullPointerExceptions or similar errors...<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span> LOG.fatal("CODE-BUG: Uncatched runtime exception for procedure: " + proc, e);<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span> }<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span><a name="line.1268"></a>
-<span class="sourceLineNo">1269</span> // allows to kill the executor before something is stored to the wal.<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span> // useful to test the procedure recovery.<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span> if (testing != null && testing.shouldKillBeforeStoreUpdate()) {<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span> LOG.debug("TESTING: Kill before store update");<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span> stop();<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span> return LockState.LOCK_YIELD_WAIT;<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span> }<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span> if (proc.removeStackIndex()) {<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span> proc.setState(ProcedureState.ROLLEDBACK);<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span> if (proc.hasParent()) {<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span> store.delete(proc.getProcId());<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span> procedures.remove(proc.getProcId());<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span> } else {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span> final long[] childProcIds = rollbackStack.get(proc.getProcId()).getSubprocedureIds();<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span> if (childProcIds != null) {<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span> store.delete(proc, childProcIds);<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span> } else {<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span> store.update(proc);<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span> }<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span> }<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span> } else {<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span> store.update(proc);<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span> }<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span><a name="line.1293"></a>
-<span class="sourceLineNo">1294</span> return LockState.LOCK_ACQUIRED;<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span> }<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span><a name="line.1296"></a>
-<span class="sourceLineNo">1297</span> /**<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span> * Executes the specified procedure<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span> * - calls the doExecute() of the procedure<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span> * - if the procedure execution didn't fail (e.g. invalid user input)<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span> * - ...and returned subprocedures<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span> * - the subprocedures are initialized.<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span> * - the subprocedures are added to the store<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span> * - the subprocedures are added to the runnable queue<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span> * - the procedure is now in a WAITING state, waiting for the subprocedures to complete<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span> * - ...if there are no subprocedure<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span> * - the procedure completed successfully<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span> * - if there is a parent (WAITING)<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span> * - the parent state will be set to RUNNABLE<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span> * - in case of failure<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span> * - the store is updated with the new state<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span> * - the executor (caller of this method) will start the rollback of the procedure<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span> */<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span> private void execProcedure(final RootProcedureState procStack, final Procedure procedure) {<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span> Preconditions.checkArgument(procedure.getState() == ProcedureState.RUNNABLE);<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span><a name="line.1316"></a>
-<span class="sourceLineNo">1317</span> // Execute the procedure<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span> boolean suspended = false;<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span> boolean reExecute = false;<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span> Procedure[] subprocs = null;<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span> do {<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span> reExecute = false;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span> try {<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span> subprocs = procedure.doExecute(getEnvironment());<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span> if (subprocs != null && subprocs.length == 0) {<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span> subprocs = null;<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span> }<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span> } catch (ProcedureSuspendedException e) {<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span> suspended = true;<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span> } catch (ProcedureYieldException e) {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span> if (LOG.isTraceEnabled()) {<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span> LOG.trace("Yield " + procedure + ": " + e.getMessage());<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span> }<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span> scheduler.yield(procedure);<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span> return;<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span> } catch (InterruptedException e) {<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span> handleInterruptedException(procedure, e);<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span> scheduler.yield(procedure);<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span> return;<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span> } catch (Throwable e) {<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span> // Catch NullPointerExceptions or similar errors...<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span> String msg = "CODE-BUG: Uncaught runtime exception: " + procedure;<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span> LOG.error(msg, e);<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span> procedure.setFailure(new RemoteProcedureException(msg, e));<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span> }<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span><a name="line.1346"></a>
-<span class="sourceLineNo">1347</span> if (!procedure.isFailed()) {<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span> if (subprocs != null) {<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span> if (subprocs.length == 1 && subprocs[0] == procedure) {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span> // quick-shortcut for a state machine like procedure<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span> subprocs = null;<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span> reExecute = true;<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span> } else {<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>
<TRUNCATED>