Details
-
Bug
-
Resolution: Fixed
-
Major - P3
-
3.6.8, 4.0.3, 4.1.3
-
None
-
Fully Compatible
-
ALL
-
v4.0, v3.6
-
Repl 2018-09-24, Repl 2018-10-22, Repl 2018-11-05
-
65
Description
ReplicationCoordinatorExternalStateImpl::shutdown() holds _threadMutex while waiting for _taskExecutor. This is problematic, since the _taskExecutor's function takes database locks, so we can wait for database locks while holding _threadMutex. This can lead to deadlock, since we can wait for _threadMutex while holding ReplicationCoordinatorImpl::_mutex, and we can wait for ReplicationCoordinatorImpl::_mutex while holding database locks.
Attachments
Issue Links
- is duplicated by
-
SERVER-33186 Primary node may deadlock during shutdown
-
- Closed
-