During mixed_version_replica_set.js, the wrong version binary is supplied

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc0
    • 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.

       

       

       

            Assignee:
            Alex Li
            Reporter:
            Alex Li
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: