private boolean unableToConnectToServer(IOException e) {
      if (e instanceof CallQueueTooBigException) {
        LOG.warn("request to {} failed due to {}, try={}, this usually because"
          + " server is overloaded, give up", serverName, e, numberOfAttemptsSoFar);
        return true;
      }
      if (isSaslError(e)) {
        LOG.warn("{} is not reachable; give up after first attempt", serverName, e);
        return true;
      }
      return false;
    }
The category of exceptions where we can ensure that the request has not yet been received
and/or processed by the target regionserver yet and hence we can determine whether it is safe
to choose different regionserver as the target.
@param e IOException thrown by the underlying rpc framework.
@return true if the exception belongs to the category where the regionserver has not yet
        received the request yet.
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java