-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
🟩 Routing and Topology
-
None
-
None
-
None
-
None
-
None
-
None
Implement upgrade-time logic to strip any unknown fields from persisted cluster parameters that may have been written by older MongoDB versions while their IDL parsers were non-strict.
This is part of the broader effort to safely enable strict parsing for all cluster parameters in order to avoid bugs like SERVER-117009 and SERVER-116411. ** This broader effort involves:
- Rejecting unknown fields at the setClusterParameter entry point (addressed by
SERVER-117009) - Stripping unknown fields during upgrade (this Jira).
- Eventually enabling strict parsing on all cluster parameters and removing temporary compatibility logic once v9.0 branches out.
The work in this ticket should:
- Detect persisted cluster parameter documents containing fields that are no longer recognized under strict parsing.
- Remove those unknown fields as part of the upgrade process, so that post-upgrade binaries only see validated/known fields.
Additional context
After initially enabling strict parsing for all cluster parameters in a previous change (83d9829), we discovered that clusters could crash after upgrade if an unknown field (set while running an earlier, non-strict binary) was still present in the persisted cluster parameter state.
That change was therefore reverted.
To safely re-enable strict parsing we must ensure that no legacy, unknown fields survive across the upgrade boundary.
- is related to
-
SERVER-116411 [v8.0] Setting cluster parameter 'fleCompactionOptions' in mixed binary scenarios may last forever when setting an unknown field
-
- Blocked
-
-
SERVER-117009 setClusterParameter silently resets to default when misspelling non-strict cluster parameter fields
-
- Closed
-
- related to
-
SERVER-118758 Enable strict parsing for all cluster parameters once 9.0 branches out
-
- Backlog
-