Uploaded image for project: 'Couchbase Go SDK'
  1. Couchbase Go SDK
  2. GOCBC-1089

Add a config option to allow 'ErrOverload' to be a blocking operation

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Won't Fix
    • Major
    • None
    • None
    • library
    • 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.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            james.lee James Lee
            james.lee James Lee
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty