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

Manage last applied timestamp outside of the storage engine

    XMLWordPrintable

Details

    • Task
    • Status: Backlog
    • Major - P3
    • Resolution: Unresolved
    • None
    • None
    • None

    Description

      The timestamp to read at when using the kLastApplied read source is maintained internally in the storage engine in the component called the snapshot manager. This timestamp doesn't really have anything to do with the storage engine and is rather a replication related construct about how we can safely read in the repl SECONDARY state concurrently with oplog batch application.

      Logically, for the storage engine, this could be maintained outside and passed in similarly to how the kProvided read source works. This could make it easier to avoid bugs where a timestamp needs to be checked against some conditions before we open a storage snapshot with it.

      Some special handling needs to occur as the query yield code needs to advance the timestamp for the kLastApplied read source, something that is not done for kProvided.

      Attachments

        Issue Links

          Activity

            People

              backlog-server-execution Backlog - Storage Execution Team
              henrik.edin@mongodb.com Henrik Edin
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated: