Unify different types of stale routing errors in collection_routing_info_targeter.cpp

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • CAR Team 2026-03-16
    • 0
    • 🟩 Routing and Topology
    • None
    • None
    • None
    • None
    • None
    • None

      Currently CollectionRoutingInfoTargeter remembers a response error in _lastError and assumes that there could be only one type of error, which is controlled via dassert. It's possible that different shards can send different types of errors (StaleConfigInfo, 
      StaleDbRoutingVersion).  If the error types are processed in order, like in src/mongo/s/write_ops/bulk_write_exec.cpp, it can come to the 
      CollectionRoutingInfoTargeter::noteStaleDbVersionResponse after processing of noteStaleCollVersionResponse and dassert throws. StaleShardVersion and StaleDbVersion errors are handled in the same way and can be unified to one StaleRouting type.

            Assignee:
            Igor Praznik
            Reporter:
            Igor Praznik
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: