-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Major - P3
-
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
- Create a cluster, generate FSM commands, execute all commands via Writer (same as existing FSM tests)
- Read change stream events in strict mode (control)
- Read change stream events with {{
{version: "v2", ignoreRemovedShards: true}
}} (experiment)
- Assert the two event sequences are identical
No shards are removed. The cluster remains fully intact throughout the test.