Details
-
Bug
-
Status: Closed
-
Major - P3
-
Resolution: Fixed
-
3.7.2
-
None
-
None
Description
The 4.0 transaction spec says:
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 topology type is Sharded
However, pymongo never implemented this check. When 3.7.2 runs a transaction against MongoDB 4.2, it will get an error like this on the first command that goes to a new mongos:
{
|
'ok': 0.0,
|
'errmsg': 'cannot continue txnId -1 for session ... with txnId 1',
|
'code': 251,
|
'codeName': 'NoSuchTransaction',
|
'errorLabels': ['TransientTransactionError']
|
}
|
Attachments
Issue Links
- is depended on by
-
DRIVERS-624 Ensure 4.0 drivers return an error when attempting sharded transactions on 4.2
-
- Implementing
-
- is related to
-
JAVA-3240 No exception thrown when attempting sharded transactions on 4.2
-
- Closed
-