Develop black-box change stream tests for ignoreRemovedShards mode (no shard removal)

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • Fully Compatible
    • QE 2026-03-30, QE 2026-03-16, QE 2026-04-13
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Summary

      Add a pairwise FSM test that verifies strict mode and ignoreRemovedShards mode produce identical change event sequences when no shards are removed. This validates that the ignoreRemovedShards cursor parameter does not alter behavior in the non-degraded case.

      Background

      The ignoreRemovedShards mode changes how the change stream reader handles missing shards (silently skips events instead of failing). However, when all shards are present, the mode should be transparent, the returned events must be identical to strict mode.

      This is analogous to the existing v1 vs v2 comparison test (test_change_stream_sharding_fsm_v1_v2.js), which reads the same event stream through two different code paths and asserts identical output.

      Test Strategy

      1. Create a cluster, generate FSM commands, execute all commands via Writer (same as existing FSM tests)
      2. Read change stream events in strict mode (control)
      3. Read change stream events with {{ {version: "v2", ignoreRemovedShards: true}

        }} (experiment)

      4. Assert the two event sequences are identical

      No shards are removed. The cluster remains fully intact throughout the test.

            Assignee:
            Nicola Cabiddu
            Reporter:
            Denis Grebennicov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: