[ https://issues.apache.org/jira/browse/ZOOKEEPER-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12628979#action_12628979 ]
Benjamin Reed commented on ZOOKEEPER-136: ----------------------------------------- There are two problems in the code. First, the pendingSyncs hashtable assumes there will only be one pending request for a change operation. This is not a valid assumption. The syncHandler also assumes a single outstanding request for a given session since it removes the session handler from the table. I think a fix needs to get rid of both hashtables since it is very hard to do reliably. Instead we should attach information to Request to hang triggers to a list of SyncRequests. We should also tuck away the FollowerHandle to talk to in a sync specific subclass of Request. I tried doing the above and it worked out pretty well from a code understandability sense, but I still working on making test cases pass. > sync causes hang in all followers of quorum > ------------------------------------------- > > Key: ZOOKEEPER-136 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-136 > Project: Zookeeper > Issue Type: Bug > Affects Versions: 3.0.0 > Reporter: Patrick Hunt > Assignee: Patrick Hunt > Fix For: 3.0.0 > > Attachments: log_ZOOKEEPER-136.txt, testfails_ZOOKEEPER-136.patch > > > The attached test causes all of the followers of a quorum to hang. Leader > continues to function correctly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.