[SERVER-83877] Prevent router from choosing merging node based on stale routing table indefinitely Created: 05/Dec/23  Updated: 02/Feb/24  Resolved: 02/Feb/24

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 8.0.0-rc0

Type: Task Priority: Major - P3
Reporter: Jordi Serra Torrens Assignee: Jordi Serra Torrens
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: CAR Team 2023-12-11, CAR Team 2023-12-25, CAR Team 2024-01-08, CAR Team 2024-01-22, CAR Team 2024-02-05
Participants:

 Description   

On sharded clusters, some aggregation stages such as $lookup, $graphLookup, $out and $merge may choose to split the pipeline and designate a merging shard. The router chooses the merging shard according to its cached routing table (for the inner collection in case of $lookup/$graphLookup, and the output collection in the case of $out/$merge). This routing table can potentially be stale – if it is, the query plan will perform sub-optimally, but results will be correct.
This ticket is to prevent scenarios where a router stays stale indefinitely and keeps choosing sub-optimal plans.



 Comments   
Comment by Githook User [ 02/Feb/24 ]

Author:

{'name': 'Jordi Serra Torrens', 'email': 'jordist@users.noreply.github.com', 'username': 'jordist'}

Message: SERVER-83877 Prevent router from choosing merging node based on stale routing table indefinitely (#17892)

GitOrigin-RevId: 965f4f62d1816dfdd5e37161d8ce20bcfd0108e2
Branch: master
https://github.com/mongodb/mongo/commit/7e7c88c73495a48749a556a020ac20b46f54d9b7

Generated at Thu Feb 08 06:53:25 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.