[CDRIVER-3479] Only error on unsupported options with unacknowledged writes if using legacy opcode wire protocol Created: 10/Jan/20  Updated: 10/Feb/23

Status: Backlog
Project: C Driver
Component/s: libmongoc
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Kevin Albertson Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Epic Link: CDRIVER-4576

 Description   

As jmikola discovered when implementing CDRIVER-3400, libmongoc errors on options in writes like collation, arrayFilters, and bypassDocumentValidation if using unacknowledged writes. But the CRUD spec says:

For unacknowledged writes using opcodes, the driver MUST raise an error if the caller explicitly provides a value.

With the key point being that we only need to error when using the legacy opcodes (OP_UPDATE, OP_INSERT, etc.). We should loosen those checks to only error if the max wire version indicates we'd be using those legacy opcodes.


Generated at Wed Feb 07 21:18:10 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.