Index: src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (revision 1245861) +++ src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (working copy) @@ -1645,7 +1645,7 @@ if (servers.isEmpty()) return null; RegionPlan randomPlan = new RegionPlan(state.getRegion(), null, - balancer.randomAssignment(servers)); + balancer.randomAssignment(servers,state.getRegion())); boolean newPlan = false; RegionPlan existingPlan = null; Index: src/main/java/org/apache/hadoop/hbase/master/DefaultLoadBalancer.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/DefaultLoadBalancer.java (revision 1245861) +++ src/main/java/org/apache/hadoop/hbase/master/DefaultLoadBalancer.java (working copy) @@ -760,7 +760,7 @@ return assignments; } - public ServerName randomAssignment(List servers) { + public ServerName randomAssignment(List servers,HRegionInfo regionInfo) { if (servers == null || servers.isEmpty()) { LOG.warn("Wanted to do random assignment but no servers to assign to"); return null; Index: src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java (revision 1245861) +++ src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java (working copy) @@ -92,7 +92,8 @@ /** * Get a random region server from the list * @param servers + * @param regionInfo Region for which this selection is being done. * @return Servername */ - public ServerName randomAssignment(List servers); + public ServerName randomAssignment(List servers,HRegionInfo regionInfo); }