GODRIVER-3582's original purpose was to allow internal users like C2C to pass arbitrary arguments to `bulkWrite` commands. That ticket's scope was later reduced to implementing a custom bypassEmptyTsReplacement parameter.
That doesn't solve our problem, however. We need to be able to pass arbitrary parameters in `bulkWrite` requests. (Or, as 3582 first requested, we need to be able to reuse the driver's parsing of `bulkWrite` cursor responses.) This will let us use undocumented (but mission-critical) interfaces (e.g., collectionUUID) without depending on the driver to expose public APIs for them.
For context: historically we’ve achieved this via RunCommand() and RunCommandCursor(). But v8’s new `bulkWrite` command presents a new paradigm: parsing a cursor to determine errors. RunCommandCursor() can’t do that for us; we need the driver’s logic here. (Otherwise we incur substantial risk by writing our own bespoke error-handling, which we definitely prefer to avoid.)
- is related to
-
GODRIVER-4231 Unskip bulkWrite collectionUUID subtest when server bug is fixed
-
- Needs Triage
-
-
GODRIVER-4245 Skip "TestClient_BulkWrite_CollectionUUIDs" on 8.1 and greater sharded clusters.
-
- Closed
-
- related to
-
SERVER-138544 bulkWrite on sharded cluster ignores collectionUUID on write with repeated namespace
-
- Backlog
-
- split from
-
GODRIVER-3582 Support bypassEmptyTsReplacement for client bulkWrite
-
- Closed
-
- links to