Enable strict parsing for all cluster parameters once 9.0 branches out

XMLWordPrintableJSON

    • 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

      Once the v9.0 branches out, enable strict IDL parsing for all cluster parameters and remove the temporary compatibility code introduced in the previous two steps of this effort (SERVER-117009 and SERVER-118757).

      This ticket should:

      • Turn on strict parsing for all remaining cluster parameters that are still using non-strict IDL parsers.
      • Remove any manual or ad‑hoc unknown-field checking logic that was added to bridge the gap before strict parsing could be safely enabled globally (introduced by SERVER-117009 ).
      • Remove any upgrade-only compatibility logic related to handling or stripping unknown fields, where it becomes redundant once strict parsing is enforced universally (introduced by SERVER-118757)
      • Ensure the behavior is consistent across replicaset and sharded cluster entry points and any shared helpers.

       

      Additional context

      We previously determined that enabling strict parsing on all cluster parameters without preparation could cause crashes after upgrade if older binaries had allowed unknown fields to be persisted.

      To avoid that, we broke the change into three steps:

      1. Reject new unknown fields at setClusterParameter to prevent more invalid state from being written (SERVER-117009).
      2. Strip any existing unknown fields during upgrade so that persisted state is clean before strict parsing is turned on (SERVER-118757).
      3. Finally, once v9.0 is branched, enable strict parsing on all cluster parameters and remove the temporary compatibility code (this Jira).

      Completing this third step:

      • Restores a single, consistent source of truth for cluster parameter validation in the IDL-generated parsers.
      • Simplifies the codebase by removing scattered compatibility checks and temporary upgrade-time logic.
      • Ensures that future changes to cluster parameter schemas are handled via the IDL, reducing the risk of bugs like SERVER-117009 or SERVER-116411.

            Assignee:
            Unassigned
            Reporter:
            Silvia Surroca
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: