The RoutingContext shouldn't be terminated at the router - it must only be finished after it has validated the routing table by sending a versioned request to a shard. If the routing table version is stale for a shard, the shard will reject the request and inform the router that its information is stale, which will propagate up the call stack to the correct retry loops.
- depends on
-
SERVER-102923 Introduce the RoutingContext API
-
- Closed
-
- is depended on by
-
SERVER-104020 Migrate scatterGatherVersionedTargetByRoutingTable functions to take in RoutingContext instead of CRI
-
- In Code Review
-