SERVER-120260 Ensure consistent failpoints even with the MultiShardedClusterFixture (#49501)

GitOrigin-RevId: a3207eddf8216d5b71acb8f3b4b4b1e9a3facabe
This commit is contained in:
Enrico Golfieri 2026-03-16 10:36:04 +01:00 committed by MongoDB Bot
parent 6aa33ecc5a
commit be81020482

View File

@ -132,10 +132,24 @@ export var kDefaultWaitForFailPointTimeout;
})();
export function configureFailPointForAllShardsAndMongos({conn, failPointName, data = {}, failPointMode}) {
for (const host of DiscoverTopology.findNonConfigNodes(db.getMongo())) {
const conn = new Mongo(host, undefined);
const isMultiShardedClusterFixture = TestData.isMultiShardedClusterFixture || false;
let rootConnections;
if (isMultiShardedClusterFixture) {
const clusterDocs = db.getMongo().getDB("config").multiShardedClusterFixture.find().sort({_id: 1}).toArray();
rootConnections = clusterDocs.map((doc) => new Mongo(doc.connectionString, undefined));
} else {
rootConnections = [db.getMongo()];
}
const hosts = rootConnections.flatMap((rootConn) => DiscoverTopology.findNonConfigNodes(rootConn));
for (const host of hosts) {
const hostConn = new Mongo(host, undefined);
assert.commandWorked(
conn.getDB("admin").runCommand({"configureFailPoint": failPointName, "mode": failPointMode, data: data}),
hostConn
.getDB("admin")
.runCommand({"configureFailPoint": failPointName, "mode": failPointMode, data: data}),
);
}
}