The client might not breakout on slow connections

Description

When the connection is slow, or operation timeout is configured to pretty low value, the SDK might not leave the event loop in case, when lcb_wait() function is being used to execute IO operations. In this case, regardless that actual data operation has been completed, and user callback invoked, the library might have configuration update operation running, and will wait for its completion, even though it is not required to return control from lcb_wait() operation by default.

The issue is related to https://couchbasecloud.atlassian.net/browse/CCBC-948#icft=CCBC-948. Previously the check was only performed for retry queue, but in fact it also makes sense to do the same check for every KV connection, during pending requests detection cycle.

It is still possible to control behaviour of whether the library should wait for pending configuration updates before returning from lcb_wait(), "wait_for_config" connection string option or lcb_cntl(..., LCB_CNTL_WAIT_FOR_CONFIG, ...) can be used to check default behaviour (which is "false").

Environment

None

Gerrit Reviews

None

Release Notes Description

None

Activity

Show:

CB robot March 28, 2024 at 5:46 AM

Build couchbase-server-7.2.5-7575 contains libcouchbase commit 884038e with commit message:
https://couchbasecloud.atlassian.net/browse/CCBC-1616#icft=CCBC-1616: apply wait_for_config check for all pipelines

CB robot December 23, 2023 at 1:36 AM

Build capella-analytics-1.0.0-1179 contains libcouchbase commit 884038e with commit message:
https://couchbasecloud.atlassian.net/browse/CCBC-1616#icft=CCBC-1616: apply wait_for_config check for all pipelines

CB robot December 22, 2023 at 8:07 PM

Build couchbase-server-8.0.0-1508 contains libcouchbase commit 884038e with commit message:
https://couchbasecloud.atlassian.net/browse/CCBC-1616#icft=CCBC-1616: apply wait_for_config check for all pipelines

CB robot December 22, 2023 at 4:03 PM

Build couchbase-server-7.6.0-1967 contains libcouchbase commit 884038e with commit message:
https://couchbasecloud.atlassian.net/browse/CCBC-1616#icft=CCBC-1616: apply wait_for_config check for all pipelines

CB robot December 19, 2023 at 1:39 AM

Build couchbase-server-7.1.6-3969 contains libcouchbase commit 884038e with commit message:
https://couchbasecloud.atlassian.net/browse/CCBC-1616#icft=CCBC-1616: apply wait_for_config check for all pipelines

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Fix versions

Sprint

Story Points

Components

Reporter

Affects versions

Priority

Instabug

Open Instabug

PagerDuty

Sentry

Zendesk Support

Created October 2, 2023 at 9:22 PM
Updated October 18, 2024 at 6:14 AM
Resolved October 9, 2023 at 3:37 PM
Instabug