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

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.9.3
    • Component/s: None
    • Labels:
      None

      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

        For Gerrit Dashboard: CCBC-948
        # Subject Branch Project Status CR V

          Activity

          Hide
          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

          Show
          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
          Hide
          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

          Show
          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

            • Assignee:
              avsej Sergey Avseyev
              Reporter:
              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

                  Error rendering 'com.pagerduty.jira-server-plugin:PagerDuty'. Please contact your Jira administrators.