Explain on write operations does not properly translate timeseries namespaces

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: 7.0.0, 8.0.0
    • Component/s: None
    • Catalog and Routing
    • ALL
    • 🟩 Routing and Topology
    • None
    • None
    • None
    • None
    • None
    • None

      In cluster_write_cmd.cpp, the explain path does not translate timeseries namespaces causing a mismatch between the namespace in the command and the version attached to the command for sharded timeseries collections. This can prevent a stale mongos from invalidating the correct namespace and thus exhaust its retries and bubble up staleConfig to the user.

      Here, we get the endpoints via a CollectionRoutingInfoTargeter which internally will translate the namespace correctly, thus giving us the shard versions for the bucket namespace but here we pass the original command without translating the namespace.

      Note that this issue only affects explain, the actual write ops use the namespace from the CollectionRoutingInfoTargeter and thus translate namespaces correctly.

            Assignee:
            Unassigned
            Reporter:
            Allison Easton
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: