private void closeCurrentConnection(SelectionKey key, Throwable e) {
      if (key != null) {
        SimpleServerRpcConnection c = (SimpleServerRpcConnection) key.attachment();
        if (c != null) {
          closeConnection(c);
          key.attach(null);
        }
      }
    }
Updating the readSelector while it's being used is not thread-safe, so the connection must
be queued. The reader will drain the queue and update its readSelector before performing
the next select
hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcServer.java