You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Patrick Hunt (JIRA)" <ji...@apache.org> on 2012/09/27 02:25:08 UTC
[jira] [Commented] (ZOOKEEPER-1197) Incorrect socket handling of 4
letter words for NIO
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13464317#comment-13464317 ]
Patrick Hunt commented on ZOOKEEPER-1197:
-----------------------------------------
Interesting web page I found: http://ia600609.us.archive.org/22/items/TheUltimateSo_lingerPageOrWhyIsMyTcpNotReliable/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable.html
> 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: Critical
> Fix For: 3.5.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.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira