1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
'use strict';
/**
* Tests periodically killing sessions that are running transactions.
*
* @tags: [uses_transactions, assumes_snapshot_transactions, kills_random_sessions]
*/
load('jstests/concurrency/fsm_libs/extend_workload.js'); // for extendWorkload
load('jstests/concurrency/fsm_workload_helpers/kill_session.js'); // for killSession
load('jstests/concurrency/fsm_workloads/multi_statement_transaction_atomicity_isolation.js');
var $config = extendWorkload($config, ($config, $super) => {
$config.data.retryOnKilledSession = true;
$config.states.killSession = killSession;
$config.transitions = {
init: {update: 0.9, checkConsistency: 0.1},
update: {update: 0.8, checkConsistency: 0.1, killSession: 0.1},
checkConsistency: {update: 0.9, killSession: 0.1},
killSession: {update: 0.8, checkConsistency: 0.1, causalRead: 0.1},
causalRead: {update: 0.9, killSession: 0.1},
};
return $config;
});
|