Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-40338

[FP Cheshire-Cat] - libcouchbase instances are not kept awake during idle periods

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 7.0.0
    • None
    • eventing
    • None
    • Untriaged
    • 1
    • Unknown

    Description

      As part of the high level interface definition for the C SDK, libcouchbase relies on the application to drive its event loop, whether through the use of lcb_wait or through integration with the applications own event loop. Part of this definition implicitly relies on the application granting time to libcouchbase often enough to perform its internal bookkeeping, especially as it relates to handling topology updates.

      In the current implementation of libcouchbase within eventing, it is possible for libcouchbase to sit unused for substantial periods of time, leading to the SDKs internal topology map no longer accurately reflecting the true cluster topology. This leads to a number of problems when the SDK is eventually woken to perform operations.

      In order to resolve this, the eventing service should periodically wake libcouchbase instances to allow them the necessary time to process new topology updates or alternatively should provide an IO plugin to libcouchbase which enables it to integrate with the event loop within the eventing service which would permit libcouchbase to internally schedule the needed bookkeeping work on its own.

      Attachments

        Issue Links

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

          Activity

            People

              chanabasappa.ghali Chanabasappa Ghali
              jeelan.poola Jeelan Poola
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty