-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Networking & Observability
-
ALL
-
N&O Prioritized List
There is specifically a cycle of STEP::_mutex --> ShardREgistry::_mutex --> RSMM::_mutex --> STEP::_mutex).
An example manifestation would be:
STEP mutex is taken while holding RSMM mutex via RSMM::removeMonitor --> StreamableRSM::drop --> STEP::REplicaSetChangeListener::onDroppedSet
RSM mutex taken while holding ShardREgistry mutex via ShardingReplicaSetChangedLitener::onConfirmedSet --> ShardRegistry::updateReplSetHosts --> ShardFactory::createShard --> RSMM::getOrCreateMonitor
SR mutex taken while holding STEP mutex via ConnectionPool::get --> STEP::addHost --> ShardRegistry::isConfigServer --> ShardRegistry::getConfigShard
- related to
-
SERVER-88159 mongo::Mutex masks TSAN's ability to detect a lock order inversion
- Closed