Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 3740ebb78 -> 71bb873ab


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/aba0b536/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 f25e978..8e8478c 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html
@@ -110,7 +110,7 @@
 <br>
 <pre><a 
href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html"
 title="annotation in 
org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
 <a 
href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html"
 title="annotation in 
org.apache.hadoop.hbase.classification">@InterfaceStability.Evolving</a>
-public abstract class <a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.44">StateMachineProcedure</a>&lt;TEnvironment,TState&gt;
+public abstract class <a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.47">StateMachineProcedure</a>&lt;TEnvironment,TState&gt;
 extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" 
title="class in 
org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;TEnvironment&gt;</pre>
 <div class="block">Procedure described by a series of steps.
 
@@ -159,6 +159,14 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private <a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true";
 title="class or interface in 
java.util.concurrent.atomic">AtomicBoolean</a></code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#aborted">aborted</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static 
org.apache.commons.logging.Log</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#LOG">LOG</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#stateCount">stateCount</a></strong></code>&nbsp;</td>
 </tr>
@@ -207,57 +215,71 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#abort(TEnvironment)">abort</a></strong>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in 
StateMachineProcedure">TEnvironment</a>&nbsp;env)</code>
+<div class="block">The abort() call is asynchronous and each procedure must 
decide how to deal
+ with that, if they want to be abortable.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#addChildProcedure(org.apache.hadoop.hbase.procedure2.Procedure...)">addChildProcedure</a></strong>(<a
 href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" 
title="class in 
org.apache.hadoop.hbase.procedure2">Procedure</a>...&nbsp;subProcedure)</code>
 <div class="block">Add a child procedure to execute</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#deserializeStateData(java.io.InputStream)">deserializeStateData</a></strong>(<a
 
href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true";
 title="class or interface in java.io">InputStream</a>&nbsp;stream)</code>
 <div class="block">Called on store load to allow the user to decode the 
previously serialized
  state.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" 
title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>[]</code></td>
 <td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#execute(TEnvironment)">execute</a></strong>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in 
StateMachineProcedure">TEnvironment</a>&nbsp;env)</code>
 <div class="block">The main code of the procedure.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected abstract <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html"
 title="enum in 
org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a></code></td>
 <td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#executeFromState(TEnvironment,%20TState)">executeFromState</a></strong>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TEnvironment</a>&nbsp;env,
                                 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;state)</code>
 <div class="block">called to perform a single step of the specified 'state' of 
the procedure</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a></code></td>
 <td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getCurrentState()">getCurrentState</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected abstract <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a></code></td>
 <td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getInitialState()">getInitialState</a></strong>()</code>
 <div class="block">Return the initial state object that will be used for the 
first call to executeFromState().</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected abstract <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a></code></td>
 <td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getState(int)">getState</a></strong>(int&nbsp;stateId)</code>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more 
descriptive) state object.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected abstract int</code></td>
 <td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getStateId(TState)">getStateId</a></strong>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;state)</code>
 <div class="block">Convert the Enum (or more descriptive) state object to an 
ordinal (or state id).</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#hasMoreState()">hasMoreState</a></strong>()</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isRollbackSupported(TState)">isRollbackSupported</a></strong>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;state)</code>
+<div class="block">Used by the default implementation of abort() to know if 
the current state can be aborted
+ and rollback can be triggered.</div>
+</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><strong><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isYieldAfterExecutionStep(TEnvironment)">isYieldAfterExecutionStep</a></strong>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in 
StateMachineProcedure">TEnvironment</a>&nbsp;env)</code>
@@ -315,7 +337,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;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#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#convert(org.apache.hadoop.hbase.procedure2.Procedure)">convert</a>
 , <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#convert(org.apache.hadoop.hbase.protobuf.generated.ProcedureProtos.Procedure)">convert</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#createProcedureInfo(org.apache.hadoop.hbase.procedure2.Procedure,%20org.apache.hadoop.hbase.util.NonceKey)">createProcedureInfo</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute(TEnvironment)">doExecute</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doRollback(TEnvironment)">doRollback</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime()">elapsedTime</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#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,%20org.apache.hadoop.hbase.procedure2.Procedure)">getRootProcedureId</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#getTimeRemaining()">getTimeRemaining</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#incChildrenLatch()">incChildrenLatch</a>,
 <a href="../../../../../org/apache/hadoop/hbase/procedure
 2/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#isSuccess()">isSuccess</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isSuspended()">isSuspended</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isWaiting()">isWaiting</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#newInstance(java.lang.String)">newInstance</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#resume()">resume</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setAbortFailur
 e(java.lang.String,%20java.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,%20java.lang.Throwable)">setFailure</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#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[])">setResult</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.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()">setTimeoutFailure</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck(TEnvironment)">shouldWaitClientAck</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#suspend()">suspend</a>,
 <a href="../../../../../org/apache/hadoop/hbas
 e/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#validateClass(org.apache.hadoop.hbase.procedure2.Procedure)">validateClass</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#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#convert(org.apache.hadoop.hbase.procedure2.Procedure)">convert</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#convert(org.apache.hadoop.hbas
 e.protobuf.generated.ProcedureProtos.Procedure)">convert</a>, <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#createProcedureInfo(org.apache.hadoop.hbase.procedure2.Procedure,%20org.apache.hadoop.hbase.util.NonceKey)">createProcedureInfo</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doExecute(TEnvironment)">doExecute</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#doRollback(TEnvironment)">doRollback</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#elapsedTime()">elapsedTime</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#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,%20org.apache.hadoop.hbase.procedure2.Procedure)">getRootProcedureId</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#getTimeRemaining()">getTimeRemaining</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#incChildrenLatch()">incChildrenLatch</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isFailed()">isFailed</a>,
 <a href="../../../../../org/apache/hadoop/hbase/procedure2/Proc
 edure.html#isFinished()">isFinished</a>, <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isSuccess()">isSuccess</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isSuspended()">isSuspended</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isWaiting()">isWaiting</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#newInstance(java.lang.String)">newInstance</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#resume()">resume</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#setAbortFailure(java.lang.String,%20java.lang.String)">setAbortFailure</a>,
 <a href="../../../../../org/apache/hadoop/hb
 ase/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,%20java.lang.Throwable)">setFailure</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#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[])">setResult</a>,
 <a href="../../../../../o
 
rg/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.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()">setTimeoutFailure</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck(TEnvironment)">shouldWaitClientAck</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#suspend()">suspend</a>,
 <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toString()">toString</a>,
 <a href="../../../../../org/apache/hadoop/hbase/proc
 edure2/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#validateClass(org.apache.hadoop.hbase.procedure2.Procedure)">validateClass</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">
@@ -338,13 +360,31 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <!--   -->
 </a>
 <h3>Field Detail</h3>
+<a name="LOG">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LOG</h4>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.49">LOG</a></pre>
+</li>
+</ul>
+<a name="aborted">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aborted</h4>
+<pre>private final&nbsp;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true";
 title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.51">aborted</a></pre>
+</li>
+</ul>
 <a name="stateFlow">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>stateFlow</h4>
-<pre>private&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html"
 title="enum in 
org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a> <a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.46">stateFlow</a></pre>
+<pre>private&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html"
 title="enum in 
org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a> <a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.53">stateFlow</a></pre>
 </li>
 </ul>
 <a name="stateCount">
@@ -353,7 +393,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>stateCount</h4>
-<pre>private&nbsp;int <a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.47">stateCount</a></pre>
+<pre>private&nbsp;int <a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.54">stateCount</a></pre>
 </li>
 </ul>
 <a name="states">
@@ -362,7 +402,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>states</h4>
-<pre>private&nbsp;int[] <a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.48">states</a></pre>
+<pre>private&nbsp;int[] <a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.55">states</a></pre>
 </li>
 </ul>
 <a name="subProcList">
@@ -371,7 +411,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>subProcList</h4>
-<pre>private&nbsp;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html?is-external=true";
 title="class or interface in java.util">ArrayList</a>&lt;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" 
title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&gt; <a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.50">subProcList</a></pre>
+<pre>private&nbsp;<a 
href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html?is-external=true";
 title="class or interface in java.util">ArrayList</a>&lt;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" 
title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&gt; <a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.57">subProcList</a></pre>
 </li>
 </ul>
 </li>
@@ -388,7 +428,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>StateMachineProcedure</h4>
-<pre>public&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.44">StateMachineProcedure</a>()</pre>
+<pre>public&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.47">StateMachineProcedure</a>()</pre>
 </li>
 </ul>
 </li>
@@ -407,7 +447,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>executeFromState</h4>
-<pre>protected abstract&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html"
 title="enum in 
org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.63">executeFromState</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TEnvironment</a>&nbsp;env,
+<pre>protected abstract&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html"
 title="enum in 
org.apache.hadoop.hbase.procedure2">StateMachineProcedure.Flow</a>&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.70">executeFromState</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TEnvironment</a>&nbsp;env,
                                           <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;state)
                                                         throws <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html"
 title="class in 
org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a>,
                                                                <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureYieldException.html"
 title="class in 
org.apache.hadoop.hbase.procedure2">ProcedureYieldException</a>,
@@ -430,7 +470,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackState</h4>
-<pre>protected abstract&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.71">rollbackState</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TEnvironment</a>&nbsp;env,
+<pre>protected abstract&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.78">rollbackState</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TEnvironment</a>&nbsp;env,
                  <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;state)
                                throws <a 
href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/InterruptedException.html?is-external=true";
 title="class or interface in java.lang">InterruptedException</a></pre>
@@ -447,7 +487,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getState</h4>
-<pre>protected abstract&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.79">getState</a>(int&nbsp;stateId)</pre>
+<pre>protected abstract&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.86">getState</a>(int&nbsp;stateId)</pre>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more 
descriptive) state object.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>stateId</code> - 
the ordinal() of the state enum (or state id)</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the state enum 
object</dd></dl>
@@ -461,7 +501,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateId</h4>
-<pre>protected abstract&nbsp;int&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.86">getStateId</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;state)</pre>
+<pre>protected abstract&nbsp;int&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.93">getStateId</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;state)</pre>
 <div class="block">Convert the Enum (or more descriptive) state object to an 
ordinal (or state id).</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>state</code> - 
the state enum object</dd>
 <dt><span class="strong">Returns:</span></dt><dd>stateId the ordinal() of the 
state enum (or state id)</dd></dl>
@@ -473,7 +513,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitialState</h4>
-<pre>protected abstract&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.92">getInitialState</a>()</pre>
+<pre>protected abstract&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.99">getInitialState</a>()</pre>
 <div class="block">Return the initial state object that will be used for the 
first call to executeFromState().</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the initial state enum 
object</dd></dl>
 </li>
@@ -486,7 +526,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>setNextState</h4>
-<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.98">setNextState</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;state)</pre>
+<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.105">setNextState</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;state)</pre>
 <div class="block">Set the next state for the procedure.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>state</code> - 
the state enum object</dd></dl>
 </li>
@@ -499,7 +539,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>isYieldBeforeExecuteFromState</h4>
-<pre>protected&nbsp;boolean&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.110">isYieldBeforeExecuteFromState</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TEnvironment</a>&nbsp;env,
+<pre>protected&nbsp;boolean&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.120">isYieldBeforeExecuteFromState</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TEnvironment</a>&nbsp;env,
                                     <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;state)</pre>
 <div class="block">By default, the executor will try ro run all the steps of 
the procedure start to finish.
  Return true to make the executor yield between execution steps to
@@ -515,7 +555,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>addChildProcedure</h4>
-<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.118">addChildProcedure</a>(<a
 href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" 
title="class in 
org.apache.hadoop.hbase.procedure2">Procedure</a>...&nbsp;subProcedure)</pre>
+<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.128">addChildProcedure</a>(<a
 href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" 
title="class in 
org.apache.hadoop.hbase.procedure2">Procedure</a>...&nbsp;subProcedure)</pre>
 <div class="block">Add a child procedure to execute</div>
 <dl><dt><span 
class="strong">Parameters:</span></dt><dd><code>subProcedure</code> - the child 
procedure</dd></dl>
 </li>
@@ -528,7 +568,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>execute</h4>
-<pre>protected&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" 
title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>[]&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.128">execute</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TEnvironment</a>&nbsp;env)
+<pre>protected&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" 
title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>[]&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.138">execute</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TEnvironment</a>&nbsp;env)
                        throws <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureSuspendedException.html"
 title="class in 
org.apache.hadoop.hbase.procedure2">ProcedureSuspendedException</a>,
                               <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureYieldException.html"
 title="class in 
org.apache.hadoop.hbase.procedure2">ProcedureYieldException</a>,
                               <a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true";
 title="class or interface in java.lang">InterruptedException</a></pre>
@@ -555,7 +595,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>rollback</h4>
-<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.154">rollback</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TEnvironment</a>&nbsp;env)
+<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.164">rollback</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TEnvironment</a>&nbsp;env)
                  throws <a 
href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/InterruptedException.html?is-external=true";
 title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#rollback(TEnvironment)">Procedure</a></code></strong></div>
@@ -574,6 +614,45 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <dd><code><a 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true";
 title="class or interface in java.lang">InterruptedException</a></code> - the 
procedure will be added back to the queue and retried later</dd></dl>
 </li>
 </ul>
+<a name="abort(java.lang.Object)">
+<!--   -->
+</a><a name="abort(TEnvironment)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>abort</h4>
+<pre>protected&nbsp;boolean&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.176">abort</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in 
StateMachineProcedure">TEnvironment</a>&nbsp;env)</pre>
+<div class="block"><strong>Description copied from class:&nbsp;<code><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#abort(TEnvironment)">Procedure</a></code></strong></div>
+<div class="block">The abort() call is asynchronous and each procedure must 
decide how to deal
+ with that, if they want to be abortable. The simplest implementation
+ is to have an AtomicBoolean set in the abort() method and then the execute()
+ will check if the abort flag is set or not.
+ abort() may be called multiple times from the client, so the implementation
+ must be idempotent.
+
+ NOTE: abort() is not like Thread.interrupt() it is just a notification
+ that allows the procedure implementor where to abort to avoid leak and
+ have a better control on what was executed and what not.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#abort(TEnvironment)">abort</a></code>&nbsp;in
 class&nbsp;<code><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" 
title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in 
StateMachineProcedure">TEnvironment</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="isRollbackSupported(java.lang.Object)">
+<!--   -->
+</a><a name="isRollbackSupported(TState)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isRollbackSupported</h4>
+<pre>protected&nbsp;boolean&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.190">isRollbackSupported</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;state)</pre>
+<div class="block">Used by the default implementation of abort() to know if 
the current state can be aborted
+ and rollback can be triggered.</div>
+</li>
+</ul>
 <a name="isYieldAfterExecutionStep(java.lang.Object)">
 <!--   -->
 </a><a name="isYieldAfterExecutionStep(TEnvironment)">
@@ -582,7 +661,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>isYieldAfterExecutionStep</h4>
-<pre>protected&nbsp;boolean&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.166">isYieldAfterExecutionStep</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in 
StateMachineProcedure">TEnvironment</a>&nbsp;env)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.195">isYieldAfterExecutionStep</a>(<a
 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in 
StateMachineProcedure">TEnvironment</a>&nbsp;env)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#isYieldAfterExecutionStep(TEnvironment)">Procedure</a></code></strong></div>
 <div class="block">By default, the executor will try ro run procedures start 
to finish.
  Return true to make the executor yield between each execution step to
@@ -601,7 +680,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>hasMoreState</h4>
-<pre>private&nbsp;boolean&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.170">hasMoreState</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.199">hasMoreState</a>()</pre>
 </li>
 </ul>
 <a name="getCurrentState()">
@@ -610,7 +689,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentState</h4>
-<pre>private&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.174">getCurrentState</a>()</pre>
+<pre>private&nbsp;<a 
href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html"
 title="type parameter in StateMachineProcedure">TState</a>&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.203">getCurrentState</a>()</pre>
 </li>
 </ul>
 <a name="setNextState(int)">
@@ -619,7 +698,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>setNextState</h4>
-<pre>private&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.182">setNextState</a>(int&nbsp;stateId)</pre>
+<pre>private&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.211">setNextState</a>(int&nbsp;stateId)</pre>
 <div class="block">Set the next state for the procedure.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>stateId</code> - 
the ordinal() of the state enum (or state id)</dd></dl>
 </li>
@@ -630,7 +709,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringState</h4>
-<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.195">toStringState</a>(<a
 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true";
 title="class or interface in java.lang">StringBuilder</a>&nbsp;builder)</pre>
+<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.224">toStringState</a>(<a
 
href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true";
 title="class or interface in java.lang">StringBuilder</a>&nbsp;builder)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringState(java.lang.StringBuilder)">Procedure</a></code></strong></div>
 <div class="block">Called from <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toString()"><code>Procedure.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>
@@ -645,7 +724,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.203">serializeStateData</a>(<a
 
href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true";
 title="class or interface in java.io">OutputStream</a>&nbsp;stream)
+<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.232">serializeStateData</a>(<a
 
href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true";
 title="class or interface in java.io">OutputStream</a>&nbsp;stream)
                            throws <a 
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true";
 title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData(java.io.OutputStream)">Procedure</a></code></strong></div>
 <div class="block">The user-level code of the procedure may have some state to
@@ -664,7 +743,7 @@ extends <a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>deserializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.212">deserializeStateData</a>(<a
 
href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true";
 title="class or interface in java.io">InputStream</a>&nbsp;stream)
+<pre>protected&nbsp;void&nbsp;<a 
href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#line.241">deserializeStateData</a>(<a
 
href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true";
 title="class or interface in java.io">InputStream</a>&nbsp;stream)
                              throws <a 
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true";
 title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a 
href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData(java.io.InputStream)">Procedure</a></code></strong></div>
 <div class="block">Called on store load to allow the user to decode the 
previously serialized

Reply via email to