[ https://issues.apache.org/jira/browse/ZOOKEEPER-58?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12609000#action_12609000 ]
fpj edited comment on ZOOKEEPER-58 at 6/28/08 4:39 AM: -------------------------------------------------------------------------- New patch, moved added code to startConnect(). was (Author: fpj): New patch > 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.