allDurableTimestamp is kTimestampOne after initial sync and did not advance while/before transitioning to primary

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Replication
    • Fully Compatible
    • ALL
    • Repl 2025-09-01, Repl 2025-09-15, Repl 2025-09-29
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      A node starts up, goes through initial sync (which sets the oldestTimestamp and allDurableTimestamp to kTimestampOne), and steps up to become the primary. During the transition, the journal thread hits this invariant and logs that the truncateTimestamp is Timestamp(0, 1), which is kTimestampOne. The truncateTimestamp is the result of the getAllDurableTimestamp() call. There also has been no new writes to the replica set since that node started up. 

      Either there is some race between when we get the allDurableTimestamp and where we should be in the transition to primary. Or something might be wrong with why allDurable has not been changed to the top of the oplog. This ticket is to fix the above scenario

            Assignee:
            Evelyn Wu
            Reporter:
            Evelyn Wu
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: