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