[
https://issues.apache.org/jira/browse/ZOOKEEPER-1197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13109538#comment-13109538
]
Camille Fournier commented on ZOOKEEPER-1197:
---------------------------------------------
I'm not sure how to write a test for this. On a local connection, especially
within the same VM, I really doubt that I can reproduce the issue (no luck so
far). I have tested this manually.
> 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