You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2016/11/15 01:22:56 UTC
hbase git commit: HBASE-17044 Fix merge failed before creating merged
region leaves meta inconsistent
Repository: hbase
Updated Branches:
refs/heads/master 6c1ceaf11 -> dcf03b32f
HBASE-17044 Fix merge failed before creating merged region leaves meta inconsistent
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/dcf03b32
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/dcf03b32
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/dcf03b32
Branch: refs/heads/master
Commit: dcf03b32f48b3b0a21ccea55a8044b88693b29c5
Parents: 6c1ceaf
Author: Andrew Purtell <ap...@apache.org>
Authored: Mon Nov 14 12:28:19 2016 -0800
Committer: Andrew Purtell <ap...@apache.org>
Committed: Mon Nov 14 17:23:27 2016 -0800
----------------------------------------------------------------------
.../org/apache/hadoop/hbase/master/AssignmentManager.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/dcf03b32/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 c8c25f1..3540b19 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
@@ -2700,9 +2700,16 @@ public class AssignmentManager {
+ ", a=" + rs_a + ", b=" + rs_b;
}
+ // Always bring the children back online. Even if they are not offline
+ // there's no harm in making them online again.
regionOnline(a, serverName);
regionOnline(b, serverName);
- regionOffline(hri);
+
+ // Only offline the merging region if it is known to exist.
+ RegionState rs_p = regionStates.getRegionState(hri);
+ if (rs_p != null) {
+ regionOffline(hri);
+ }
if (getTableStateManager().isTableState(hri.getTable(),
TableState.State.DISABLED, TableState.State.DISABLING)) {