Index: src/main/java/org/apache/hadoop/hbase/master/DefaultLoadBalancer.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/DefaultLoadBalancer.java (revision 1504751) +++ src/main/java/org/apache/hadoop/hbase/master/DefaultLoadBalancer.java (working copy) @@ -330,8 +330,8 @@ if (regionsToPut == 0) { regionsToPut = 1; - maxToTake--; } + maxToTake -= regionsToPut; underloadedServers.put(server.getKey().getServerName(), regionsToPut); } // number of servers that get new regions @@ -439,6 +439,10 @@ for (Map.Entry> server : serversByLoad.entrySet()) { int regionCount = server.getKey().getLoad(); + BalanceInfo balanceInfo = serverBalanceInfo.get(server.getKey().getServerName()); + if(balanceInfo != null) { + regionCount += balanceInfo.getNumRegionsAdded(); + } if(regionCount >= max) { break; }