diff options
author | James Wahlin <james@mongodb.com> | 2019-02-04 10:41:18 -0500 |
---|---|---|
committer | James Wahlin <james@mongodb.com> | 2019-02-04 10:41:18 -0500 |
commit | 683afc244ee5104372190d29c6905a868cb6a78d (patch) | |
tree | 2599af9d1c88aa80d1ddace1ca4f5ffacb04685c | |
parent | d8ce0ff66cd3d3ca44cb029f80c68acaf9172722 (diff) | |
download | mongo-683afc244ee5104372190d29c6905a868cb6a78d.tar.gz |
SERVER-38387 agg_out.js concurrency workload always fails to shard the output collection
(cherry picked from commit 9ed4ddae8b3c2aa7f876bdbfce00523c2b2a118c)
SERVER-39081 Fix createIndexes/shardCollection race condition in agg_out.js
(cherry picked from commit aad17aeba520f5c421716cb2d740057be96ce61a)
-rw-r--r-- | jstests/concurrency/fsm_workloads/agg_out.js | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/jstests/concurrency/fsm_workloads/agg_out.js b/jstests/concurrency/fsm_workloads/agg_out.js index 71452161627..03dcecfac7a 100644 --- a/jstests/concurrency/fsm_workloads/agg_out.js +++ b/jstests/concurrency/fsm_workloads/agg_out.js @@ -135,9 +135,9 @@ var $config = extendWorkload($config, function($config, $super) { $config.states.shardCollection = function shardCollection(unusedDB, unusedCollName) { const db = unusedDB.getSiblingDB(this.dbName); if (isMongos(db)) { - db.adminCommand({enableSharding: db.getName()}); - db.adminCommand( - {shardCollection: db[this.outputCollName].getFullName(), key: {_id: 'hashed'}}); + assertWhenOwnDB.commandWorked(db.adminCommand({enableSharding: db.getName()})); + assertWhenOwnDB.commandWorked(db.adminCommand( + {shardCollection: db[this.outputCollName].getFullName(), key: {_id: 'hashed'}})); } }; @@ -147,6 +147,10 @@ var $config = extendWorkload($config, function($config, $super) { $config.setup = function setup(unusedDB, collName, cluster) { const db = unusedDB.getSiblingDB(this.dbName); $super.setup.apply(this, [db, collName, cluster]); + + // `shardCollection()` requires a shard key index to be in place on the output collection, + // as we may be sharding a non-empty collection. + assertWhenOwnDB.commandWorked(db[this.outputCollName].createIndex({_id: 'hashed'})); }; /** |