[SERVER-73224] Reads during concurrent rename may call openCollection with the wrong namespace when reading using UUID Created: 23/Jan/23 Updated: 29/Oct/23 Resolved: 09/Feb/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 6.3.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Henrik Edin | Assignee: | Henrik Edin |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Operating System: | ALL | ||||||||||||
| Sprint: | Execution Team 2023-02-20, Execution Team 2023-02-06 | ||||||||||||
| Participants: | |||||||||||||
| Linked BF Score: | 5 | ||||||||||||
| Description |
|
We resolve the UUID to a NamespaceString that is then used for the rest of the read setup. However, when there is a concurrent rename that is committed to the storage engine but not to the in-memory catalog we wrongly report this as the collection not existing. We need to perform openCollection with a UUID in this case to be correct. |
| Comments |
| Comment by Githook User [ 25/Jan/23 ] |
|
Author: {'name': 'Henrik Edin', 'email': 'henrik.edin@mongodb.com', 'username': 'henrikedin'}Message: openCollection now takes a NamespaceOrUUID so we don't have to resolve the UUID using the old catalog (which does not contain the rename that may have been committed) |