IFR: stamp ifrSenderVersion on outgoing aggregate-to-shard requests

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc1
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Integration
    • Fully Compatible
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Set ifrSenderVersion on outgoing aggregate commands dispatched to shards in addIfrFlagsToRequest, with the correct semantics:* A router (pure mongos) should stamp its own FCV string so downstream shards know the router's version.

      • A shard that received ifrFlags from a router should forward the ifrSenderVersion it received rather than substituting its own, to avoid confusing the downstream shard's resolution logic.

      The field is already declared in generic_argument.idl with forward_to_shards: true and ifrSenderVersion is already preserved through serializeForPassthrough in cluster_aggregate.cpp. The remaining work is to call request.setIfrSenderVersion(...) inside addIfrFlagsToRequest (src/mongo/db/pipeline/aggregation_request_helper.cpp) conditioned on whether the local IFRContext was wire-installed.

            Assignee:
            Charlie Swanson
            Reporter:
            Mickey Winters
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: