[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12622631#action_12622631
 ] 

Mahadev konar commented on ZOOKEEPER-2:
---------------------------------------

flavio -  while we are at it ... can we improve the documentation with javadocs 
in FastLeaderElection? I am happy to open another jira for it but seems a 
little redundant... In particular Messenger class lacks javadocs, class 
workersender lacks javadocs, some of the methods in FastLeaderElection class 
lack javadoc as well. It will help us lesser mortals to understand leader 
election better with some javadocs :).  

> 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, patch-le-polish, ZOOKEEPER-2.patch
>
>
> 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