diff options
Diffstat (limited to 'jstests/concurrency/fsm_workloads/update_multifield_isolated_multiupdate.js')
-rw-r--r-- | jstests/concurrency/fsm_workloads/update_multifield_isolated_multiupdate.js | 52 |
1 files changed, 27 insertions, 25 deletions
diff --git a/jstests/concurrency/fsm_workloads/update_multifield_isolated_multiupdate.js b/jstests/concurrency/fsm_workloads/update_multifield_isolated_multiupdate.js index 8c3f6704231..a8debf271e7 100644 --- a/jstests/concurrency/fsm_workloads/update_multifield_isolated_multiupdate.js +++ b/jstests/concurrency/fsm_workloads/update_multifield_isolated_multiupdate.js @@ -6,33 +6,35 @@ * Does updates that affect multiple fields on multiple documents, using $isolated. * The collection has an index for each field, and a multikey index for all fields. */ -load('jstests/concurrency/fsm_libs/extend_workload.js'); // for extendWorkload -load('jstests/concurrency/fsm_workloads/update_multifield.js'); // for $config +load('jstests/concurrency/fsm_libs/extend_workload.js'); // for extendWorkload +load('jstests/concurrency/fsm_workloads/update_multifield.js'); // for $config -var $config = extendWorkload($config, function($config, $super) { +var $config = + extendWorkload($config, + function($config, $super) { - $config.data.multi = true; - $config.data.isolated = true; + $config.data.multi = true; + $config.data.isolated = true; - $config.data.assertResult = function assertResult(res, db, collName, query) { - assertAlways.eq(0, res.nUpserted, tojson(res)); - // documents can't move during an update, because we use $isolated - assertWhenOwnColl.eq(this.numDocs, res.nMatched, tojson(res)); - if (db.getMongo().writeMode() === 'commands') { - assertWhenOwnColl.eq(this.numDocs, res.nModified, tojson(res)); - } + $config.data.assertResult = function assertResult(res, db, collName, query) { + assertAlways.eq(0, res.nUpserted, tojson(res)); + // documents can't move during an update, because we use $isolated + assertWhenOwnColl.eq(this.numDocs, res.nMatched, tojson(res)); + if (db.getMongo().writeMode() === 'commands') { + assertWhenOwnColl.eq(this.numDocs, res.nModified, tojson(res)); + } - // every thread only increments z, and z starts at 0, - // so z should always be strictly greater than 0 after an update, - // even if other threads modify the doc. - var docs = db[collName].find().toArray(); - assertWhenOwnColl(function() { - docs.forEach(function(doc) { - assertWhenOwnColl.eq('number', typeof doc.z); - assertWhenOwnColl.gt(doc.z, 0); - }); - }); - }; + // every thread only increments z, and z starts at 0, + // so z should always be strictly greater than 0 after an update, + // even if other threads modify the doc. + var docs = db[collName].find().toArray(); + assertWhenOwnColl(function() { + docs.forEach(function(doc) { + assertWhenOwnColl.eq('number', typeof doc.z); + assertWhenOwnColl.gt(doc.z, 0); + }); + }); + }; - return $config; -}); + return $config; + }); |