summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Wahlin <james@mongodb.com>2019-02-04 10:41:18 -0500
committerJames Wahlin <james@mongodb.com>2019-02-04 10:41:18 -0500
commit683afc244ee5104372190d29c6905a868cb6a78d (patch)
tree2599af9d1c88aa80d1ddace1ca4f5ffacb04685c
parentd8ce0ff66cd3d3ca44cb029f80c68acaf9172722 (diff)
downloadmongo-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.js10
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'}));
};
/**