Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-47566

CollectionShardingRuntime::getCriticalSectionSignal accesses _critSec without locks

    • 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.

            Assignee:
            randolph@mongodb.com Randolph Tan
            Reporter:
            randolph@mongodb.com Randolph Tan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: