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/02/27 22:51:01 UTC

hbase git commit: HBASE-20100 TestEnableTableProcedure flakey

Repository: hbase
Updated Branches:
  refs/heads/branch-2 06cf04e45 -> 7d7ca33e6


HBASE-20100 TestEnableTableProcedure flakey

Allow OPEN as a possible state when update region transition state.
Usually state is OPENING but if crash before finish step is completed,
on replay, master may have read that the state is OPEN from meta table
and so will think it open... When we replay the procedure finish, allow
that the region is already OPEN.


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

Branch: refs/heads/branch-2
Commit: 7d7ca33e6d43bc991d71d2ce79668db54866011f
Parents: 06cf04e
Author: Michael Stack <st...@apache.org>
Authored: Tue Feb 27 12:06:48 2018 -0800
Committer: Michael Stack <st...@apache.org>
Committed: Tue Feb 27 12:10:51 2018 -0800

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/master/assignment/AssignProcedure.java | 2 +-
 .../org/apache/hadoop/hbase/master/assignment/RegionStates.java    | 2 ++
 .../hadoop/hbase/master/assignment/RegionTransitionProcedure.java  | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/7d7ca33e/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java
index 65eafe7..fd31553 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java
@@ -208,7 +208,7 @@ public class AssignProcedure extends RegionTransitionProcedure {
         }
       }
     }
-    LOG.info("Start " + this + "; " + regionNode.toShortString() +
+    LOG.info("Starting " + this + "; " + regionNode.toShortString() +
         "; forceNewPlan=" + this.forceNewPlan +
         ", retain=" + retain);
     env.getAssignmentManager().queueAssign(regionNode);

http://git-wip-us.apache.org/repos/asf/hbase/blob/7d7ca33e/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java
index fa94495..adeba67 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java
@@ -60,6 +60,8 @@ public class RegionStates {
   private static final Logger LOG = LoggerFactory.getLogger(RegionStates.class);
 
   protected static final State[] STATES_EXPECTED_ON_OPEN = new State[] {
+    State.OPEN, // State may already be OPEN if we died after receiving the OPEN from regionserver
+                // but before complete finish of AssignProcedure. HBASE-20100.
     State.OFFLINE, State.CLOSED,      // disable/offline
     State.SPLITTING, State.SPLIT,     // ServerCrashProcedure
     State.OPENING, State.FAILED_OPEN, // already in-progress (retrying)

http://git-wip-us.apache.org/repos/asf/hbase/blob/7d7ca33e/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
index 4a88e3b..6c63cb8 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
@@ -322,6 +322,7 @@ public abstract class RegionTransitionProcedure
 
           case REGION_TRANSITION_FINISH:
             // 3. wait assignment response. completion/failure
+            LOG.debug("Finishing {}; {}", this, regionNode.toShortString());
             finishTransition(env, regionNode);
             am.removeRegionInTransition(regionNode, this);
             return null;