public void barrierReleasedByMember(String member, byte[] dataFromMember) {
    boolean removed = false;
    synchronized (joinBarrierLock) {
      removed = this.inBarrierMembers.remove(member);
      if (removed) {
        releasedBarrierLatch.countDown();
      }
    }
    if (removed) {
      LOG.debug("Member: '" + member + "' released barrier for procedure'" + procName
        + "', counting down latch.  Waiting for " + releasedBarrierLatch.getCount() + " more");
    } else {
      LOG.warn("Member: '" + member + "' released barrier for procedure'" + procName
        + "', but we weren't waiting on it to release!");
    }
    dataFromFinishedMembers.put(member, dataFromMember);
  }
Call back triggered by a individual member upon successful local in-barrier execution and
release
hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/Procedure.java