Summary
We will add driver support for performing write-only one-shot transactions, and improve the usability and performance of the existing bulk write API. We will accomplish this by expanding the bulk write API to allow for bulk writes to be executed across multiple collections and databases, and to make mixed operation and cross-namespace bulk writes more efficient by executing bulk write operations in one batch.
Lead : Jeremy Mikola
Spec Author : Isabel Atkinson
POCs : Rust & TBD
Product Manager: Rachelle Palmer
Spec Update
- has to be finished together with
-
DRIVERS-3036 Remove the BSON document size validation requirement for the client bulk write operation
- Implementing
-
DRIVERS-2993 Specify how to handle unacknowledged+(ordered|verbose|multi-batch) bulk writes
- Implementing
- is depended on by
-
MONGOSH-1100 Support Bulk Write API 2.0
- Needs Triage
-
MONGOID-5026 Coalesce updates where possible
- Closed
- is duplicated by
-
DRIVERS-717 One Shot Transactions
- Development Complete
- is related to
-
DRIVERS-2582 Auto-batching of write operations
- Closed
-
DRIVERS-2215 Add specs and tests for grouping bulkWrite operations
- Backlog
-
DRIVERS-2955 Add tests for retryable writes across multiple batches for MongoClient.bulkWrite
- Backlog
-
DRIVERS-2888 Support QE with Client.bulkWrite
- Ready for Work
-
DRIVERS-2090 Discuss errors that may interrupt a bulk write regardless of ordering
- Backlog
-
DRIVERS-2159 How should drivers handle non-write errors in Unordered Bulk Writes?
- Backlog
-
DRIVERS-2093 How should drivers handle multiple WriteConcernErrors in a bulk operation
- Closed
- related to
-
DRIVERS-717 One Shot Transactions
- Development Complete
-
DRIVERS-2725 BulkWriteResult.insertedIds does not reflect actual inserted documents
- Backlog
-
DRIVERS-2862 Benchmark Collection and Client bulkWrite
- In Review
-
DRIVERS-2763 Reorganize CRUD spec headings
- Closed
-
JAVA-4537 Consider grouping update and replace bulk operations
- Backlog
-
DRIVERS-2470 Extra write and write concern error fields may be inaccessible in modeled write results
- Backlog
-
DRIVERS-2954 Support the new Bulk Command use at the Database and Collection levels.
- Backlog
-
DRIVERS-2975 Fix logic for determining whether to populate BulkWriteException.partialResult
- Implementing
- split to
-
CXX-2494 Improved Bulk Write API
- Backlog
-
RUBY-2964 Improved Bulk Write API
- Backlog
-
NODE-4197 Improved Bulk Write API
- Released
-
GODRIVER-2388 Improved Bulk Write API
- In Progress
-
JAVA-4586 Improved Bulk Write API
- In Progress
-
PHPLIB-847 Improved Bulk Write API
- In Progress
-
CSHARP-4145 Improved Bulk Write API
- Development Complete
-
MOTOR-940 Improved Bulk Write API
- Development Complete
-
PYTHON-3233 Improved Bulk Write API
- Development Complete
-
RUST-1282 Improved Bulk Write API
- Development Complete
-
CDRIVER-4363 Improved Bulk Write API
- Closed
- links to