@Override
    public void abort(String reason, Throwable cause) {
      // hang here so we can finish the reportRegionStateTransition call, which is the most
      // important part to reproduce the bug
      if (ABORT != null) {
        try {
          ABORT.await();
          ABORT = null;
        } catch (InterruptedException e) {
          throw new RuntimeException(e);
        }
      }
      super.abort(reason, cause);
    }
See HBASE-22060 and HBASE-22074 for more details.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestOpenRegionProcedureHang.java