Index: src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (revision 1130364) +++ src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (working copy) @@ -1470,14 +1470,17 @@ Result result = region.getSecond(); // If region was in transition (was in zk) force it offline for reassign try { - ZKAssign.createOrForceNodeOffline(watcher, regionInfo, - master.getServerName()); + //Process with existing RS shutdown code + boolean isNotDisabledAndSplitted = + ServerShutdownHandler.processDeadRegion(regionInfo, result, this, + this.catalogTracker); + if (isNotDisabledAndSplitted) { + ZKAssign.createOrForceNodeOffline(watcher, regionInfo, + master.getServerName()); + } } catch (KeeperException.NoNodeException nne) { // This is fine } - // Process with existing RS shutdown code - ServerShutdownHandler.processDeadRegion(regionInfo, result, this, - this.catalogTracker); } } }