-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
Fully Compatible
-
ALL
-
v4.0, v3.6, v3.4
-
Repl 2018-06-18
-
0
When called with initialSync:1, replSetGetStatus locks the ReplicationCoordinatorImpl mutex, then the InitialSyncer mutex. The InitialSyncer in the course of normal operation will acquire the same locks in the opposite order. Result: deadlock.
I do not think it is necessary to hold the ReplicationCoordinatorImpl mutex while getting the initialSync status, so the fix may be as simple as getting the initialSync status before acquiring the mutex.
- is related to
-
SERVER-35372 replSetSyncFrom can cause deadlock between ReplicationCoordinator and InitialSyncer
- Closed
- related to
-
SERVER-28840 replSetSyncFrom causes InitialSyncer and ReplicationCoordinator to acquire each other's mutexes in opposite orders
- Closed