You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by br...@apache.org on 2008/06/19 18:30:24 UTC

svn commit: r669533 - in /hadoop/hbase/trunk: CHANGES.txt src/java/org/apache/hadoop/hbase/HServerLoad.java

Author: bryanduxbury
Date: Thu Jun 19 09:30:24 2008
New Revision: 669533

URL: http://svn.apache.org/viewvc?rev=669533&view=rev
Log:
HBASE-615 Region balancer oscillates during cluster startup
-Change HServerLoad's getLoad method to ignore the number of requests, thus causing RegionManager to assign based merely on number of regions per server

Modified:
    hadoop/hbase/trunk/CHANGES.txt
    hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HServerLoad.java

Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=669533&r1=669532&r2=669533&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Thu Jun 19 09:30:24 2008
@@ -61,6 +61,7 @@
    HBASE-683   can not get svn revision # at build time if locale is not english
                (Rong-En Fan via Stack)
    HBASE-699   Fix TestMigrate up on Hudson
+   HBASE-615   Region balancer oscillates during cluster startup
    
   IMPROVEMENTS
    HBASE-559   MR example job to count table rows

Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HServerLoad.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HServerLoad.java?rev=669533&r1=669532&r2=669533&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HServerLoad.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/HServerLoad.java Thu Jun 19 09:30:24 2008
@@ -59,12 +59,19 @@
   }
   
   /**
+   * Originally, this method factored in the effect of requests going to the
+   * server as well. However, this does not interact very well with the current
+   * region rebalancing code, which only factors number of regions. For the 
+   * interim, until we can figure out how to make rebalancing use all the info
+   * available, we're just going to make load purely the number of regions.
+   *
    * @return load factor for this server
    */
   public int getLoad() {
-    int load = numberOfRequests == 0 ? 1 : numberOfRequests;
-    load *= numberOfRegions == 0 ? 1 : numberOfRegions;
-    return load;
+    // int load = numberOfRequests == 0 ? 1 : numberOfRequests;
+    // load *= numberOfRegions == 0 ? 1 : numberOfRegions;
+    // return load;
+    return numberOfRegions;
   }
   
   /** {@inheritDoc} */