private boolean shouldSubmitSCP(ServerName serverName) {
    // check if there is already a SCP of this server running
    List<Procedure<MasterProcedureEnv>> procedures =
      server.getMasterProcedureExecutor().getProcedures();
    for (Procedure<MasterProcedureEnv> procedure : procedures) {
      if (procedure instanceof ServerCrashProcedure) {
        if (
          serverName.compareTo(((ServerCrashProcedure) procedure).getServerName()) == 0
            && !procedure.isFinished()
        ) {
          LOG.info("there is already a SCP of this server {} running, pid {}", serverName,
            procedure.getProcId());
          return false;
        }
      }
    }
    return true;
  }
Bypass specified procedure to completion. Procedure is marked completed but no actual work is
done from the current state/ step onwards. Parents of the procedure are also marked for bypass.
NOTE: this is a dangerous operation and may be used to unstuck buggy procedures. This may leave
system in incoherent state. This may need to be followed by some cleanup steps/ actions by
operator.
@return BypassProcedureToCompletionResponse indicating success or failure
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java