-
Type:
Task
-
Resolution: Done
-
Priority:
Major - P3
-
None
-
Affects Version/s: 8.3.0-rc0
-
Component/s: None
-
Catalog and Routing
-
Fully Compatible
-
CAR Team 2026-07-20, CAR Team 2026-08-03
-
🟥 DDL
-
None
-
None
-
None
-
None
-
None
-
None
Context: To avoid persisting metadata consistently, all feature flag checks inside ShardingDDLCoordinators must keep the same results through the execution of the DDL. We do this via OperationFCV (versionContext): We snapshot the FCV once at the beginning, persist it in the coordinator document, and propagate it to the phases and the participant commands.
Problem: It's somewhat common that ShardingDDLCoordinator phases and participants, create a new OperationContext via AlternativeClientRegion (example). This new OperationContext won't keep the OperationFCV (SERVER-108921), so it will check feature flags against the global ServerFCV which may have already transitioned and thus see different feature flags. SERVER-118777 is an example of a bug caused by this.
Proposal: Investigate current usages of AlternativeClientRegion in ShardingDDLCoordinator to confirm they don't check feature flags. If they do, we should propagate the OFCV (similar to the fix for SERVER-118777).
- is related to
-
SERVER-118777 Race condition between timeseries upgrade/downgrade coordinator and setFCV causes tassert during feature flag check
-
- Closed
-
-
SERVER-108921 Consider propagating the version context to alternative client/opCtx
-
- Needs Scheduling
-
- related to
-
SERVER-131812 Propagate pinned FCV (OFCV) when MoveRange/chunk-op coordinators send commands to recipient shards
-
- Needs Scheduling
-
-
SERVER-131813 Propagate OFCV to participant-command ACR opCtxs so writes' oplog entries carry versionContext
-
- Needs Scheduling
-
-
SERVER-131814 Propagate OFCV in runTransactionOnShardingCatalog ACR to re-pin config-catalog transactions
-
- Needs Scheduling
-