public ServerName acquireSplitWALWorker(Procedure<?> procedure)
    throws ProcedureSuspendedException {
    Optional<ServerName> worker = splitWorkerAssigner.acquire();
    if (worker.isPresent()) {
      LOG.debug("Acquired split WAL worker={}", worker.get());
      return worker.get();
    }
    splitWorkerAssigner.suspend(procedure);
    throw new ProcedureSuspendedException();
  }
Acquire a split WAL worker
@param procedure split WAL task
@return an available region server which could execute this task
@throws ProcedureSuspendedException if there is no available worker, it will throw this
                                    exception to WAIT the procedure.
hbase-server/src/main/java/org/apache/hadoop/hbase/master/SplitWALManager.java