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.

-F

> 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.


Mime
View raw message