[SERVER-74380] Router role retry loop should allow namespaces different from the one it was created for Created: 24/Feb/23 Updated: 03/Nov/23 Resolved: 10/Apr/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | 6.0.0-rc0, 6.1.0-rc0, 6.2.0-rc0, 6.3.0-rc0, 7.0.0-rc0 |
| Fix Version/s: | 7.0.0-rc0, 6.0.6, 7.0.0-rc1, 6.3.2 |
| Type: | Bug | Priority: | Critical - P2 |
| Reporter: | Kevin Cherkauer | Assignee: | Kaloian Manassiev |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | PM-2144-Milestone-0 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||||||||||||||||||
| Issue Links: |
|
||||||||||||||||||||||||
| Assigned Teams: |
Query Execution
|
||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||||||
| Backport Requested: |
v7.0, v6.3, v6.0
|
||||||||||||||||||||||||
| Steps To Reproduce: | The following steps (or the attached file reproduce the problem):
|
||||||||||||||||||||||||
| Sprint: | Sharding EMEA 2023-04-17 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Linked BF Score: | 107 | ||||||||||||||||||||||||
| Description |
|
Latest analysis in comment is that this problem was injected by Sharding ticket |
| Comments |
| Comment by Githook User [ 25/Apr/23 ] |
|
Author: {'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}Message: (cherry picked from commit 24f7e2e1596c0032bc30c2ec03e33f79d31a2e95) |
| Comment by Githook User [ 25/Apr/23 ] |
|
Author: {'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}Message: (cherry picked from commit 24f7e2e1596c0032bc30c2ec03e33f79d31a2e95) |
| Comment by Githook User [ 25/Apr/23 ] |
|
Author: {'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}Message: (cherry picked from commit 24f7e2e1596c0032bc30c2ec03e33f79d31a2e95) |
| Comment by Githook User [ 25/Apr/23 ] |
|
Author: {'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}Message: |
| Comment by Githook User [ 24/Apr/23 ] |
|
Author: {'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}Message: |
| Comment by Githook User [ 20/Apr/23 ] |
|
Author: {'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}Message: |
| Comment by Githook User [ 10/Apr/23 ] |
|
Author: {'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}Message: |
| Comment by Kaloian Manassiev [ 07/Apr/23 ] |
|
After some investigation it appears that the exception on a different namespace comes from the secondary namespaces resolution here. Since the incoming aggregation comes on NS:A, but it contains namespaces B, C and D as secondary namespaces, during this resolution and check whether any of them is unsharded, it is possible that the stale config exception comes not on A, even though the loop specified so. This is an indication that the current API as implemented in the loop is insufficient since it doesn't provide ability to version multiple collections. For 6.0 and 7.0, we will just remove the invariants. But for 7.1+ we will have to introduce a better API. |
| Comment by Kevin Cherkauer [ 29/Mar/23 ] |
|
Injection by |
| Comment by Kevin Cherkauer [ 14/Mar/23 ] |
|
Possibly related to |