Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-48256

Election cannot be canceled when writing its last vote

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.7.0
    • Component/s: Replication
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Sprint:
      Repl 2020-06-29, Repl 2020-07-13, Repl 2020-07-27
    • Linked BF Score:
      23

      Description

      Election cancelation calls VoterRequester::cancel() to stop the running election. However, when the node has finished election dry run and is writing the last vote, calling cancel() on the dry run VoterRequester won't stop the real election since real election resets the VoterRequester.

      We could have the real run to check the result of the previous VoteRequester, but election handoff skips the dry run, so canceling the election will invariant as in SERVER-46850. Using VoteRequester to store the cancelled state as in SERVER-48207 isn't reliable in that case. We need to represent the canceled state at a higher level.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jason.chan Jason Chan
              Reporter:
              siyuan.zhou Siyuan Zhou
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: