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

Serialize config term in ReplSetConfig even if it is kUninitializedTerm

    • Type: Icon: Improvement Improvement
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 4.5.1
    • Component/s: Replication
    • Labels:
      None
    • Replication

      Currently we do not append the config 'term' field to ReplSetConfig if the term is uninitialized (i.e. -1). We did this in 4.4 for compatibility issues with 4.2, in case a 4.4 binary node sent a config to a 4.2 node. This may not be necessary any longer, since versions >= 4.4 will always be able to parse a config object with a term. There might be issues with serializing uninitialized terms, however, if we expect multi-step downgrades e.g. from 4.6 -> 4.4 -> 4.2. If an uninitialized term was written down explicitly in 4.6, we might not remove it when we go from FCV 4.4 to FCV 4.2. If we do not support such a downgrade, scenario, though, then it might be safe to remove this extra logic.

            Assignee:
            backlog-server-repl [DO NOT USE] Backlog - Replication Team
            Reporter:
            william.schultz@mongodb.com William Schultz (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: