[SERVER-51819] Remove joinAsync from AbstractAsyncComponent Created: 23/Oct/20  Updated: 29/Oct/23  Resolved: 30/Oct/20

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

Type: Bug Priority: Major - P3
Reporter: Matthew Russotto Assignee: Matthew Russotto
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
is related to SERVER-28204 Recoverable Rollback: Add server para... Closed
is related to SERVER-48812 Start oplog application in MigrationS... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Repl 2020-11-02
Participants:
Linked BF Score: 0

 Description   

Using a future-based join()/joinAsync() for AbstractAsyncComponent introduces a subtle race where a subclass may be destroyed while holding the mutex. Since we turned out not to need joinAsync, it is simplest to fix this by reverting to the old condition variable based method.



 Comments   
Comment by Githook User [ 30/Oct/20 ]

Author:

{'name': 'Matthew Russotto', 'email': 'matthew.russotto@mongodb.com', 'username': 'mtrussotto'}

Message: SERVER-51819 Remove joinAsync from AbstractAsyncComponent
Branch: master
https://github.com/mongodb/mongo/commit/0fade442595bd2086d34559820135e5830620ae3

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