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

Set stable timestamp to end of each oplog batch during startup recovery for restore

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Replication
    • Fully Compatible
    • ALL
    • Repl 2024-03-04, Repl 2024-03-18

      This came out of an investigation during SERVER-84706. Today, startup recovery for restore first sets the initial data timestamp to the sentinel so that we take unstable checkpoints. We also attempts to set the stable timestamp to Timestamp::min(). However, this is essentially a no-op, as we do not allow trying to reset the stable timestamp if it is null. In addition, it is not safe to set the stable timestamp backwards.

      After discussion within RSS, we determined that it should be equally performant and safe to set the stable timestamp during startup recovery for restore and take stable checkpoints. This would allow us to advance the stable timestamp alongside the oldest timestamp, preventing any future occurrences of SERVER-84706. We should do this to resolve this bug.

            samy.lanka@mongodb.com Samyukta Lanka
            xuerui.fa@mongodb.com Xuerui Fa
            0 Vote for this issue
            9 Start watching this issue