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

Create a formal storage interface for oplog collection

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.1.0-rc0
    • Affects Version/s: None
    • Component/s: Storage
    • Storage Execution
    • Fully Compatible
    • Execution Team 2019-07-01, Execution Team 2024-10-14, Execution Team 2024-10-28, Execution Team 2024-11-11

      There is a great deal of specialized 'if (oplog) do this' logic in the WiredTigerRecordStore class. The WiredTigerKVEngine class has less, but still a significant amount of special handling.

      1. this makes it incredibly difficult to modify because we often do not document how a particularly part works, let alone how it all works together.
      2. currently we are only supporting transactions and some other replication features on the WT storage engine. We should formalize the support thereof if we wish to extend the features to other storage engines in the future, like Biggie, or truly continue to support a pluggable storage engine layer.
      3. We cannot unit test it as it is currently implemented.

            Assignee:
            gregory.noma@mongodb.com Gregory Noma
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: