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

Wait for the current config to be committed before running reconfig

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.4.0-rc0, 4.7.0
    • Affects Version/s: None
    • Component/s: Replication
    • Labels:
      None
    • Fully Compatible
    • v4.4
    • Repl 2020-03-23, Repl 2020-04-06
    • 0

      Currently, we wait for both Config Replication and Oplog Commitment at the end of reconfig command. The former guarantees the new oplog cannot be "rolled back", the latter guarantees the following config can be accepted. However, it seems better to wait for the latter only when it's needed on receiving the following config.

      As an example, adding one node with votes: 1 to a single node replset will have to wait for the initial sync to finish before returning the reconfig currently.

      Another case is after an election, Oplog Commitment requires the first optime in its term to be committed, which may fail a reconfig following the election immediately. Waiting for the first optime in its term to be committed will make the command finish successfully.

            Assignee:
            siyuan.zhou@mongodb.com Siyuan Zhou
            Reporter:
            siyuan.zhou@mongodb.com Siyuan Zhou
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: