[SERVER-65137] detect namespace changes when refreshing Collection after yielding Created: 31/Mar/22 Updated: 29/Oct/23 Resolved: 07/Apr/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 5.3.2, 6.0.0-rc0, 5.0.9 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Benety Goh | Assignee: | Benety Goh |
| 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 | ||||||||||||||||
| Backport Requested: |
v5.3, v5.0
|
||||||||||||||||
| Sprint: | Execution Team 2022-04-04, Execution Team 2022-04-18 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Linked BF Score: | 136 | ||||||||||||||||
| Description |
|
The LookupCollectionForYieldRestore functor, defined in collection_catalog.cpp, is responsible for looking up the collection in the catalog in order to restore the internal state of the CollectionPtr. The functor returns a nullptr in the case of drops but still returns a non-null pointer if there was a rename while yielding. For renames, the resulting CollectionPtr state might be inconsistent with the resource IDs in the restored lock state. Additionally, since changes to the catalog results in new COW-induced versions of the catalog, there is a risk of a stale catalog. |
| Comments |
| Comment by Githook User [ 20/Apr/22 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit fed598b7d0b6c54d64138379a6ec11cfc601f7ae) |
| Comment by Githook User [ 18/Apr/22 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit 729774b7c096ef0a3a6158c5394245937b883667) |
| Comment by Githook User [ 15/Apr/22 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit 6e19cd516541894659878b5f4a9d291ebc2c574b) |
| Comment by Githook User [ 14/Apr/22 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit 58dec1f1b5ae5f103b2adc343ef9231c44924102) |
| Comment by Githook User [ 14/Apr/22 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit fed598b7d0b6c54d64138379a6ec11cfc601f7ae) |
| Comment by Githook User [ 13/Apr/22 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit 729774b7c096ef0a3a6158c5394245937b883667) |
| Comment by Githook User [ 13/Apr/22 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit 6e19cd516541894659878b5f4a9d291ebc2c574b) |
| Comment by Githook User [ 13/Apr/22 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit 58dec1f1b5ae5f103b2adc343ef9231c44924102) |
| Comment by Githook User [ 06/Apr/22 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Githook User [ 06/Apr/22 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Githook User [ 06/Apr/22 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Githook User [ 05/Apr/22 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |