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

handle multi-oplog batched writes during oplog application

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Storage Execution
    • Fully Compatible
    • Execution Team 2023-02-20, Execution Team 2023-02-06

      Secondary oplog application currently handles a chain of applyOps oplog entries for a large multi-document transaction. We would like to extend this process to also handle a chain of applyOps entries for a large batched writes. This would involve separate some of the logical session and txnNumber handling from extracting the chain of replicated operations.

      The entry point to this process is currently in OplogApplierImpl for multi-doc transactions. The opsMap function mapping in oplog.cpp is still used for batched writes which are replicated as atomic applyOps entries. We would have to fold the atomic applyOps processing into OplogApplierImpl to take advantage of the applyOps chaining logic provided in part by the TransactionHistoryIterator class.

      There is some overlap between this ticket and “use OplogApplierImpl to process batched writes”. If no further work is determined to be necessary to handle the multi-oplog format for batched writes, this ticket may be closed accordingly.

            Assignee:
            benety.goh@mongodb.com Benety Goh
            Reporter:
            benety.goh@mongodb.com Benety Goh
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: