-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: libmongoc
-
Labels:None
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.