[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:
Depends
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: SERVER-69193 Timestamp index build aborts during the oplog replay phase of initial sync
Branch: master
https://github.com/mongodb/mongo/commit/07b4b22983295b4d332961801dce47f5a027b90d

Generated at Thu Feb 08 06:12:50 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.