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> </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><<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><?>></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#procedureRetriever">procedureRetriever</a></span></code> </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> </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> </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> </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><<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><?>> procedureRetriever)</code> </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><?></code></td> -<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#getExclusiveLockOwnerProcedure--">getExclusiveLockOwnerProcedure</a></span>()</code> </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> </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> </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> </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><?> 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><?> proc)</code> </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><?> proc)</code> </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> </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 procId)</code> </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> </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><?> proc)</code> </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> </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><?></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockAndQueue.html#removeFirst--">removeFirst</a></span>()</code> </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> </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><?> proc)</code> </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><?> proc)</code> </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> scheduler)</code> </td> </tr> @@ -281,6 +274,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus <h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li> </ul> +<ul class="blockList"> +<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.procedure2.LockStatus"> +<!-- --> +</a> +<h3>Methods inherited from interface 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 <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><<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><?>> <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 <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 <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 <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a><?> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.52">exclusiveLockOwnerProcedure</a></pre> +<pre>private <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a><?> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/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 int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.53">sharedLock</a></pre> +<pre>private 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 <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.50">LockAndQueue</a>()</pre> +<pre>public <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><<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><?>> 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 boolean <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> in interface <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 boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.65">hasExclusiveLock</a>()</pre> +<pre>public boolean <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: <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> in interface <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 boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.70">isLockOwner</a>(long 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> in interface <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 boolean <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><?> 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> in interface <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 boolean <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><?> proc)</pre> +<pre>public boolean <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><?> proc)</pre> +<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <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> in interface <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 <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a><?> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.88">getExclusiveLockOwnerProcedure</a>()</pre> +<pre>public <a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a><?> <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.96">getExclusiveLockOwnerProcedure</a>()</pre> +<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <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> in interface <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 long <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> in interface <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 int <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.102">getSharedLockCount</a>()</pre> +<pre>public int <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: <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> in interface <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 boolean <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><?> proc)</pre> +<pre>public boolean <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><?> 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 boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockAndQueue.html#line.127">releaseSharedLock</a>()</pre> +<pre>public boolean <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 boolean <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><?> proc)</pre> +<pre>public boolean <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><?> 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 boolean <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><?> proc)</pre> +<pre>public boolean <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><?> 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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span></caption> +<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd"> </span></span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr id="i0" class="altColor"> <td class="colFirst"><code><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><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/procedure2/LockStatus.html#getExclusiveLockOwnerProcedure--">getExclusiveLockOwnerProcedure</a></span>()</code> </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> </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> </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> </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><?> proc)</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><?> 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><?> proc)</code> </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> </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 procId)</code> </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() > 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 <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.30">isLocked</a>()</pre> +<pre>default boolean <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() > 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 <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 <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.34">isLockOwner</a>(long 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 <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><?> proc)</pre> +<pre>boolean <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 <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><?> proc)</pre> +<pre>boolean <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><?> 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><?> <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><?> <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 <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.42">getExclusiveLockProcIdOwner</a>()</pre> +<pre>default long <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 <a href="../../../../../src-html/org/apache/hadoop/hbase/procedure2/LockStatus.html#line.44">getSharedLockCount</a>()</pre> +<pre>int <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>