[SERVER-49249] initial sync fails invariant during oplog application due to conflict with in-progress index build Created: 01/Jul/20 Updated: 29/Oct/23 Resolved: 19/Nov/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | 4.9.0 |
| 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 | ||||
| Sprint: | Execution Team 2020-11-30 | ||||
| Participants: | |||||
| Linked BF Score: | 10 | ||||
| Description |
|
Initial sync may fail this invariant in MultiIndexBlock::init() due to a conflict between single and two phase index builds using the same index name during the oplog application phase. This issue is believed to have been introduced by In This race may happen when we have built an index with the same name using both single-phase and two-phase methods on the collection that is being initial sync'ed. The following order of operations on the collection may lead to the invariant failure:
This is not an issue in 4.4 because we would have filtered out existing indexes (including in-progress index builds) and ignored the createIndexes entry. The new code path introduced in |
| Comments |
| Comment by Githook User [ 19/Nov/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Githook User [ 19/Nov/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |