[
https://issues.apache.org/jira/browse/ZOOKEEPER-1702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13697689#comment-13697689
]
Hudson commented on ZOOKEEPER-1702:
-----------------------------------
Integrated in ZooKeeper-trunk #1978 (See
[https://builds.apache.org/job/ZooKeeper-trunk/1978/])
ZOOKEEPER-1702. ZooKeeper client may write operation packets before
receiving successful response to connection request, can cause TCP RST (Chris
Nauroth via phunt) (Revision 1498732)
Result = SUCCESS
phunt : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1498732
Files :
* /zookeeper/trunk/CHANGES.txt
* /zookeeper/trunk/src/java/main/org/apache/zookeeper/ClientCnxnSocketNIO.java
> ZooKeeper client may write operation packets before receiving successful
> response to connection request, can cause TCP RST
> --------------------------------------------------------------------------------------------------------------------------
>
> Key: ZOOKEEPER-1702
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1702
> Project: ZooKeeper
> Issue Type: Bug
> Components: java client
> Affects Versions: 3.4.2
> Reporter: Chris Nauroth
> Assignee: Chris Nauroth
> Fix For: 3.5.0, 3.4.6
>
> Attachments: ZOOKEEPER-1702.1.patch
>
>
> The problem occurs when a connection attempt is pending and there are
> multiple outbound packets in the queue for other operations. In
> {{ClientCnxnSocketNIO#doIO}}, it is possible to receive notification that the
> socket is writable for the next operation packet before receiving
> notification that the socket is readable for the connection response from the
> server. If the server decides that the session is expired, then it responds
> by immediately closing the socket on its side. If the client has written
> packets after the server has closed its end of the socket, then the TCP stack
> may choose to abort the connection with an RST. When this happens, the
> client doesn't receive an orderly shutdown, and ultimately it fails to
> deliver a session expired event to the application.
--
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