-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
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)
- depends on
-
SERVER-76656 Create basic override to run CRUD ops as bulkWrite
- Closed
- is depended on by
-
SERVER-76658 Make bulkWrite override not flush on allowed commands
- Closed