-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Replication
-
Fully Compatible
-
ALL
-
Repl 2024-07-08, Repl 2024-07-22, Repl 2024-08-05
FileCopyBasedInitialSyncer::_createOplogIfNeeded can be called while the FCBIS mutex is held. In turn, this function can acquire the ReplicationCoordinatorImpl mutex as part of calling getMemberState when creating the oplog collection.
ReplicationCoordinatorImpl::_startInitialSync can be called while holding the RCI mutex, and can result in destroying a FCBIS and calling it's shutdown method, which will acquire the FCBIS mutex.
This is an inversion and could result in a deadlock without external synchronization. It's possible that, if these code paths are only exercisable on initial sync startup and shutdown, that external synchronization is provided. Nonetheless, TSAN can't see that synchronization, so it requires a suppression. We should confirm if this is a real potential deadlock or not.
- related to
-
SERVER-88159 mongo::Mutex masks TSAN's ability to detect a lock order inversion
- Closed