CollectionShardingRuntime::getCriticalSectionSignal accesses _critSec without locks

XMLWordPrintableJSON

    • Fully Compatible
    • ALL
    • Sharding 2020-05-04
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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.

              Assignee:
              Randolph Tan
              Reporter:
              Randolph Tan
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: