summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcos José Grillo Ramírez <marcos.grillo@mongodb.com>2020-07-09 18:23:22 +0200
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-07-17 11:43:50 +0000
commit5ed7de1446262088dfa8ea420a7d9af4d92ceed7 (patch)
tree6443e7cbc3e4674ab7dc25221317024921407f31
parent8d6112714189fdb6c652ad06a9496c5ade6c0cdc (diff)
downloadmongo-5ed7de1446262088dfa8ea420a7d9af4d92ceed7.tar.gz
SERVER-49311 Prevent the PeriodicShardedIndexConsistencyChecker cause failures on tests that require no metadata refresh to be performed until needed
-rw-r--r--jstests/sharding/change_streams_primary_shard_unaware.js12
-rw-r--r--jstests/sharding/index_commands_shard_targeting.js11
-rw-r--r--jstests/sharding/list_indexes_shard_targeting.js13
-rw-r--r--jstests/sharding/query/lookup_mongod_unaware.js16
-rw-r--r--jstests/sharding/stale_mongos_and_restarted_shards_agree_on_shard_version.js8
5 files changed, 34 insertions, 26 deletions
diff --git a/jstests/sharding/change_streams_primary_shard_unaware.js b/jstests/sharding/change_streams_primary_shard_unaware.js
index 79829362794..f7f9420db34 100644
--- a/jstests/sharding/change_streams_primary_shard_unaware.js
+++ b/jstests/sharding/change_streams_primary_shard_unaware.js
@@ -28,6 +28,12 @@ function isShardAware(shard, coll) {
return res.metadata.collVersion != undefined;
}
+// Disable checking for index consistency to ensure that the config server doesn't trigger a
+// StaleShardVersion exception on shard0 and cause it to refresh its sharding metadata.
+const nodeOptions = {
+ setParameter: {enableShardedIndexConsistencyCheck: false}
+};
+
const testName = "change_streams_primary_shard_unaware";
const st = new ShardingTest({
shards: 2,
@@ -37,13 +43,9 @@ const st = new ShardingTest({
// Use a higher frequency for periodic noops to speed up the test.
setParameter: {periodicNoopIntervalSecs: 1, writePeriodicNoops: true},
},
+ other: {configOptions: nodeOptions}
});
-// Disable checking for index consistency to ensure that the config server doesn't trigger a
-// StaleShardVersion exception on shard0 and cause it to refresh its sharding metadata.
-st._configServers.forEach(
- config => config.adminCommand({setParameter: 1, enableShardedIndexConsistencyCheck: false}));
-
const mongosDB = st.s0.getDB(testName);
// Ensure that shard0 is the primary shard.
diff --git a/jstests/sharding/index_commands_shard_targeting.js b/jstests/sharding/index_commands_shard_targeting.js
index 3f588e941bf..271dc6fdbdb 100644
--- a/jstests/sharding/index_commands_shard_targeting.js
+++ b/jstests/sharding/index_commands_shard_targeting.js
@@ -103,13 +103,14 @@ function assertCommandBlocksIfCriticalSectionInProgress(
joinMoveChunk();
}
-const numShards = 3;
-const st = new ShardingTest({shards: numShards});
-
// Disable checking for index consistency to ensure that the config server doesn't trigger a
// StaleShardVersion exception on shards and cause them to refresh their sharding metadata.
-st._configServers.forEach(
- config => config.adminCommand({setParameter: 1, enableShardedIndexConsistencyCheck: false}));
+const nodeOptions = {
+ setParameter: {enableShardedIndexConsistencyCheck: false}
+};
+
+const numShards = 3;
+const st = new ShardingTest({shards: numShards, other: {configOptions: nodeOptions}});
const allShards = [];
for (let i = 0; i < numShards; i++) {
diff --git a/jstests/sharding/list_indexes_shard_targeting.js b/jstests/sharding/list_indexes_shard_targeting.js
index 6914d8694d1..a5cd09efdf9 100644
--- a/jstests/sharding/list_indexes_shard_targeting.js
+++ b/jstests/sharding/list_indexes_shard_targeting.js
@@ -12,16 +12,17 @@ load("jstests/libs/fail_point_util.js");
// This test makes shards have inconsistent indexes.
TestData.skipCheckingIndexesConsistentAcrossCluster = true;
-const st = new ShardingTest({shards: 3});
+// Disable checking for index consistency to ensure that the config server doesn't trigger a
+// StaleShardVersion exception on shards and cause them to refresh their sharding metadata.
+const nodeOptions = {
+ setParameter: {enableShardedIndexConsistencyCheck: false}
+};
+
+const st = new ShardingTest({shards: 3, other: {configOptions: nodeOptions}});
const dbName = "test";
const collName = "user";
const ns = dbName + "." + collName;
-// Disable checking for index consistency to ensure that the config server doesn't trigger a
-// StaleShardVersion exception on shards and cause them to refresh their sharding metadata.
-st._configServers.forEach(
- config => config.adminCommand({setParameter: 1, enableShardedIndexConsistencyCheck: false}));
-
assert.commandWorked(st.s.adminCommand({enableSharding: dbName}));
st.ensurePrimaryShard(dbName, st.shard0.shardName);
diff --git a/jstests/sharding/query/lookup_mongod_unaware.js b/jstests/sharding/query/lookup_mongod_unaware.js
index 290d074ee47..04b127f5443 100644
--- a/jstests/sharding/query/lookup_mongod_unaware.js
+++ b/jstests/sharding/query/lookup_mongod_unaware.js
@@ -39,17 +39,15 @@ function restartPrimaryShard(rs, localColl, foreignColl) {
true);
}
-const testName = "lookup_stale_mongod";
-const st = new ShardingTest({
- shards: 2,
- mongos: 2,
- rs: {nodes: 1},
-});
-
// Disable checking for index consistency to ensure that the config server doesn't trigger a
// StaleShardVersion exception on shard0 and cause it to refresh its sharding metadata.
-st._configServers.forEach(
- config => config.adminCommand({setParameter: 1, enableShardedIndexConsistencyCheck: false}));
+const nodeOptions = {
+ setParameter: {enableShardedIndexConsistencyCheck: false}
+};
+
+const testName = "lookup_stale_mongod";
+const st =
+ new ShardingTest({shards: 2, mongos: 2, rs: {nodes: 1}, other: {configOptions: nodeOptions}});
// Set the parameter allowing sharded $lookup on all nodes.
setParameterOnAllHosts(DiscoverTopology.findNonConfigNodes(st.s0).concat([st.s1.host]),
diff --git a/jstests/sharding/stale_mongos_and_restarted_shards_agree_on_shard_version.js b/jstests/sharding/stale_mongos_and_restarted_shards_agree_on_shard_version.js
index 986d0407590..f1c473e372d 100644
--- a/jstests/sharding/stale_mongos_and_restarted_shards_agree_on_shard_version.js
+++ b/jstests/sharding/stale_mongos_and_restarted_shards_agree_on_shard_version.js
@@ -16,7 +16,13 @@
load('jstests/libs/parallel_shell_helpers.js');
load('jstests/libs/fail_point_util.js');
-const st = new ShardingTest({shards: 2, mongos: 2});
+// Disable checking for index consistency to ensure that the config server doesn't trigger a
+// StaleShardVersion exception on the shards and cause them to refresh theirsharding metadata.
+const nodeOptions = {
+ setParameter: {enableShardedIndexConsistencyCheck: false}
+};
+
+const st = new ShardingTest({shards: 2, mongos: 2, other: {configOptions: nodeOptions}});
// Used to get the shard destination ids for the moveChunks commands
const shard0Name = st.shard0.shardName;