Successive invocation of LeaderElectionSupport.start() will bring the ELECTED
node to READY and cause no one in ELECTED state.
------------------------------------------------------------------------------------------------------------------------------
Key: ZOOKEEPER-1225
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1225
Project: ZooKeeper
Issue Type: Bug
Components: recipes
Affects Versions: 3.3.3
Reporter: Rakesh R
Assignee: Rakesh R
Fix For: 3.5.0
Presently there is no state validation for the start() api, so one can invoke
multiple times consecutively. The second or further invocation will makes the
client node to become 'READY' state transition. Because there is an offer
already got created during the first invocation of the start() api, the second
invocation again makeOffer() and after determination will be chosen as READY
state transitions.
This makes the situation with no 'ELECTED' nodes present and the client (or the
user of the election recipe) will be indefinitely waiting for the 'ELECTED'
node.
Similarly, stop() api can be invoked and there is no state validation and this
can dispatch unnecessary FAILED transition events.
IMO, LES recipe can have validation logic to avoid the successive start() and
stop() invocations.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira