@Override
  public MasterProtos.ScheduleServerCrashProcedureResponse scheduleServerCrashProcedure(
    RpcController controller, MasterProtos.ScheduleServerCrashProcedureRequest request)
    throws ServiceException {
    List<Long> pids = new ArrayList<>();
    for (HBaseProtos.ServerName sn : request.getServerNameList()) {
      ServerName serverName = ProtobufUtil.toServerName(sn);
      LOG.info("{} schedule ServerCrashProcedure for {}", this.server.getClientIdAuditPrefix(),
        serverName);
      if (shouldSubmitSCP(serverName)) {
        pids.add(this.server.getServerManager().expireServer(serverName, true));
      } else {
        pids.add(Procedure.NO_PROC_ID);
      }
    }
    return MasterProtos.ScheduleServerCrashProcedureResponse.newBuilder().addAllPid(pids).build();
  }
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