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.


Reply via email to