diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java index b95b50c..d8acb6d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java @@ -2356,6 +2356,7 @@ public class AssignmentManager extends ZooKeeperListener { RegionPlan randomPlan = null; boolean newPlan = false; RegionPlan existingPlan; + ServerName destination = balancer.randomAssignment(region, destServers); synchronized (this.regionPlans) { existingPlan = this.regionPlans.get(encodedName); @@ -2371,8 +2372,7 @@ public class AssignmentManager extends ZooKeeperListener { || existingPlan.getDestination() == null || !destServers.contains(existingPlan.getDestination())) { newPlan = true; - randomPlan = new RegionPlan(region, null, - balancer.randomAssignment(region, destServers)); + randomPlan = new RegionPlan(region, null, destination); if (!region.isMetaTable() && shouldAssignRegionsWithFavoredNodes) { List regions = new ArrayList(1); regions.add(region);