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 2035f6a..80f96c8 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 @@ -1091,7 +1091,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) 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 c2c45d2..6cc8b49 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 @@ -423,6 +423,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;