Uploaded image for project: 'Couchbase C client library libcouchbase'
  1. Couchbase C client library libcouchbase
  2. CCBC-948

The library might stuck in indefinite retry of configuration get when all nodes down

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 2.9.3
    • None
    • None
    • 1

    Description

      In synchronous mode (data requests followed by lcb_wait) when node down (or the network link cut), the library will insert get_config (0xb5) request into retry queue, and that might lead lcb_wait not to return when all data requests timed out. Because it blocks indefinitely and will not give control to user application, the only two options left to the user:

      • just kill thread holding lcb_t instance and reconnect
      • count responses with lcb_breakout() in the callback on timeout status + lcb_wait in the loop until all requests served.

      The library should be able to detect that the only request in the retry queue is get_config (0xb5) and consider that queue empty when checking for permissing to breakout for lcb_wait().

      The asynchronous interaction is not affected by this issue as it would not use lcb_wait at all.

      Attachments

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

        Activity

          Build libcouchbase-2.8.5-211 contains libcouchbase commit c8516d3 with commit message:
          CCBC-948: consider retry queue with only 0xb5 as empty

          build-team Couchbase Build Team added a comment - Build libcouchbase-2.8.5-211 contains libcouchbase commit c8516d3 with commit message: CCBC-948 : consider retry queue with only 0xb5 as empty

          Build couchbase-server-6.5.0-1061 contains libcouchbase commit c8516d3 with commit message:
          CCBC-948: consider retry queue with only 0xb5 as empty

          build-team Couchbase Build Team added a comment - Build couchbase-server-6.5.0-1061 contains libcouchbase commit c8516d3 with commit message: CCBC-948 : consider retry queue with only 0xb5 as empty

          People

            avsej Sergey Avseyev
            avsej Sergey Avseyev
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty