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
    • 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

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

              Created:
              Updated:
              Resolved: