-
Type:
Task
-
Resolution: Duplicate
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
🟩 Routing and Topology
-
None
-
None
-
None
-
None
-
None
-
None
We have recently identified multiple bugs caused by incorrect handling of cluster parameter changes during upgrade/downgrade flows, e.g. SERVER-117012. These issues tend to surface only when FCV changes and binaries are replaced, making them hard to catch with existing test coverage.
Â
Goal{}
Add a multi-version test that verifies that setClusterParameter behaves correctly for all cluster parameters across a full upgrade and downgrade cycle, including binary replacement.
Â
Scope & Requirements
- The test should:
-
- Enumerate all cluster parameters that exist in the binary under test.
-
- For each cluster parameter:
-
-
- Exercise setClusterParameter before, during (if applicable), and after upgrade/downgrade.
-
-
-
- Assert that parameter values are preserved or transformed correctly according to expected FCV and binary semantics.
-
-
-
- Verify that no unexpected fields appear in config.clusterParameters and that older binaries do not crash or reject the configuration.
-
- For cluster parameters that are structs, the test must verify all nested fields:
-
- Ensure each nested field can be set and read back correctly.
-
- Ensure new nested fields added in later versions are handled correctly when downgrading (e.g. removed or ignored as appropriate), and do not cause crashes or validation failures.
- We suggest using the multi-cluster test utilities in
jstests/multiVersion/libs/multi_cluster.js to orchestrate the upgrade/downgrade process.
- is related to
-
SERVER-117012 [v8.0] Enable backward compatibility for 'compactAnchorPaddingFactor' and 'maxAnchorCompactionSize' fields of fleCompactionOptions cluster parameter
-
- Needs Scheduling
-
-
SERVER-117116 Add multi-version test to validate cluster parameter behavior across upgrade/downgrade cycles
-
- Needs Scheduling
-