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/27 21:55:35 UTC

hbase git commit: HBASE-21120 MoveRegionProcedure makes no progress; goes to STUCK

Repository: hbase
Updated Branches:
  refs/heads/branch-2.0 8fd5e039e -> 07bdeb954


HBASE-21120 MoveRegionProcedure makes no progress; goes to STUCK


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

Branch: refs/heads/branch-2.0
Commit: 07bdeb95427541c3b0e1f0684d4a4b3811f162a8
Parents: 8fd5e03
Author: Michael Stack <st...@apache.org>
Authored: Mon Aug 27 14:54:55 2018 -0700
Committer: Michael Stack <st...@apache.org>
Committed: Mon Aug 27 14:54:55 2018 -0700

----------------------------------------------------------------------
 .../master/assignment/UnassignProcedure.java    | 23 +++++---------------
 1 file changed, 6 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/07bdeb95/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
index 46ff48c..4f58a0f 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
@@ -28,7 +28,6 @@ import org.apache.hadoop.hbase.client.RegionInfo;
 import org.apache.hadoop.hbase.exceptions.UnexpectedStateException;
 import org.apache.hadoop.hbase.favored.FavoredNodesManager;
 import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;
-import org.apache.hadoop.hbase.master.RegionState;
 import org.apache.hadoop.hbase.master.RegionState.State;
 import org.apache.hadoop.hbase.master.assignment.RegionStates.RegionStateNode;
 import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;
@@ -117,7 +116,9 @@ public class UnassignProcedure extends RegionTransitionProcedure {
     this.destinationServer = destinationServer;
     this.force = force;
     this.removeAfterUnassigning = removeAfterUnassigning;
-    setTransitionState(RegionTransitionState.REGION_TRANSITION_QUEUE);
+
+    // we don't need REGION_TRANSITION_QUEUE, we jump directly to sending the request
+    setTransitionState(RegionTransitionState.REGION_TRANSITION_DISPATCH);
   }
 
   @Override
@@ -178,21 +179,9 @@ public class UnassignProcedure extends RegionTransitionProcedure {
 
   @Override
   protected boolean startTransition(final MasterProcedureEnv env, final RegionStateNode regionNode) {
-    // Check region is actually unassignable now we have lock on it. If not skirt to end.
-    // It could have had its status changed on us post construction... perhaps a split removed
-    // the region we are to unassign (a split and a move happening near-concurrently).
-    // Don't overcheck. A region is set to have a SPLITTING state if it is the parent and it is
-    // being split. Regions that are in this RSN state are unassignable. Regions that are SPLIT
-    // are not.
-    RegionStates regionStates = env.getAssignmentManager().getRegionStates();
-    RegionState rs = regionStates.getRegionState(regionNode.getRegionInfo());
-    // Don't try unassigning regions that are closed or split. RSN state could have been set
-    // after our creation but before we got the region lock.
-    if (rs.isClosing() || rs.isClosed() || rs.isSplit() || rs.isMerged()) {
-      LOG.info("NOT unassignable {}, skipping {}", rs, this);
-      return false;
-    }
-    return true;
+    // nothing to do here. we skip the step in the constructor
+    // by jumping to REGION_TRANSITION_DISPATCH
+    throw new UnsupportedOperationException();
   }
 
   @Override