[ 
https://issues.apache.org/jira/browse/CURATOR-44?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13713256#comment-13713256
 ] 

Jay Zarfoss commented on CURATOR-44:
------------------------------------

I'm thinking it may be best to simply update the Javadoc for LeaderSelector and 
then consider some new Leader-election paradigm.

In order for leadership to really be random for a given group of nodes, we'd 
need to randomly re-evaluate the leadership every time a node entered the 
group.  Otherwise in the pathological case where node A always starts two 
minutes before node B, node A will always be the leader for everything (which 
is probably what you're experiencing).     So for leadership to be random in 
this case that means that node A would need to get voted off the island, which 
to me implies something like a "loseLeadership()" method in the callback, which 
probably would warrant a new Leadership paradigm like 
"VulnerableLeaderSelector".  

Thoughts?
                
> LeaderSelector does not assign leader randomly
> ----------------------------------------------
>
>                 Key: CURATOR-44
>                 URL: https://issues.apache.org/jira/browse/CURATOR-44
>             Project: Apache Curator
>          Issue Type: Bug
>          Components: Recipes
>    Affects Versions: 2.0.1-incubating
>            Reporter: Anders Wallgren
>
> The javadoc for LeaderSelector says leadership is assigned randomly but this 
> does not appear to be the case.
> A fair mutex is used so it appears that leaders are selected in the order 
> that they attempt to acquire the mutex.
> This probably wouldn't be much more than a documentation issue except that it 
> tends to concentrate leaders on one node in the cluster when each node 
> participates in more than one election (and assuming the node starts the 
> LeaderSelectors right around the time the node comes up, which is the case in 
> our usage).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to