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

Retryable bulkWrite on mongod

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Replication
    • Fully Compatible
    • Repl 2023-04-17

      On mongod, when we receive a bulkWrite command under retryable writes, we already have logic at the service entry point layer to set up opCtx with sessionInfo, validate it and check out the session. The only thing we need to do to support retryable writes is to leverage helper functions in OperationContext/TransactionParticipant to check if a statement has already been executed, attach lsid, txnNumber and stmtId(s) when building the oplog chain for each operation or extract the original response from the existing oplog chain.


      Mongod also needs to use similar logic to batch writes to assign the correct stmtId(s) per every individual op we process. Update and delete should follow the logic of findAndModify

            sean.zimmerman@mongodb.com Sean Zimmerman
            lingzhi.deng@mongodb.com Lingzhi Deng
            0 Vote for this issue
            3 Start watching this issue