-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 2.6.0-rc2
-
Component/s: Replication
-
None
-
ALL
In connectOplogNotifier, the notifier thread grabs bgsync's _mutex and then calls syncSourceFeedback.connect() which grabs SyncSourceFeedback's _mtx and _connmtx. Meanwhile SyncSourceFeedback's run() loop grabs its _mtx and _connmtx and then calls bgsync's getSyncTarget() which grabs bgsync's _mutex. If each of these threads grabs their first lock, we end up deadlocked.