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 c6b7e4b..a0362ab 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 @@ -161,9 +161,12 @@ public class UnassignProcedure extends RegionTransitionProcedure { return false; } - // if the server is down, mark the operation as failed. region cannot be unassigned - // if server is down - if (serverCrashed.get() || !isServerOnline(env, regionNode)) { + // if the server is down, mark the operation as complete + if (serverCrashed.get()) { + LOG.info("Server being killed: " + this); + return false; + } + if (!isServerOnline(env, regionNode)) { LOG.warn("Server already down: " + this + "; " + regionNode.toShortString()); setFailure("source region server not online", new ServerCrashException(getProcId(), regionNode.getRegionLocation()));