-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Networking & Observability
-
ALL
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
-