Skip to content

Commit 578bfd1

Browse files
committed
DOCSP-35201 edit for clarity, add list of functions
1 parent f638d05 commit 578bfd1

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

source/crud/transactions.txt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -315,14 +315,20 @@ transaction must be retried:
315315
an error.
316316

317317
If you are using the Core API to perform a transaction, you must implement the
318-
error-handling logic into your application. To do so, you must create separate
319-
functions within your application that explicitly retry transaction and commit
320-
operations when these errors are detected. To see an
321-
example of this retry logic, see the :manual:`Core API section
318+
error-handling logic into your application. To do so, you must create the following functions:
319+
320+
- A function that retries the entire transaction when the driver encounters a
321+
``TransientTransactionError``
322+
- A function that retries the commit operation when the driver encounters an
323+
``UnknownTransactionCommitResult``
324+
325+
These functions should continue to retry the operation until there is a
326+
successful commit or a different error. For an example of this retry
327+
logic, see the :manual:`Core API section
322328
</core/transactions-in-applications/#core-api>` on the Drivers API page in the
323329
Server manual.
324330

325331
The Convenient Transaction API incorporates retry logic for these error types,
326332
so the driver automatically retries the transaction until there is a successful
327333
commit. You do not have to explicitly declare functions for the API to retry
328-
transaction operations with these errors.
334+
transaction operations when the driver produces these errors.

0 commit comments

Comments
 (0)