Index: hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java (revision 1558507) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java (working copy) @@ -1461,6 +1461,12 @@ balancerRan = plans != null; if (plans != null && !plans.isEmpty()) { for (RegionPlan plan: plans) { + ServerName sn = this.assignmentManager.getRegionStates() + .getRegionServerOfRegion(plan.getRegionInfo()); + if (sn == null || !sn.equals(plan.getSource())) { + // assignment of the underlying region may have changed + continue; + } LOG.info("balance " + plan); long balStartTime = System.currentTimeMillis(); //TODO: bulk assign