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.