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

Nodes should explicitly clear arbiter durableOpTimeAndWalltime

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 4.4.8, 5.0.2, 5.1.0-rc0
    • None
    • None
    • Fully Compatible
    • ALL
    • v5.0, v4.4
    • Repl 2021-06-14, Repl 2021-06-28

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              vesselina.ratcheva@mongodb.com Vesselina Ratcheva
              matthew.russotto@mongodb.com Matthew Russotto
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: