31 lines
1.2 KiB
JavaScript
31 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
/**
|
|
* findAndModify_update_queue_unindexed.js
|
|
*
|
|
* This is the same workload as findAndModify_update_queue.js, but without the relevant index.
|
|
*
|
|
* The lack of an index that could satisfy the sort forces the findAndModify operations to scan all
|
|
* the matching documents in order to find the relevant document. This increases the amount of work
|
|
* each findAndModify operation has to do before getting to the matching document, and thus
|
|
* increases the chance of a write conflict because each concurrent findAndModify operation is
|
|
* trying to update the same document from the queue.
|
|
*
|
|
* This workload was designed to reproduce SERVER-21434.
|
|
*/
|
|
load('jstests/concurrency/fsm_libs/extend_workload.js'); // for extendWorkload
|
|
load('jstests/concurrency/fsm_workloads/findAndModify_update_queue.js'); // for $config
|
|
|
|
var $config = extendWorkload($config, function($config, $super) {
|
|
|
|
// Use the workload name as the database name, since the workload
|
|
// name is assumed to be unique.
|
|
$config.data.uniqueDBName = 'findAndModify_update_queue_unindexed';
|
|
|
|
$config.data.getIndexSpecs = function getIndexSpecs() {
|
|
return [];
|
|
};
|
|
|
|
return $config;
|
|
});
|