[SERVER-37055] IndexBuildBlock::fail() should grab a lock Created: 07/Sep/18  Updated: 29/Oct/23  Resolved: 11/Oct/18

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 4.0.4, 4.1.5

Type: Bug Priority: Major - P3
Reporter: Martin Neupauer Assignee: Gregory Wlodarek
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v4.0
Sprint: Storage NYC 2018-10-08, Storage NYC 2018-10-22
Participants:
Linked BF Score: 1

 Description   

During the initial sync there can be multiple indices build in parallel in the same time. If for some reason all builders fail at the same time (e.g. a shutdown is initiated) then the fail() method tries to clean up the IndexCatalog.

However, the IndexCatalog access is not multi thread safe so all kind of things can go bad with concurrent multiple executions of the fail() method.



 Comments   
Comment by Githook User [ 22/Oct/18 ]

Author:

{'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}

Message: SERVER-37055 IndexBuildBlock::fail() should grab a lock

(cherry picked from commit 0272ec068f5da65458d7a081beac583b33b610d1)
Branch: v4.0
https://github.com/mongodb/mongo/commit/29e5df422d26f0ca6d43a6ed6a6d3456ff45efca

Comment by Githook User [ 11/Oct/18 ]

Author:

{'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}

Message: SERVER-37055 IndexBuildBlock::fail() should grab a lock
Branch: master
https://github.com/mongodb/mongo/commit/0272ec068f5da65458d7a081beac583b33b610d1

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