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

Cannot assume recovery timestamp can be found in oplog

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.9.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • ALL
    • Repl 2020-10-19, Repl 2020-11-02, Repl 2020-11-16, Repl 2020-11-30, Repl 2020-12-14
    • 15

      During recovery, we assume the oplogApplicationStartPoint (which derives from the stable timestamp)
      https://github.com/mongodb/mongo/blob/2c446f3f587f406c23cdfca87f227ee5cd466fa8/src/mongo/db/repl/replication_recovery.cpp#L165

      After theĀ PM-1713
      Remove Stable Optime Candidates List project, this is no longer the case. If the oplogApplicationStartPoint is not present in the oplog, that's OK. In this case we must apply every entry in the oplog query (i.e. we do NOT skip the first entry)

      It is also the case that the oplog query may return no oplog entries, so the check here

      https://github.com/mongodb/mongo/blob/2c446f3f587f406c23cdfca87f227ee5cd466fa8/src/mongo/db/repl/replication_recovery.cpp#L149

      is also incorrect and should be replaced with a log message.

            Assignee:
            matthew.russotto@mongodb.com Matthew Russotto
            Reporter:
            matthew.russotto@mongodb.com Matthew Russotto
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: