protected synchronized boolean isFailed() {
    switch (state) {
      case ROLLINGBACK:
      case FAILED:
        return true;
      default:
        break;
    }
    return false;
  }
Internal state of the ProcedureExecutor that describes the state of a "Root Procedure". A "Root
Procedure" is a Procedure without parent, each subprocedure will be added to the "Root Procedure"
stack (or rollback-stack). RootProcedureState is used and managed only by the ProcedureExecutor.

<pre>
  Long rootProcId = getRootProcedureId(proc);
  rollbackStack.get(rootProcId).acquire(proc)
  rollbackStack.get(rootProcId).release(proc)
  ...
</pre>
hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/RootProcedureState.java