[SERVER-45697] RSTL released during two phase index build restarted by rollback via refetch Created: 22/Jan/20  Updated: 29/Oct/23  Resolved: 27/Jan/20

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 4.3.3

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:
Depends
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Execution Team 2020-01-27
Participants:
Linked BF Score: 20

 Description   

This invariant in ReplicationCoordinator::canAcceptWritesFor() may fail during an index rebuild started by a rollback using the refetch method. The two phase index build should be running with the RSTL acquired. However, we check for general two phase index build support, which is dependent on the current FCV, to determine if we need to keep the RSTL lock.

Since the server supports running a mix of two and single phased index builds concurrently, one possible solution for the RSTL may be to use the index build method provided by the caller.



 Comments   
Comment by Githook User [ 25/Jan/20 ]

Author:

{'email': 'benety@mongodb.com', 'username': 'benety', 'name': 'Benety Goh'}

Message: SERVER-45697 unlock RSTL based on requested index build method rather than feature check
Branch: master
https://github.com/mongodb/mongo/commit/eca08e963444d77209f093a6137f5d70f7519e21

Generated at Thu Feb 08 05:09:29 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.