Perform shard version check only after translating timeseries namespace in findAndModify explain

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • Fully Compatible
    • ALL
    • CAR Team 2026-01-19, CAR Team 2026-02-02
    • 200
    • 🟩 Routing and Topology
    • None
    • None
    • None
    • None
    • None
    • None

      This bug only affect multiversion scenarios where a router with an older version not including the fix for SERVER-113997 send a findAndModify explain command over a timeeries collection to a shard on a newer version including  SERVER-115648.

      The results is that the shard versioning protocol between the 2 ndoes will never converge and a StaleConfig info will be propagated to the drirver.

      The reason is that the router is on an older binary (8.2.2 ) affected by SERVER-113997. Thus, it sends the findAndModify explain command on the main timeseries namespace but attaching the version of the underlying system buckets collection.

      On the other side the shard in on newer binary that includes SERVER-115648, thus it will perform shard version check on the mian timeseries namespace before to perform view to buckets namespace translation. So it will compare the version received by the router, that is the one from the buckets collection with the version of the timeseries view  (view have always version UNSHARDED).
      Then the shard will throw StaleConfig, but the router will refresh cache and retry the operation, doing always the same mistake. The shard version protocol will never converge, and the StaleConfig error is bubbled up to the driver. 

      The bug will not happen if both the mongos and the mongod are:
       - In a binary that does not include  SERVER-115648
       - Includes both  SERVER-115648 and the fix for SERVER-113997

            Assignee:
            Tommaso Tocci
            Reporter:
            Tommaso Tocci
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: