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

Retryable bulkWrite on mongod

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 7.1.0-rc0
    • None
    • None
    • Replication
    • Fully Compatible
    • Repl 2023-04-17

    Description

      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

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: