Incorrect socket handling of 4 letter words for NIO
---------------------------------------------------
Key: ZOOKEEPER-1197
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1197
Project: ZooKeeper
Issue Type: Bug
Components: server
Affects Versions: 3.3.3, 3.4.0
Reporter: Camille Fournier
Assignee: Camille Fournier
Priority: Blocker
Fix For: 3.3.4, 3.4.0
Attachments: ZOOKEEPER-1197.patch
When transferring a large amount of information from a 4 letter word,
especially in interactive mode (telnet or nc) over a slower network link, the
connection can be closed before all of the data has reached the client. This is
due to the way we handle nc non-interactive mode, by cancelling the selector
key.
Instead of cancelling the selector key for 4-letter-words, we should instead
flag the NIOServerCnxn to ignore detection of a close condition on that socket
(CancelledKeyException, EndOfStreamException). Since the 4lw will close the
connection immediately upon completion, this should be safe to do.
See ZOOKEEPER-737 for more details
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira