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,