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

Server can return stale topologyVersion to clients on stepdown due to heartbeats

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Replication
    • Fully Compatible
    • ALL
    • Repl 2023-07-24

      Currently, I think it's possible that the server will kill operations as part of stepdown due to heartbeats , and return a stale TopologyVersion because we don't call fulfillTopologyPromise (as part of _updateMemberStateFromTopologyCoordinator) until after we kill the operations.

      This causes issues with retryable writes if a server returns a response with error InterruptedDueToReplStatechange with topologyVersion N (unchanged), and the driver will not know to mark the server as unknown before retrying the same write to the same node that is no longer a primary.

            Assignee:
            matthew.russotto@mongodb.com Matthew Russotto
            Reporter:
            jason.chan@mongodb.com Jason Chan
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: