Evan Jones commented on ZOOKEEPER-2:

A quick look at the patch looks good to me. However there is a "long 
logicalclock" in AuthFastLeaderElection.java as well. It looks like it should 
also be volatile.

> 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: Benjamin Reed
>         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.

Reply via email to