Cheng created ZOOKEEPER-2091: -------------------------------- Summary: Possible logic error in ClientCnxnSocketNIO Key: ZOOKEEPER-2091 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2091 Project: ZooKeeper Issue Type: Bug Components: java client Affects Versions: 3.4.6 Reporter: Cheng Priority: Minor
When SASL authentication is enabled, the ZooKeeper client will finally call ClientCnxnSocketNIO#sendPacket(Packet p) to send a packet to server: @Override void sendPacket(Packet p) throws IOException { SocketChannel sock = (SocketChannel) sockKey.channel(); if (sock == null) { throw new IOException("Socket is null!"); } p.createBB(); ByteBuffer pbb = p.bb; sock.write(pbb); } One problem I can see is that the sock is non-blocking, so when the sock's output buffer is full(theoretically), only part of the Packet is sent out and the communication will break. -- This message was sent by Atlassian JIRA (v6.3.4#6332)