zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Flavio Paiva Junqueira (JIRA)" <j...@apache.org>
Subject [jira] Updated: (ZOOKEEPER-2) Synchronization issues in QuorumPeer and FastLeader election
Date Thu, 12 Jun 2008 15:14:46 GMT

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-2?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Flavio Paiva Junqueira updated ZOOKEEPER-2:

    Attachment: patch-le-polish

This is a tentative patch to fix the problems pointed out on QuorumPeer and FastLeaderElection.

1- Makes logicalclock volatile;
2- Creates accessor methods for currentVote and state, and enforce their use;
3- Accessor methods are synchronized.


> Synchronization issues in QuorumPeer and FastLeader election
> ------------------------------------------------------------
>                 Key: ZOOKEEPER-2
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: leaderElection
>            Reporter: Benjamin Reed
>            Assignee: Flavio Paiva Junqueira
>         Attachments: patch-le-polish
> There are a couple of cases of member variables that need to be marked volatile or surrounded
in a synchronization block. A couple of examples are:
> * QuorumPeer state should be synchronous
> * currentVote in QuorumPeer is marked volatile, but when it's members are often accessed
individually as if they were in an atomic unit. Such code should be changed to get a reference
to the currentVote and they access members through that reference.
> * It looks like logicalClock in FastLeaderElection should be volatile. It should either
be fixed or commented to explain why it doesn't need to be.

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

View raw message