Eric Tschetter created CURATOR-22:
-------------------------------------
Summary: 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
>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