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

        

Reply via email to