[SERVER-43837] remove RSTL unlocking logic from MultiIndexBlock::cleanUpAfterBuild() Created: 04/Oct/19  Updated: 29/Oct/23  Resolved: 08/Oct/19

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

Type: Improvement 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
is depended on by SERVER-43692 enable two phase index builds by default Closed
Related
related to SERVER-44045 allow secondary index builds to start... Closed
is related to SERVER-42621 3 way deadlock can happen between hyb... Closed
is related to SERVER-43415 indexbg_killop_primary.js crashes whe... Closed
is related to SERVER-39002 killOp against a primary index build ... Closed
is related to SERVER-42824 do not lock RSTL for index build cleanup Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2019-10-07, Execution Team 2019-10-21
Participants:

 Description   

We started unlocking the RSTL during index build cleanup in commit SERVER-42824 to avoid a deadlock, described in SERVER-42621, during a replica set stepdown. Subsequently, when we moved the collection and database lock acquisition out of the index build cleanup function in SERVER-43415, we also started releasing the RSTL before cleaning up the index build. As a result, this RSTL logic within MultiIndexBlock is now unnecessary.



 Comments   
Comment by Githook User [ 08/Oct/19 ]

Author:

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

Message: SERVER-43837 remove RSTL unlocking logic from MultiIndexBlock::cleanUpAfterBuild()

Not required after commit 68f0f19d1da4fc1adcc746481a7f65ecc6d01e26.
Branch: master
https://github.com/mongodb/mongo/commit/4f203678e2d86814e0e77b5b6d1cfa8494dcb929

Comment by Benety Goh [ 04/Oct/19 ]

Removing the RSTL logic allows us to consider a potential implementation for SERVER-39002 where, in a non-stepdown scenario, we would be able to write the abortIndexBuild oplog entry in the same WriteUnitOfWork as the one used to remove the indexes from the mdb catalog.

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