-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Server Programmability
-
Fully Compatible
-
ALL
-
Programmability 2026-04-28, Programmability 2026-05-26
-
200
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Specifically, for the straight to 8 project and the enterprise rhel 8 variant, we see that when we iterate through
mixedBinVersions[i] == "old"
the expected bin version read (MongoRunner.getBinVersionFor(TestData.multiversionBinVersion)) does not match the binary's serverStatus()["version"].
In the linked BF, for binVersion = "old", we start a v9.0 binary when the expected version is v8.3.
Code trace
I believe we start the binary using ReplSetBuilder, which picks executables in fixtures/_builder.py (code link here):
old_mongod_version = {
config.MultiversionOptions.LAST_LTS: multiversionconstants.LAST_LTS_MONGOD_BINARY,
config.MultiversionOptions.LAST_CONTINUOUS: multiversionconstants.LAST_CONTINUOUS_MONGOD_BINARY,
}[old_bin_version]
These constants are supplied in multiversionconstants.py:
multiversion_service = MultiversionService( mongo_version=MongoVersion.from_yaml_file(_config.MONGO_VERSION_FILE), mongo_releases=MongoReleases.from_yaml_file(_config.RELEASES_FILE), ) version_constants = multiversion_service.calculate_version_constants() LAST_LTS_BIN_VERSION = version_constants.get_last_lts_fcv() ...
MONGO_VERSION_FILE and RELEASES_FILE seem to be supplied by multiversion/multiversion_service.py:
MONGO_VERSION_YAML = os.path.join(_config.RESMOKE_ROOT, ".resmoke_mongo_version.yml") RELEASES_YAML = os.path.join(_config.RESMOKE_ROOT, ".resmoke_mongo_release_values.yml")
I'm not entirely sure where the s8 project changes these things though.