You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Benjamin Reed (JIRA)" <ji...@apache.org> on 2008/09/07 17:52:44 UTC
[jira] Commented: (ZOOKEEPER-136) sync causes hang in all followers
of quorum
[ 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.