Author: stack Date: Tue Sep 18 21:46:04 2012 New Revision: 1387372 URL: http://svn.apache.org/viewvc?rev=1387372&view=rev Log: HBASE-6779 Fix issues analysis.apache.org raises about StochasticLoadBalancer
Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java?rev=1387372&r1=1387371&r2=1387372&view=diff ============================================================================== --- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java (original) +++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java Tue Sep 18 21:46:04 2012 @@ -512,14 +512,14 @@ public class StochasticLoadBalancer exte // Now go through all of the tables we have seen and keep the max number // of regions of this table a single region server is hosting. - for (String tableName : tableRegionsOnCurrentServer.keySet()) { - Integer thisCount = tableRegionsOnCurrentServer.get(tableName).toInteger(); + for (Entry<String, MutableInt> currentServerEntry: tableRegionsOnCurrentServer.entrySet()) { + String tableName = currentServerEntry.getKey(); + Integer thisCount = currentServerEntry.getValue().toInteger(); Integer maxCountSoFar = tableCostSeenSoFar.get(tableName); if (maxCountSoFar == null || thisCount.compareTo(maxCountSoFar) > 0) { tableCostSeenSoFar.put(tableName, thisCount); } - } } @@ -560,11 +560,6 @@ public class StochasticLoadBalancer exte max += 1; - // Only compute the data locality for moved regions. - if (initialRegionMapping.equals(sn)) { - continue; - } - List<ServerName> dataOnServers = regionFinder.getTopBlockLocations(region); // If we can't find where the data is getTopBlock returns null.