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

Investigate the behavior of concurrent replSetInitiate on different nodes

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: Replication
    • Labels:
      None

      Description

      Running replSetInitiate commands concurrently against different nodes may split the nodes in a replset into two groups since the config versions are both 1 and different no-op oplog entries will be written on the nodes that run the commands. We need to investigate its consequence. It's acceptable if one group will eventually roll back their no-op and sync from the other, or the nodes fail loudly. It would be worse if no primary can be elected. We should prevent more than one primaries in the same term, rolling back majority committed data or inconsistency between data and the oplog.

      Similar questions exist when the configs of concurrent replSetInitiate commands share some but not all nodes.

      This scenario will be extremely rare, once in the whole lifetime of a replset. This also means a user intentionally runs two replSetInitiate commands against two nodes concurrently. It might only be possible with a misconfigured script.

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated: