Nodes should explicitly clear arbiter durableOpTimeAndWalltime

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.4.8, 5.0.2, 5.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • ALL
    • v5.0, v4.4
    • Repl 2021-06-14, Repl 2021-06-28
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      If an arbiter sends a durableOpTimeAndWalltime (e.g due to SERVER-56619), that OpTimeAndWallTime can remain in the system indefinitely, passed around in replSetUpdatePosition commands, even after the arbiter has been corrected. This is because replSetUpdatePosition only advances the optime, and a correct arbiter always has a null optime. Thus for arbiters we should explicitly clear the arbiter's durableOpTimeAndWallTime when we get a heartbeat, to avoid "ghost" optimes staying in the system.

      We should also LOG_WARNING if we get a non-null durable optime from an arbiter.

              Assignee:
              Vesselina Ratcheva (Inactive)
              Reporter:
              Matthew Russotto
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: