[SERVER-47319] dropIndexes will invariant if it sees complete indexes after successfully aborting a different index build Created: 03/Apr/20 Updated: 29/Oct/23 Resolved: 05/May/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 4.4.0-rc4, 4.7.0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Louis Williams | Assignee: | Gregory Wlodarek |
| 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: |
v4.4
|
||||||||||||||||
| Sprint: | Execution Team 2020-05-18 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Linked BF Score: | 22 | ||||||||||||||||
| Description |
|
An invariant can fail in dropIndexes given the following sequence between command threads A, B, and C:
Part of the problem here is that index names are not unique to index builds, so while the dropIndexes command can successfully abort an index build, another index by the same name could be created again in a brief window of time before it reacquires its locks. In this scenario, we should consider dropping the finished index if we discover that it exists. This was the previous behavior. |
| Comments |
| Comment by Githook User [ 05/May/20 ] |
|
Author: {'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}Message: (cherry picked from commit 60b2655e069a30dfa1656809b1ae25d77617292c) |
| Comment by Githook User [ 05/May/20 ] |
|
Author: {'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}Message: |