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

Nodes should update liveness info when they receive a heartbeat response without newer optimes

    • Type: Icon: Improvement Improvement
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Replication
    • None
    • Replication
    • Fully Compatible
    • 0

      When a node receives a response to a heartbeat, it marks the node as alive at the same time as it updates its view of that node's optimes. This occurs here. We only update the node's optimes though if the optimes have moved forward. If the node hasn't moved forward, that's no reason to not consider it alive. This can lead to spurious elections by unnecessarily throwing away liveness information.

      There is a mismatch here between heartbeat request and response processing. In heartbeat requests, we do always update liveness information.

            Assignee:
            backlog-server-repl [DO NOT USE] Backlog - Replication Team
            Reporter:
            judah.schvimer@mongodb.com Judah Schvimer
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: