protected synchronized void setFailure(final RemoteProcedureException exception) {
    this.exception = exception;
    if (!isFinished()) {
      setState(ProcedureState.FAILED);
    }
  }
Returns true if the procedure is waiting for a child to finish or for an external event.
hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java