-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Testing Infrastructure
-
None
-
Replication
-
Fully Compatible
-
Repl 2024-01-08, Repl 2024-01-22, Repl 2024-09-16, Repl 2024-09-30, Repl 2024-10-28, Repl 2024-11-11
-
200
The evergreen/antithesis_image_build_and_push.sh script runs a sanity check to verify a test run by resmoke against a Docker Compose spawned MongoDB cluster will succeed. For concurrency tests which use $config.passConnectionCache === true this involves using ReplSetTest to dynamically discover all of the shards and all of the replica set members within the shards.
ReplSetTest#getURL() returns a connection string based which relies on the ReplSetTest#host property. However the ReplSetTest#host property is arbitrarily assigned to be the hostname of the first node in the replica set configuration.
ReplSetTest.prototype.getURL = function() { var hosts = []; for (var i = 0; i < this.ports.length; i++) { hosts.push(this.host + ":" + this.ports[i]); } return this.name + "/" + hosts.join(","); };
We should introduce a mechanism to enable FSMShardingTest to receive a connection string from a ReplSetTest object which preserves the hostnames of the individual cluster members.