[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. |
| Comments |
| Comment by Githook User [ 02/Feb/24 ] |
|
Author: {'name': 'Jordi Serra Torrens', 'email': 'jordist@users.noreply.github.com', 'username': 'jordist'}Message: GitOrigin-RevId: 965f4f62d1816dfdd5e37161d8ce20bcfd0108e2 |