public CompletableFuture<Void> regionClosedAbnormally(RegionStateNode regionNode) {
    RegionState.State state = regionNode.getState();
    ServerName regionLocation = regionNode.getRegionLocation();
    regionNode.setState(State.ABNORMALLY_CLOSED);
    regionNode.setRegionLocation(null);
    CompletableFuture<Void> future = regionStateStore.updateRegionLocation(regionNode);
    FutureUtils.addListener(future, (r, e) -> {
      if (e == null) {
        if (regionLocation != null) {
          regionNode.setLastHost(regionLocation);
          regionStates.removeRegionFromServer(regionLocation, regionNode);
        }
      } else {
        // revert
        regionNode.setState(state);
        regionNode.setRegionLocation(regionLocation);
      }
    });
    return future;
  }
Resolve a cached {@link RegionInfo} from the encoded region name as a {@code String}.
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java