Propagate pinned FCV (OFCV) when MoveRange/chunk-op coordinators send commands to recipient shards

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • 🟥 DDL
    • None
    • None
    • None
    • None
    • None
    • None

      Spawned from SERVER-119697 (finding 1 in the CAR investigation).

      Problem

      MoveRangeCoordinators (and, more broadly, the chunk-operation coordinators that recently became coordinators as part of AuthShards) pin the FCV at the beginning of execution like any other coordinator. However, when they send commands to the recipient shards via an AlternativeClientRegion, they do not propagate the pinned FCV / VersionContext.

      Example: move_range_coordinator.cpp sends startClone(), enterCriticalSection(), and commitChunkOnRecipient() without forwarding the pinned FCV:
      https://github.com/10gen/mongo/blob/93388c59d7a0981dc04ee7c6414179e7a03bc0d9/src/mongo/db/s/move_range_coordinator.cpp#L338-L343

      Notes from discussion

      Per the discussion on SERVER-119697: chunk ops historically did not use OFCV and only recently became coordinators (AuthShards). This is likely a non-trivial amount of work and there may be gotchas/concerns, so it was agreed to track it in a separate ticket rather than folding it into the parent investigation.

      Scope

      • Confirm whether MoveRange/chunk-op coordinators are in scope for OFCV propagation.
      • If so, propagate the pinned FCV/VersionContext to the recipient-shard commands.

            Assignee:
            Unassigned
            Reporter:
            Vishesh Ruparelia
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: