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

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.7.0
    • Affects Version/s: None
    • Component/s: Replication
    • Labels:
      None
    • Fully Compatible
    • Repl 2020-06-15, Repl 2020-06-29

      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.

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

              Created:
              Updated:
              Resolved: