Benjamin Reed commented on ZOOKEEPER-58:

+1 Looks good

> Race condition on ClientCnxn.java
> ---------------------------------
>                 Key: ZOOKEEPER-58
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-58
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: java client
>            Reporter: Flavio Paiva Junqueira
>            Assignee: Flavio Paiva Junqueira
>         Attachments: patch-incoming-race.txt
> There is a race condition involving the ByteByffer incomingBuffer, a field of 
> ClientCnxn.SendThread. SendThread reads a packet in two steps: first it reads 
> the length of the packet, followed by a read of the packet itself. Each of 
> these steps corresponds to a call to doIO() from the main loop of run(). If 
> there is an exception or the session times out, then it may leave 
> incomingBuffer in an inconsistent state. 
> The attached patch adds code to reset incomingBuffer upon a call to 
> SendThread.cleanup(). This method is called upon an exception on run().

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to