You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2018/10/15 08:00:14 UTC

hbase git commit: HBASE-21260 The whole balancer plans might be aborted if there are more than one plans to move a same region

Repository: hbase
Updated Branches:
  refs/heads/master 6781918ca -> 7d798b3c7


HBASE-21260 The whole balancer plans might be aborted if there are more than one plans to move a same region

Signed-off-by: Duo Zhang <zh...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/7d798b3c
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7d798b3c
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7d798b3c

Branch: refs/heads/master
Commit: 7d798b3c73ebb5c7c3558635e6ee60f4c0b6a79d
Parents: 6781918
Author: haxiaolin <li...@gmail.com>
Authored: Tue Oct 9 15:48:02 2018 +0800
Committer: Duo Zhang <zh...@apache.org>
Committed: Mon Oct 15 15:54:13 2018 +0800

----------------------------------------------------------------------
 .../main/java/org/apache/hadoop/hbase/master/HMaster.java   | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/7d798b3c/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
index d653b7d..015677c 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
@@ -1707,7 +1707,14 @@ public class HMaster extends HRegionServer implements MasterServices {
         for (RegionPlan plan: plans) {
           LOG.info("balance " + plan);
           //TODO: bulk assign
-          this.assignmentManager.moveAsync(plan);
+          try {
+            this.assignmentManager.moveAsync(plan);
+          } catch (HBaseIOException hioe) {
+            //should ignore failed plans here, avoiding the whole balance plans be aborted
+            //later calls of balance() can fetch up the failed and skipped plans
+            LOG.warn("Failed balance plan: {}, just skip it", plan, hioe);
+          }
+          //rpCount records balance plans processed, does not care if a plan succeeds
           rpCount++;
 
           balanceThrottling(balanceStartTime + rpCount * balanceInterval, maxRegionsInTransition,