-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Sharding
-
Fully Compatible
-
ALL
-
Sharding 2020-05-04
Currently, _critSec by itself is not thread safe. All other methods using _critSec takes the CSRLock except for this method.
ShardingMigrationCriticalSection::exitCriticalSection() must lock such that ShardingMigrationCriticalSection::getSignal cannot read the _critSecSignal value while _critSecSignal is being written simultaneously – C++ memory bug.
- is depended on by
-
SERVER-47563 Add concurrency control to the CollectionShardingState class such that it no longer depends upon collection locks for concurrency control
- Closed