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