|
Current implementations of some DDL coordinators access the _doc member variable inside checkIfOptionsConflict and reportCurrentOp without any concurrency control even though it can be modified when _runImpl is being executed.
For example, in RefineCollectionShardKeyCoordinator coordinator doc is read here:
https://github.com/10gen/mongo/blob/b4384a6a6774ae494e57adc0c625769fec107828/src/mongo/db/s/refine_collection_shard_key_coordinator.cpp#L71
https://github.com/10gen/mongo/blob/b4384a6a6774ae494e57adc0c625769fec107828/src/mongo/db/s/refine_collection_shard_key_coordinator.cpp#L82
And modified here:
https://github.com/10gen/mongo/blob/b4384a6a6774ae494e57adc0c625769fec107828/src/mongo/db/s/refine_collection_shard_key_coordinator.cpp#L114
|