@Override
      public Void answer(InvocationOnMock invocation) throws Throwable {
        // inject a remote error (this would have come from an external thread)
        spySub.cancel("bogus message", oate);
        // sleep the wake frequency since that is what we promised
        Thread.sleep(WAKE_FREQUENCY);
        return null;
      }
Fail correctly if coordinator aborts the procedure. The subprocedure will not interrupt a
running {@link Subprocedure#acquireBarrier()} -- prepare needs to finish first, and the the
abort is checked. Thus, the {@link Subprocedure#acquireBarrier()} should succeed but later get
rolled back via {@link Subprocedure#cleanup}.
hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestProcedureMember.java