public static ThreadPoolExecutor defaultPool(String memberName, int procThreads,
    long keepAliveMillis) {
    return new ThreadPoolExecutor(1, procThreads, keepAliveMillis, TimeUnit.MILLISECONDS,
      new SynchronousQueue<>(),
      new ThreadFactoryBuilder().setNameFormat("member: '" + memberName + "' subprocedure-pool-%d")
        .setDaemon(true).setUncaughtExceptionHandler(Threads.LOGGING_EXCEPTION_HANDLER).build());
  }
Default thread pool for the procedure
@param procThreads     the maximum number of threads to allow in the pool
@param keepAliveMillis the maximum time (ms) that excess idle threads will wait for new tasks
hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/ProcedureMember.java