@@ -64,7 +64,8 @@ string error labels. Drivers may also add error labels to errors that they retur
64
64
65
65
#### Transient Transaction Error
66
66
67
- Any command or network error that includes the "TransientTransactionError" error label in the "errorLabels" field.
67
+ Any command, network, or driver error that includes the "TransientTransactionError" error label in the "errorLabels"
68
+ field.
68
69
69
70
### ** Naming variations**
70
71
@@ -673,12 +674,13 @@ string error labels.
673
674
674
675
### Transient Transaction Error
675
676
676
- Any command error that includes the "TransientTransactionError" error label in the "errorLabels" field. Any network
677
- error or server selection error encountered running any command besides commitTransaction in a transaction. In the case
678
- of command errors, the server adds the label; in the case of network errors or server selection errors where the client
679
- receives no server reply, the client MUST add the label. If a network error occurs while running the commitTransaction
680
- command then it is not known whether the transaction committed or not, and thus the "TransientTransactionError" label
681
- MUST NOT be added.
677
+ - Any command error that includes the "TransientTransactionError" error label in the "errorLabels" field. In the case of
678
+ command errors, the server adds the label.
679
+ - Any network error or server selection error encountered running any command besides commitTransaction in a
680
+ transaction. In the case of network errors or server selection errors where the client receives no server reply, the
681
+ client MUST add the label. If a network error occurs while running the commitTransaction command then it is not
682
+ known whether the transaction committed or not, and thus the "TransientTransactionError" label MUST NOT be added.
683
+ - ` PoolClearedError ` . Driver MUST add the label to this error.
682
684
683
685
#### Retrying transactions that fail with TransientTransactionError
684
686
@@ -1071,7 +1073,7 @@ objective of avoiding duplicate commits.
1071
1073
1072
1074
## ** Changelog**
1073
1075
1074
- - 2024-10-28 : Clarify when drivers must add TransientTransactionError label.
1076
+ - 2024-10-31 : Clarify when drivers must add TransientTransactionError label.
1075
1077
1076
1078
- 2024-10-28: Note read preference must always be primary in a transaction.
1077
1079
0 commit comments