Details
-
Bug
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
Fully Compatible
-
ALL
-
v4.0
-
TIG 2018-06-18
Description
The Concurrency workloads which test transactions, should use an auto retry for both reads and writes:
- jstests/concurrency/fsm_workloads/multi_statement_transaction_atomicity_isolation.js
- jstests/concurrency/fsm_workloads/multi_statement_transaction_simple.js
The current function withTxnAndAutoRetryOnWriteConflict should be renamed to withTxnAndAutoRetry and only handle Transiet errors:
try {
|
func();
|
|
|
// commitTransaction() calls assert.commandWorked(), which may fail with a
|
// WriteConflict error response. We therefore suppress its doassert() output.
|
quietly(() => session.commitTransaction());
|
} catch (e) {
|
if (!e.hasOwnProperty('errorLabels') ||
|
!e.errorLabels.includes('TransientTransactionError')) {
|
throw e;
|
}
|
...
|
}
|
Attachments
Issue Links
- is depended on by
-
SERVER-34826 Write targeted FSM workload for read repeatability in transactions
-
- Closed
-