You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ec...@apache.org on 2016/06/23 19:38:25 UTC
hbase git commit: HBASE-16093 Fix splits failed before creating
daughter regions leave meta inconsistent
Repository: hbase
Updated Branches:
refs/heads/branch-1.3 d500f6fd0 -> 25485d621
HBASE-16093 Fix splits failed before creating daughter regions leave meta inconsistent
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/25485d62
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/25485d62
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/25485d62
Branch: refs/heads/branch-1.3
Commit: 25485d621c220e92b0248f3d57a3b3c529a86e47
Parents: d500f6f
Author: Elliott Clark <ec...@apache.org>
Authored: Thu Jun 23 11:27:44 2016 -0700
Committer: Elliott Clark <ec...@apache.org>
Committed: Thu Jun 23 12:22:02 2016 -0700
----------------------------------------------------------------------
.../hadoop/hbase/master/AssignmentManager.java | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/25485d62/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
index b325f42..739ebff 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
@@ -3758,9 +3758,20 @@ public class AssignmentManager extends ZooKeeperListener {
if (!org.apache.commons.lang.StringUtils.isEmpty(s)) {
return s;
}
+
+ // Always bring the parent back online. Even if it's not offline
+ // There's no harm in making it online again.
regionOnline(p, sn);
- regionOffline(a);
- regionOffline(b);
+
+ // Only offline the region if they are known to exist.
+ RegionState regionStateA = regionStates.getRegionState(a);
+ RegionState regionStateB = regionStates.getRegionState(b);
+ if (regionStateA != null) {
+ regionOffline(a);
+ }
+ if (regionStateB != null) {
+ regionOffline(b);
+ }
if (getTableStateManager().isTableState(p.getTable(),
ZooKeeperProtos.Table.State.DISABLED, ZooKeeperProtos.Table.State.DISABLING)) {