Operational Defect Database

BugZero found this defect 115 days ago.

MongoDB | 2557540

getMore on exchange does not respect maxTimeMs if the cursor is waiting for different consumer

Last update date:

3/12/2024

Affected products:

MongoDB Server

Affected releases:

No affected releases provided.

Fixed releases:

No fixed releases provided.

Description:

Info

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.

Top User Comments


Steps to Reproduce

You can reproduce this behavior somewhat consistently with the exchange_producer.js FSM workload, if you reduce the buffer size to ~1000.

Additional Resources / Links

Share:

BugZero® Risk Score

What's this?

Coming soon

Status

Backlog

Learn More

Search:

...