Details
Description
Courtesy of max.hirschhorn,
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); |
This would catch future JS test additions that can lead to BFs – these operations directly against the config primary, rather than via the mongos, are currently not retriable.
Attachments
Issue Links
- is related to
-
SERVER-28351 blacklist move_stale_mongos.js and split_stale_mongos.js from the continuous stepdown suite
-
- Closed
-