You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2018/08/15 22:38:42 UTC

hbase git commit: HBASE-21050 Exclusive lock may be held by a SUCCESS state procedure forever

Repository: hbase
Updated Branches:
  refs/heads/branch-2.0 5e06b80e7 -> 66489b504


HBASE-21050 Exclusive lock may be held by a SUCCESS state procedure forever

Signed-off-by: Michael Stack <st...@apache.org>
Signed-off-by: zhangduo <zh...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/66489b50
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/66489b50
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/66489b50

Branch: refs/heads/branch-2.0
Commit: 66489b50432df57c77a87e252d30f578adbf0fc8
Parents: 5e06b80
Author: Allan Yang <al...@apache.org>
Authored: Wed Aug 15 15:36:31 2018 -0700
Committer: Michael Stack <st...@apache.org>
Committed: Wed Aug 15 15:38:20 2018 -0700

----------------------------------------------------------------------
 .../main/java/org/apache/hadoop/hbase/procedure2/Procedure.java | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/66489b50/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java
----------------------------------------------------------------------
diff --git a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java
index 58757bb..83a91fd 100644
--- a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java
+++ b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java
@@ -895,6 +895,11 @@ public abstract class Procedure<TEnvironment> implements Comparable<Procedure<TE
       return;
     }
 
+    if (isFinished()) {
+      LOG.debug("{} is already finished, skip acquiring lock.", this);
+      return;
+    }
+
     LOG.debug("{} held the lock before restarting, call acquireLock to restore it.", this);
     LockState state = acquireLock(env);
     assert state == LockState.LOCK_ACQUIRED;