hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From git-site-r...@apache.org
Subject [45/51] [partial] hbase-site git commit: Published site at d5e4faacc354c1bc4d93efa71ca97ee3a056123e.
Date Mon, 29 Oct 2018 14:55:27 GMT
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/b5e107c3/devapidocs/org/apache/hadoop/hbase/procedure2/LockAndQueue.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/LockAndQueue.html b/devapidocs/org/apache/hadoop/hbase/procedure2/LockAndQueue.html
index 480180e..ba08421 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/LockAndQueue.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/LockAndQueue.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -114,30 +114,26 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.50">LockAndQueue</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.47">LockAndQueue</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html" title="interface in org.apache.hadoop.hbase.procedure2">LockStatus</a></pre>
 <div class="block">Locking for mutual exclusion between procedures. Used only by procedure framework internally.
  <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html" title="class in org.apache.hadoop.hbase.procedure2"><code>LockAndQueue</code></a> has two purposes:
  <ol>
-   <li>Acquire/release exclusive/shared locks.</li>
-   <li>Maintains a list of procedures waiting on this lock.
-      <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html" title="class in org.apache.hadoop.hbase.procedure2"><code>LockAndQueue</code></a> extends <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureDeque.html" title="class in org.apache.hadoop.hbase.procedure2"><code>ProcedureDeque</code></a> class. Blocked Procedures are added
-      to our super Deque. Using inheritance over composition to keep the Deque of waiting
-      Procedures is unusual, but we do it this way because in certain cases, there will be
-      millions of regions. This layout uses less memory.
+ <li>Acquire/release exclusive/shared locks.</li>
+ <li>Maintains a list of procedures waiting on this lock. <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html" title="class in org.apache.hadoop.hbase.procedure2"><code>LockAndQueue</code></a> extends
+ <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureDeque.html" title="class in org.apache.hadoop.hbase.procedure2"><code>ProcedureDeque</code></a> class. Blocked Procedures are added to our super Deque. Using inheritance
+ over composition to keep the Deque of waiting Procedures is unusual, but we do it this way
+ because in certain cases, there will be millions of regions. This layout uses less memory.
  </ol>
-
- <p>NOT thread-safe. Needs external concurrency control: e.g. uses in MasterProcedureScheduler are
- guarded by schedLock().
- <br>
+ <p/>
+ NOT thread-safe. Needs external concurrency control: e.g. uses in MasterProcedureScheduler are
+ guarded by schedLock(). <br/>
  There is no need of 'volatile' keyword for member variables because of memory synchronization
  guarantees of locks (see 'Memory Synchronization',
- http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html)
- <br>
- We do not implement Lock interface because we need exclusive and shared locking, and also
- because try-lock functions require procedure id.
- <br>
+ http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html) <br/>
+ We do not implement Lock interface because we need exclusive and shared locking, and also because
+ try-lock functions require procedure id. <br/>
  We do not use ReentrantReadWriteLock directly because of its high memory overhead.</div>
 </li>
 </ul>
@@ -162,10 +158,14 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#exclusiveLockOwnerProcedure">exclusiveLockOwnerProcedure</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#procedureRetriever">procedureRetriever</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureDeque.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureDeque</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#queue">queue</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<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/LockAndQueue.html#sharedLock">sharedLock</a></span></code>&nbsp;</td>
 </tr>
@@ -184,7 +184,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus
 <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/LockAndQueue.html#LockAndQueue--">LockAndQueue</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#LockAndQueue-java.util.function.Function-">LockAndQueue</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt;&nbsp;procedureRetriever)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -211,65 +211,58 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#getExclusiveLockOwnerProcedure--">getExclusiveLockOwnerProcedure</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#getExclusiveLockOwnerProcedure--">getExclusiveLockOwnerProcedure</a></span>()</code>
+<div class="block">Get the procedure which holds the exclusive lock.</div>
+</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#getExclusiveLockProcIdOwner--">getExclusiveLockProcIdOwner</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#getSharedLockCount--">getSharedLockCount</a></span>()</code>
+<div class="block">Get the number of procedures which hold the shared lock.</div>
+</td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#getSharedLockCount--">getSharedLockCount</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#hasExclusiveLock--">hasExclusiveLock</a></span>()</code>
+<div class="block">Whether the exclusive lock has been held.</div>
+</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#hasExclusiveLock--">hasExclusiveLock</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#hasLockAccess-org.apache.hadoop.hbase.procedure2.Procedure-">hasLockAccess</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>
+<div class="block">Return true if the procedure itself holds the exclusive lock, or any ancestors of the give
+ procedure hold the exclusive lock.</div>
+</td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#hasLockAccess-org.apache.hadoop.hbase.procedure2.Procedure-">hasLockAccess</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>&nbsp;</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#hasParentLock-org.apache.hadoop.hbase.procedure2.Procedure-">hasParentLock</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>&nbsp;</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#isLocked--">isLocked</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#isLockOwner-long-">isLockOwner</a></span>(long&nbsp;procId)</code>&nbsp;</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#isWaitingQueueEmpty--">isWaitingQueueEmpty</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#releaseExclusiveLock-org.apache.hadoop.hbase.procedure2.Procedure-">releaseExclusiveLock</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#releaseSharedLock--">releaseSharedLock</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#removeFirst--">removeFirst</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#tryExclusiveLock-org.apache.hadoop.hbase.procedure2.Procedure-">tryExclusiveLock</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#trySharedLock-org.apache.hadoop.hbase.procedure2.Procedure-">trySharedLock</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#wakeWaitingProcedures-org.apache.hadoop.hbase.procedure2.ProcedureScheduler-">wakeWaitingProcedures</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureScheduler.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureScheduler</a>&nbsp;scheduler)</code>&nbsp;</td>
 </tr>
@@ -281,6 +274,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
 va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.LockStatus">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html" title="interface in org.apache.hadoop.hbase.procedure2">LockStatus</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#getExclusiveLockProcIdOwner--">getExclusiveLockProcIdOwner</a>, <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#isLocked--">isLocked</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -295,13 +295,22 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus
 <!--   -->
 </a>
 <h3>Field Detail</h3>
+<a name="procedureRetriever">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>procedureRetriever</h4>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.49">procedureRetriever</a></pre>
+</li>
+</ul>
 <a name="queue">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>queue</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureDeque.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureDeque</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.51">queue</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureDeque.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureDeque</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.50">queue</a></pre>
 </li>
 </ul>
 <a name="exclusiveLockOwnerProcedure">
@@ -310,7 +319,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus
 <ul class="blockList">
 <li class="blockList">
 <h4>exclusiveLockOwnerProcedure</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.52">exclusiveLockOwnerProcedure</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.51">exclusiveLockOwnerProcedure</a></pre>
 </li>
 </ul>
 <a name="sharedLock">
@@ -319,7 +328,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus
 <ul class="blockListLast">
 <li class="blockList">
 <h4>sharedLock</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.53">sharedLock</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.52">sharedLock</a></pre>
 </li>
 </ul>
 </li>
@@ -330,13 +339,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="LockAndQueue--">
+<a name="LockAndQueue-java.util.function.Function-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>LockAndQueue</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.50">LockAndQueue</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.58">LockAndQueue</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt;&nbsp;procedureRetriever)</pre>
 </li>
 </ul>
 </li>
@@ -347,65 +356,31 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="isLocked--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isLocked</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.60">isLocked</a>()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#isLocked--">isLocked</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html" title="interface in org.apache.hadoop.hbase.procedure2">LockStatus</a></code></dd>
-</dl>
-</li>
-</ul>
 <a name="hasExclusiveLock--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>hasExclusiveLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.65">hasExclusiveLock</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.63">hasExclusiveLock</a>()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#hasExclusiveLock--">LockStatus</a></code></span></div>
+<div class="block">Whether the exclusive lock has been held.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#hasExclusiveLock--">hasExclusiveLock</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html" title="interface in org.apache.hadoop.hbase.procedure2">LockStatus</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="isLockOwner-long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isLockOwner</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.70">isLockOwner</a>(long&nbsp;procId)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#isLockOwner-long-">isLockOwner</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html" title="interface in org.apache.hadoop.hbase.procedure2">LockStatus</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="hasParentLock-org.apache.hadoop.hbase.procedure2.Procedure-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>hasParentLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.75">hasParentLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#hasParentLock-org.apache.hadoop.hbase.procedure2.Procedure-">hasParentLock</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html" title="interface in org.apache.hadoop.hbase.procedure2">LockStatus</a></code></dd>
-</dl>
-</li>
-</ul>
 <a name="hasLockAccess-org.apache.hadoop.hbase.procedure2.Procedure-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>hasLockAccess</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.83">hasLockAccess</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.68">hasLockAccess</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#hasLockAccess-org.apache.hadoop.hbase.procedure2.Procedure-">LockStatus</a></code></span></div>
+<div class="block">Return true if the procedure itself holds the exclusive lock, or any ancestors of the give
+ procedure hold the exclusive lock.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#hasLockAccess-org.apache.hadoop.hbase.procedure2.Procedure-">hasLockAccess</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html" title="interface in org.apache.hadoop.hbase.procedure2">LockStatus</a></code></dd>
@@ -418,33 +393,24 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus
 <ul class="blockList">
 <li class="blockList">
 <h4>getExclusiveLockOwnerProcedure</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.88">getExclusiveLockOwnerProcedure</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.96">getExclusiveLockOwnerProcedure</a>()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#getExclusiveLockOwnerProcedure--">LockStatus</a></code></span></div>
+<div class="block">Get the procedure which holds the exclusive lock.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#getExclusiveLockOwnerProcedure--">getExclusiveLockOwnerProcedure</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html" title="interface in org.apache.hadoop.hbase.procedure2">LockStatus</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="getExclusiveLockProcIdOwner--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getExclusiveLockProcIdOwner</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.93">getExclusiveLockProcIdOwner</a>()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#getExclusiveLockProcIdOwner--">getExclusiveLockProcIdOwner</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html" title="interface in org.apache.hadoop.hbase.procedure2">LockStatus</a></code></dd>
-</dl>
-</li>
-</ul>
 <a name="getSharedLockCount--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getSharedLockCount</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.102">getSharedLockCount</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.101">getSharedLockCount</a>()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#getSharedLockCount--">LockStatus</a></code></span></div>
+<div class="block">Get the number of procedures which hold the shared lock.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#getSharedLockCount--">getSharedLockCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html" title="interface in org.apache.hadoop.hbase.procedure2">LockStatus</a></code></dd>
@@ -457,7 +423,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus
 <ul class="blockList">
 <li class="blockList">
 <h4>trySharedLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.113">trySharedLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.112">trySharedLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>whether we have succesfully acquired the shared lock.</dd>
@@ -470,7 +436,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseSharedLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.127">releaseSharedLock</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.126">releaseSharedLock</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>whether we should wake the procedures waiting on the lock here.</dd>
@@ -483,7 +449,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus
 <ul class="blockList">
 <li class="blockList">
 <h4>tryExclusiveLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.134">tryExclusiveLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.133">tryExclusiveLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</pre>
 </li>
 </ul>
 <a name="releaseExclusiveLock-org.apache.hadoop.hbase.procedure2.Procedure-">
@@ -492,7 +458,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseExclusiveLock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.145">releaseExclusiveLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.144">releaseExclusiveLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>whether we should wake the procedures waiting on the lock here.</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/b5e107c3/devapidocs/org/apache/hadoop/hbase/procedure2/LockStatus.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/LockStatus.html b/devapidocs/org/apache/hadoop/hbase/procedure2/LockStatus.html
index df4a7e1..bcbe65a 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/LockStatus.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/LockStatus.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var methods = {"i0":6,"i1":18,"i2":6,"i3":6,"i4":6,"i5":18};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -107,9 +107,9 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Private
 public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.29">LockStatus</a></pre>
-<div class="block">Interface to get status of a Lock without getting access to acquire/release lock.
- Currently used in MasterProcedureScheduler where we want to give Queues access to lock's
- status for scheduling purposes, but not the ability to acquire/release it.</div>
+<div class="block">Interface to get status of a Lock without getting access to acquire/release lock. Currently used
+ in MasterProcedureScheduler where we want to give Queues access to lock's status for scheduling
+ purposes, but not the ability to acquire/release it.</div>
 </li>
 </ul>
 </div>
@@ -123,42 +123,50 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/proced
 </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">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</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><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#getExclusiveLockOwnerProcedure--">getExclusiveLockOwnerProcedure</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#getExclusiveLockOwnerProcedure--">getExclusiveLockOwnerProcedure</a></span>()</code>
+<div class="block">Get the procedure which holds the exclusive lock.</div>
+</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#getExclusiveLockProcIdOwner--">getExclusiveLockProcIdOwner</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>default long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#getExclusiveLockProcIdOwner--">getExclusiveLockProcIdOwner</a></span>()</code>
+<div class="block">Return the id of the procedure which holds the exclusive lock, if exists.</div>
+</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#getSharedLockCount--">getSharedLockCount</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#getSharedLockCount--">getSharedLockCount</a></span>()</code>
+<div class="block">Get the number of procedures which hold the shared lock.</div>
+</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#hasExclusiveLock--">hasExclusiveLock</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#hasExclusiveLock--">hasExclusiveLock</a></span>()</code>
+<div class="block">Whether the exclusive lock has been held.</div>
+</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#hasLockAccess-org.apache.hadoop.hbase.procedure2.Procedure-">hasLockAccess</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#hasLockAccess-org.apache.hadoop.hbase.procedure2.Procedure-">hasLockAccess</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>
+<div class="block">Return true if the procedure itself holds the exclusive lock, or any ancestors of the give
+ procedure hold the exclusive lock.</div>
+</td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#hasParentLock-org.apache.hadoop.hbase.procedure2.Procedure-">hasParentLock</a></span>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#isLocked--">isLocked</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#isLockOwner-long-">isLockOwner</a></span>(long&nbsp;procId)</code>&nbsp;</td>
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#isLocked--">isLocked</a></span>()</code>
+<div class="block">Return whether this lock has already been held,
+ <p/>
+ Notice that, holding the exclusive lock or shared lock are both considered as locked, i.e, this
+ method usually equals to <code>hasExclusiveLock() || getSharedLockCount() &gt; 0</code>.</div>
+</td>
 </tr>
 </table>
 </li>
@@ -181,7 +189,11 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/proced
 <ul class="blockList">
 <li class="blockList">
 <h4>isLocked</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.30">isLocked</a>()</pre>
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.37">isLocked</a>()</pre>
+<div class="block">Return whether this lock has already been held,
+ <p/>
+ Notice that, holding the exclusive lock or shared lock are both considered as locked, i.e, this
+ method usually equals to <code>hasExclusiveLock() || getSharedLockCount() &gt; 0</code>.</div>
 </li>
 </ul>
 <a name="hasExclusiveLock--">
@@ -190,25 +202,8 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/proced
 <ul class="blockList">
 <li class="blockList">
 <h4>hasExclusiveLock</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.32">hasExclusiveLock</a>()</pre>
-</li>
-</ul>
-<a name="isLockOwner-long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isLockOwner</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.34">isLockOwner</a>(long&nbsp;procId)</pre>
-</li>
-</ul>
-<a name="hasParentLock-org.apache.hadoop.hbase.procedure2.Procedure-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>hasParentLock</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.36">hasParentLock</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.44">hasExclusiveLock</a>()</pre>
+<div class="block">Whether the exclusive lock has been held.</div>
 </li>
 </ul>
 <a name="hasLockAccess-org.apache.hadoop.hbase.procedure2.Procedure-">
@@ -217,7 +212,9 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/proced
 <ul class="blockList">
 <li class="blockList">
 <h4>hasLockAccess</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.38">hasLockAccess</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.50">hasLockAccess</a>(<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</pre>
+<div class="block">Return true if the procedure itself holds the exclusive lock, or any ancestors of the give
+ procedure hold the exclusive lock.</div>
 </li>
 </ul>
 <a name="getExclusiveLockOwnerProcedure--">
@@ -226,7 +223,8 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/proced
 <ul class="blockList">
 <li class="blockList">
 <h4>getExclusiveLockOwnerProcedure</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.40">getExclusiveLockOwnerProcedure</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.55">getExclusiveLockOwnerProcedure</a>()</pre>
+<div class="block">Get the procedure which holds the exclusive lock.</div>
 </li>
 </ul>
 <a name="getExclusiveLockProcIdOwner--">
@@ -235,7 +233,11 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/proced
 <ul class="blockList">
 <li class="blockList">
 <h4>getExclusiveLockProcIdOwner</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.42">getExclusiveLockProcIdOwner</a>()</pre>
+<pre>default&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.63">getExclusiveLockProcIdOwner</a>()</pre>
+<div class="block">Return the id of the procedure which holds the exclusive lock, if exists. Or a negative value
+ which means no one holds the exclusive lock.
+ <p/>
+ Notice that, in HBase, we assume that the procedure id is positive, or at least non-negative.</div>
 </li>
 </ul>
 <a name="getSharedLockCount--">
@@ -244,7 +246,8 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/proced
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getSharedLockCount</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.44">getSharedLockCount</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.71">getSharedLockCount</a>()</pre>
+<div class="block">Get the number of procedures which hold the shared lock.</div>
 </li>
 </ul>
 </li>


Mime
View raw message