-
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
- 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.
- 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.
- 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