1. ZooKeeper
  2. ZOOKEEPER-1225

Successive invocation of LeaderElectionSupport.start() will bring the ELECTED node to READY and cause no one in ELECTED state.


    • Type: Bug Bug
    • Status: Patch Available
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 3.3.3
    • Fix Version/s: 3.5.2, 3.6.0
    • Component/s: recipes
    • Labels:


      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.


        Rakesh R created issue -
        Rakesh R made changes -
        Field Original Value New Value
        Attachment ZOOKEEPER-1225.patch [ 12498880 ]
        Rakesh R made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Rakesh R made changes -
        Assignee Rakesh R [ rakeshr ]
        Patrick Hunt made changes -
        Assignee Rakesh R [ rakeshr ]
        Patrick Hunt made changes -
        Fix Version/s 3.5.1 [ 12326786 ]
        Fix Version/s 3.5.0 [ 12316644 ]
        Michi Mutsuzaki made changes -
        Fix Version/s 3.5.2 [ 12331981 ]
        Fix Version/s 3.6.0 [ 12326518 ]
        Fix Version/s 3.5.1 [ 12326786 ]


          • Assignee:
            Rakesh R
            Rakesh R
          • Votes:
            0 Vote for this issue
            3 Start watching this issue


            • Created: