private boolean isNetworkError(IOException e) {
      if (
        e instanceof ConnectionClosedException || e instanceof UnknownHostException
          || e instanceof ConnectException
      ) {
        return true;
      }
      Throwable cause = e;
      while (true) {
        if (cause instanceof IOException) {
          IOException unwrappedCause = unwrapException((IOException) cause);
          if (
            unwrappedCause instanceof ConnectionClosedException
              || unwrappedCause instanceof UnknownHostException
              || unwrappedCause instanceof ConnectException
          ) {
            return true;
          }
        }
        cause = cause.getCause();
        if (cause == null) {
          return false;
        }
      }
    }
Returns true if the error or its cause indicates a network connection issue.
@param e IOException thrown by the underlying rpc framework.
@return True if the error or its cause indicates a network connection issue.
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java