[ 
https://issues.apache.org/jira/browse/CURATOR-22?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Tschetter updated CURATOR-22:
----------------------------------

    Attachment: CURATOR-22.patch

This is an implementation of a listener on LeaderLatch that will be told when 
state changes.

I'm certain that my code style settings are incorrect, but am not sure how to 
format properly (do you have an IntelliJ format file?) so I am submitting like 
this.

Also, I created a test that just verifies the happy path. Not sure if more 
should be added to cover the non-happy path, or if you are comfortable 
believing that the other tests already cover that. Let me know if there's 
something else I should add.
                
> Add a listener to LeaderLatch
> -----------------------------
>
>                 Key: CURATOR-22
>                 URL: https://issues.apache.org/jira/browse/CURATOR-22
>             Project: Apache Curator
>          Issue Type: Bug
>          Components: Recipes
>    Affects Versions: 2.0.0
>            Reporter: Eric Tschetter
>            Assignee: Jordan Zimmerman
>         Attachments: CURATOR-22.patch
>
>
> From the mailing list:
> Hi guys,
> I'm looking at using Leader Latch and I noticed it only has polling 
> mechanisms for figuring out if you are the leader. I was wondering if there 
> is a reason to not have a callback mechanism that you can register with two 
> methods:
> startBeingMaster();
> stopBeingMaster();
> Basically, any time setLeadership() is called with a value other than what it 
> was, it would cause either startBeingMaster() to be called or 
> stopBeingMaster() to be called.
> I can effect this using an extra thread and the polling mechanisms that are 
> there, but am wondering if I'm the only one that would prefer to interact 
> with it in this way or if others would also prefer to have access to this 
> type of API?
> (Btw, for anyone wondering, I'm currently swapping out an old zookeeper 
> client library for Curator and that's why I have all of these random 
> questions about APIs and stuff)
> Jordan Zimmerman [email protected] via googlegroups.com
> 1:48 PM (2 hours ago)
> to curator-users
> Look at LeaderSelector. It is a leader recipe that has a callback mechanism.
> Jordan Zimmerman
> Eric Tschetter [email protected]
> 2:27 PM (2 hours ago)
> to curator-users
> Oh, that's the Leader Election recipe.
> I don't really like that abstraction either because it makes me worry about 
> too much:
> 1) Losing connection, etc.
> 2) "Relinquishing" leadership
> I just want to either be the leader or not be the leader and have that choice 
> be completely external. That is, I want something to tell me that I became 
> the leader or that I lost leadership. I assume that I can always give up my 
> leadership by just closing the thing down.

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