[SERVER-69193] aborting an index build during initial sync can do an untimestamped write Created: 26/Aug/22 Updated: 29/Oct/23 Resolved: 11/Jan/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: | Pavithra Vetriselvan | 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 | ||||
| Sprint: | Execution Team 2022-10-17, Execution Team 2022-10-31, Execution Team 2022-11-14, Execution Team 2022-12-12, Execution Team 2022-11-28, Execution Team 2023-01-09, Execution Team 2023-01-23 | ||||
| Participants: | |||||
| Linked BF Score: | 25 | ||||
| Description |
|
If we get a BackgroundOperationInProgress error while building indexes on a collection during initial sync, we will abort all in progress builds on that collection. However, the abort makes an untimestamped write, which causes the server to fassert. This error should only happen if we've received a conflicting DDL operation on the collection. Since these operations are applied in their own batch (i.e. creating a batch size of 1), if should be safe for us to timestamp the abortIndexBuild write at the ts of the conflicting operation. |
| Comments |
| Comment by Githook User [ 11/Jan/23 ] |
|
Author: {'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}Message: |