@Override
    public ReportRegionStateTransitionResponse reportRegionStateTransition(
      ReportRegionStateTransitionRequest req) throws PleaseHoldException {
      RegionStateTransition transition = req.getTransition(0);
      if (
        transition.getTransitionCode() == TransitionCode.OPENED
          && ProtobufUtil.toTableName(transition.getRegionInfo(0).getTableName()).equals(NAME)
          && ARRIVE != null
      ) {
        ARRIVE.countDown();
        try {
          RESUME.await();
          RESUME = null;
        } catch (InterruptedException e) {
          throw new RuntimeException(e);
        }
        try {
          return super.reportRegionStateTransition(req);
        } finally {
          FINISH.countDown();
        }
      } else {
        return super.reportRegionStateTransition(req);
      }
    }
See HBASE-22060 and HBASE-22074 for more details.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestOpenRegionProcedureHang.java