• Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Server Security
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Summary

      DisaggReplSetBuilder.build_fixture currently rejects KMIP mode combined with multiversion binaries. Remove that guard so a disagg suite can run kmip: true against mixed binary versions.

      Why the guard exists

      In KMIP mode the fixture injects the initialDisaggESECMKIdentifierList startup server parameter into every mongod. SERVER-128138 renamed that parameter from disaggESECMKIdentifierList. A current binary accepts either name (the IDL carries deprecated_name: disaggESECMKIdentifierList), but a pre-rename binary knows only the old name and rejects the new one at startup. In a mixed-version fixture the old binary would fail to start, so SERVER-134468 rejected the combination up front with an explicit error rather than letting it surface as a confusing startup failure.

      Unblocking condition

      This is unblocked once every multiversion baseline the disagg suites run against ships the renamed parameter.

      The rename landed on master in fc0b00afa88 (SERVER-128138, PR #56157) on 2026-06-22. An earlier attempt (PR #55659, 2026-06-12) was reverted by PR #56001 on 2026-06-15, so only the 2026-06-22 commit counts.

      The first release series to contain it is 9.0. Verified by commit ancestry against release tags:

      • r9.0.0 - has the rename
      • r9.0.1 - has the rename
      • r9.1.0-rc1021 - has the rename
      • r8.3.0, and every earlier 8.x tag - does not have the rename

      So the condition is: blocked until the 9.0 release, because 9.0 is the first release whose binaries accept initialDisaggESECMKIdentifierList.

      Status: that condition already appears satisfied

      On master as of 2026-09-03 the multiversion baselines resolve to:

      • LAST_LTS_FCV = 9.0 (9.0 is an LTS release and is GA - r9.0.0 and r9.0.1 are tagged)
      • LAST_CONTINUOUS_FCV = 9.0
      • last_patch = 9.1.0-rc1021

      All three carry the renamed parameter, so the parameter-name blocker is cleared as of the 9.0 release. Only 8.3 and earlier lack it, and master does not use those as multiversion baselines. The guard added in SERVER-134468 is therefore conservative rather than currently necessary, and this ticket is mostly verification plus removal.

      Work

      1. Remove the kmip_in_use and is_multiversion guard in DisaggReplSetBuilder.build_fixture (buildscripts/modules/atlas/fixtures/disagg_replica_set.py), along with the TODO comment pointing at this ticket and the unit tests asserting the rejection in buildscripts/modules/atlas/tests/test_disagg_kmip_fixture.py.
      2. Confirm a multiversion disagg suite actually starts and passes with kmip: true. The parameter name was the known blocker, but it is not proof that 9.0 binaries support disagg KMIP end to end - feature flags, KEK rotation support and FCV gating still need checking.
      3. If a real incompatibility remains, replace the blanket guard with one keyed on the specific unsupported baseline rather than on "multiversion" in general.

      Related

      • SERVER-134468 - added KMIP mode to the fixture, and the guard this ticket removes
      • SERVER-128138 - the parameter rename

            Assignee:
            Unassigned
            Reporter:
            Gabriel Marks
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: