-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Storage Engines - Server Integration
-
ALL
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Data race condition
The value of the shared data will be determined by the interleaving of thread execution. Thread shared data is accessed without holding an appropriate lock, possibly causing a race condition
/src/mongo/db/modules/atlas/src/disagg_storage/oplog_application_coordinator.cpp:327: MISSING_LOCK 177394 Accessing "this->waitingForSpace" without holding lock "mongo::disagg::OplogApplicationCoordinator::enqueueDocuments(mongo::OperationContext *, __gnu_cxx::normal_iterator<mongo::BSONObj *, std::vector<mongo::BSONObj, std::allocator<mongo::BSONObj> > >, __gnu_cxx::_normal_iterator<mongo::BSONObj *, std::vector<mongo::BSONObj, std::allocator<mongo::BSONObj> > >, unsigned long)::[lambda() (instance 1)].lk". Elsewhere, "mongo::disagg::OplogApplicationCoordinator._waitingForSpace" is written to with "[lambda() (instance 1)].lk" held 1 out of 2 times (1 of these accesses strongly imply that it is necessary).