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

Make bulkWrite override support multiple ops

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

      Building off of SERVER-76656 we want to make this override support multiple ops converted into a single bulkWrite. This will still cover single namespace.

      Special care will need to be taken with forming the responses for insert many / update many, will likely need some sort of bookkeeping to tell where the original request boundaries are in the bulkWrite ops

      Will need to determine when to split ops, which could include successive ops having different values for bypassDocumentValidation or ordered.

      A separate ticket should be made to determine if there are any ops which can be run without interrupting a bulkWrite batch

      When executing an ordered: true bulkWrite there will need to be special logic put in place to retry any ops that did not initially run. Note that this means we retry from where the next CRUD op was in the bulkWrite, not the next bulkWrite op (since we need to respect the ordered:true in the response for the CRUD op that failed so we don't rerun any unexecuted ops that belong to that CRUD op)

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

              Created:
              Updated:
              Resolved: