Repository: hbase Updated Branches: refs/heads/branch-1.2 7bfb930a8 -> 77d604951
HBASE-17265 Region left unassigned in master failover when region failed to open (Allan Yang) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/77d60495 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/77d60495 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/77d60495 Branch: refs/heads/branch-1.2 Commit: 77d604951d43d8e6994d5a66d9a4d8a77835e80d Parents: 7bfb930 Author: tedyu <[email protected]> Authored: Thu Feb 9 12:43:37 2017 -0800 Committer: Stephen Yuan Jiang <[email protected]> Committed: Sun Feb 12 07:08:09 2017 -0800 ---------------------------------------------------------------------- .../org/apache/hadoop/hbase/master/AssignmentManager.java | 2 +- .../java/org/apache/hadoop/hbase/master/RegionStates.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/77d60495/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 414b751..433189b 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 @@ -1064,7 +1064,7 @@ public class AssignmentManager extends ZooKeeperListener { failedOpenTracker.remove(encodedName); } else { // Handle this the same as if it were opened and then closed. - regionState = regionStates.updateRegionState(rt, State.CLOSED); + regionState = regionStates.setRegionStateTOCLOSED(rt.getRegionName(), sn); if (regionState != null) { // When there are more than one region server a new RS is selected as the // destination and the same is updated in the regionplan. (HBASE-5546) http://git-wip-us.apache.org/repos/asf/hbase/blob/77d60495/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java index c209d35..efb9f48 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java @@ -380,6 +380,16 @@ public class RegionStates { * Set the region state to CLOSED */ public RegionState setRegionStateTOCLOSED( + final byte[] regionName, + final ServerName serverName) { + HRegionInfo regionInfo = getRegionInfo(regionName); + return setRegionStateTOCLOSED(regionInfo, serverName); + } + + /** + * Set the region state to CLOSED + */ + public RegionState setRegionStateTOCLOSED( final HRegionInfo regionInfo, final ServerName serverName) { ServerName sn = serverName;
