Details
-
Improvement
-
Resolution: Won't Fix
-
Major
-
None
-
None
-
None
-
1
Description
What's the issue?
When queuing an operation with 'gocbcore' it may fail because the operation queue is currently full. Currently this error is returned to the user, they must wait/sleep and then attempt to queue the operation again. This isn't ideal because it introduces the possibility that the queuing thread is sleeping when there's actually space in the queue.
What's the fix?
It would be slightly more efficient/easier for the caller, if we could have 'ErrOverload' be a blocking operation i.e. it will wait for the queue to have enough room (likely using some form of condition variable with broadcast/signal) to allow a new item to immediately be queued.
Obviously this would need to be done via a config option which is defaulted to off to avoid breaking backwards compatibility.