BugZero found this defect 115 days ago.
Data sources
All data on this page is proprietary to BugZero® or gathered from public sources
3/12/2024
MongoDB Server
No affected releases provided.
No fixed releases provided.
In the exchange operator, it's possible that consumer A may fill its buffer, and consumer B is waiting for A to consume its documents before execution can continue. It seems that the maxTimeMS option is not handled properly when that happens; the cursor will hang indefinitely rather than returning when maxTimeMS is reached. charlie.swanson@mongodb.com suggested using something like this to wait on condition variables so the maxTimeMS can be respected, rather than hanging on the mutex as happens now.
You can reproduce this behavior somewhat consistently with the exchange_producer.js FSM workload, if you reduce the buffer size to ~1000.