|
The startTransaction section of the Transaction spec states:
startTransaction SHOULD report an error if the driver can detect that transactions are not supported by the deployment. A deployment does not support transactions when the deployment does not support sessions, or maxWireVersion < 7, or the maxWireVersion < 8 and the topology type is Sharded.
I recently discovered that libmongoc does not implement the maxWireVersion < 7 check and opened CDRIVER-3161 to address that. There is certainly not reason that libmongoc could not implement this.
I would propose changing the spec to MUST unless there is a legitimate reason to keep SHOULD.
|