diff --git a/jstests/libs/override_methods/sharding_continuous_config_stepdown.js b/jstests/libs/override_methods/sharding_continuous_config_stepdown.js
|
index 638dc8b..7d3039e 100644
|
--- a/jstests/libs/override_methods/sharding_continuous_config_stepdown.js
|
+++ b/jstests/libs/override_methods/sharding_continuous_config_stepdown.js
|
@@ -251,6 +251,29 @@ tracking: {verbosity: 0} }";
|
|
// Start the continuous config server stepdown thread
|
this.configRS.startContinuousFailover();
|
+
|
+ // We override the functions on Mongo.prototype that send data over the wire to prevent a
|
+ // test from running a command directly against the config servers and causing a spurious
|
+ // network error if it coincided with a stepdown.
|
+ this.configRS.nodes.forEach(function overrideConnectionMethods(node) {
|
+ var methodsToOverride = [
|
+ "find",
|
+ "insert",
|
+ "remove",
|
+ "runCommand",
|
+ "runCommandWithMetadata",
|
+ "update",
|
+ ];
|
+
|
+ methodsToOverride.forEach(function overrideMethod(name) {
|
+ node[name] = function throwError() {
|
+ throw new Error(
|
+ "Cowardly refusing to talk directly to the config servers while running" +
|
+ " with the sharding_continuous_config_stepdown.js override enabled since" +
|
+ " it may lead to a spurious network error.");
|
+ };
|
+ });
|
+ });
|
};
|
|
Object.extend(ShardingTest, originalShardingTest);
|