@Override
      public void receive(ForeignException ee) {
        // if this is a notification from a remote source, just log
        if (ee.isRemote()) {
          LOG.debug("Was remote foreign exception, not redispatching error", ee);
          return;
        }
        // if this is a local KeeperException, don't attempt to notify other members
        if (ee.getCause() instanceof KeeperException) {
          LOG.debug("Was KeeperException, not redispatching error", ee);
          return;
        }
        // if it is other local error, then send it to the coordinator
        try {
          rpcs.sendMemberAborted(Subprocedure.this, ee);
        } catch (IOException e) {
          // this will fail all the running procedures, since the connection is down
          LOG.error("Can't reach controller, not propagating error", e);
        }
      }
@param member        reference to the member managing this subprocedure
@param procName      name of the procedure this subprocedure is associated with
@param monitor       notified if there is an error in the subprocedure
@param wakeFrequency time in millis to wake to check if there is an error via the monitor (in
                     milliseconds).
@param timeout       time in millis that will trigger a subprocedure abort if it has not
                     completed
hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/Subprocedure.java