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

Truncate the oplog after the stable timestamp on startup if the oplogTruncateAfterPoint is earlier in time than the stable timestamp

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.3.1
    • Affects Version/s: None
    • Component/s: Storage
    • None
    • Fully Compatible
    • Execution Team 2019-06-17, Execution Team 2019-07-01

      On startup, the checkpoint (stable) timestamp can be compared with the oplogTruncateAfterPoint value. If the oplogTruncateAfterPoint is behind the checkpoint timestamp, we will instead truncate after the checkpoint timestamp.

      We will start moving the oplogTruncateAfterPoint forward regardless of durability in the Replicate Before Journaling project. Primaries will be constantly updating the value. It is possible for the update thread to be slow for some reason, and the stable timestamp to jump forward in the meantime.

      Before the changes for the Replicate Before Journaling project, the oplogTruncateAfterPoint was quickly set and unset in a window such that stable timestamp could not move forward while it was set. Secondaries set and unset it during batch application. Rollback sets and unsets it to trim the oplog. Initial sync clears it upon finishing (when it unsets the initial sync flag).

            Assignee:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: