|
on certain types of error. It currently retries on interrupt type errors:
https://github.com/mongodb/mongo/blob/a144ad58c9781602e99941fe627eceed8e7bc8bb/jstests/concurrency/fsm_workload_helpers/auto_retry_transaction.js#L71
and gives up when error doesn't have the transient transaction error label:
https://github.com/mongodb/mongo/blob/a144ad58c9781602e99941fe627eceed8e7bc8bb/jstests/concurrency/fsm_workload_helpers/auto_retry_transaction.js#L41
The code comment appears to contradict with the specs:
Any network error encountered running any command other than commitTransaction in a transaction. If a network error occurs while running the commitTransaction command then it is not known whether the transaction committed or not, and thus the "TransientTransactionError" label MUST NOT be added.
|