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)