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

Pull the OplogTruncaterThread out of WiredTigerKVEngine and put it above the storage layer

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

      The OplogTruncaterThread will still call into the storage engine, but it's logic does not need to exist in that layer.

      Replication should control

      • whether to start the thread
      • when to start the thread

      Currently starting the OplogTruncaterThread is a byproduct of creating a local.oplog.* collection record store. That special logic can go away.

      The WiredTigerKVRecordStore currently depends on the OplogTruncaterThread to initialize the OplogStones logic, which then pivots from the regular capped collection clean up process to the OplogStones variation. The storage layer will need some other indicator – ideally a generic one – to signal use of the OplogStones.

            Assignee:
            gabe.villasana@mongodb.com Gabriel Villasana (Inactive)
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: