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

Test a reconfig between scheduling an automatic reconfig and doing the automatic reconfig

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.7.0
    • None
    • Replication
    • None
    • Fully Compatible
    • Repl 2020-06-15, Repl 2020-06-29

    Description

      When scheduling an automatic reconfig to remove a 'newlyAdded' field, we drop the replication coordinator mutex before actually doing the reconfig (which includes creating the new config for the reconfig). We use the memberId to note which member should have 'newlyAdded' removed. If another reconfig happens in parallel with the automatic reconfig, especially one that moves around the memberIndex of various nodes, it could be easy to add a bug that removes the wrong 'newlyAdded' field. To protect against this type of bug, we check that the configVersion and config term match after the scheduled reconfig actually constructs a new config. We should test this race condition explicitly.

      Attachments

        Activity

          People

            vesselina.ratcheva@mongodb.com Vesselina Ratcheva (Inactive)
            judah.schvimer@mongodb.com Judah Schvimer
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: