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

Reset the oldest timestamp if initial sync fails and starts another attempt

    • Fully Compatible
    • ALL
    • v4.2
    • Hide

      I have attached the test that the initial sync fuzzer generated to repro this.

      Show
      I have attached the test that the initial sync fuzzer generated to repro this.
    • STM 2019-06-03, Repl 2019-06-17, Repl 2019-07-01

      When starting initial sync, we reset the node's lastAppliedOptime. However, we do not reset the oldest timestamp. This can be a problem if we fail an initial sync attempt, because when we try to write to the oplog, we can trigger this WT assertion that the commit timestamp of a storage transaction should not be before the oldest timestamp. Since the oldest timestamp was not reset after the attempt failed and the first oplog entry to apply during initial sync is a prepare oplog entry, the timestamp to write the oplog entry is incorrectly before the oldest timestamp.

            Assignee:
            samy.lanka@mongodb.com Samyukta Lanka
            Reporter:
            samy.lanka@mongodb.com Samyukta Lanka
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved: