Index: hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (revision 1567574) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (working copy) @@ -1279,6 +1279,7 @@ clearRegionPlan(regionInfo); // Add the server to serversInUpdatingTimer addToServersInUpdatingTimer(sn); + balancer.regionOnline(regionInfo, sn); } /** @@ -2667,6 +2668,7 @@ if (!disabledOrEnablingTables.contains(tableName)) { regionStates.updateRegionState(regionInfo, State.OPEN, regionLocation); regionStates.regionOnline(regionInfo, regionLocation); + balancer.regionOnline(regionInfo, regionLocation); } // need to enable the table if not disabled or disabling or enabling // this will be used in rolling restarts @@ -3514,6 +3516,7 @@ removeClosedRegion(regionInfo); // remove the region plan as well just in case. clearRegionPlan(regionInfo); + balancer.regionOffline(regionInfo); } /** Index: hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java (revision 1567574) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java (working copy) @@ -586,6 +586,14 @@ } @Override + public void regionOnline(HRegionInfo regionInfo, ServerName sn) { + } + + @Override + public void regionOffline(HRegionInfo regionInfo) { + } + + @Override public boolean isStopped() { return stopped; } Index: hbase-server/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java (revision 1567574) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java (working copy) @@ -117,4 +117,17 @@ * @throws HBaseIOException */ void initialize() throws HBaseIOException; + + /** + * Marks the region as online at balancer. + * @param regionInfo + * @param sn + */ + void regionOnline(HRegionInfo regionInfo, ServerName sn); + + /** + * Marks the region as offline at balancer. + * @param regionInfo + */ + void regionOffline(HRegionInfo regionInfo); }