Allow tagging Operation FCV to be propagated or not across shards

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: 8.3.0-rc0
    • Component/s: None
    • None
    • Catalog and Routing
    • CAR Team 2025-10-27
    • 🟩 Routing and Topology
    • None
    • None
    • None
    • None
    • None
    • None

      SERVER-99545 introduced Operation FCV (OFCV, VersionContext), an FCV snapshot to an operation.

      As initially introduced, an OFCV was always owned by a resilient distributed operation (ShardingDDLCoordinator), and was propagated across shards (SERVER-99557 / SERVER-99558).

       

      Now that we are extending OFCV to replica set operations (a local, non-persisted OperationContext), we must make sure not propagate it across shards. The issue is that if we allow a network command to carry an OFCV, and the local operations is killed (or wiped out on a crash), there is no longer any state for setFCV to serialize/draining that network command before proceeding to the metadata transformation/cleanup phase.

       

      Add an in-memory flag to VersionContext indicating whether it's safe to propagate it across shards. This flag is disabled by default, and only set if the VersionContext originates from ShardingDDLCoordinator.

            Assignee:
            Joan Bruguera Micó
            Reporter:
            Joan Bruguera Micó
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: