Synchronous durability raises LCB_ERR_KVENGINE_INVALID_PACKET (1031)

Description

While performing local testing with the online sample here, discovered an error when requesting durability. If we skip the lcb_cmdstore_durability() call or pass in LCB_DURABILITYLEVEL_NONE to lcb_cmdstore_durability() the upsert is a success. However, if we actually request durability we receive an error: LCB_ERR_KVENGINE_INVALID_PACKET (1031).

We have verified this incorrect behavior against both CBS 7.0 and 6.6.2, so it seems related to the version of LCB as opposed to the version of CBS. However, we have also verified this incorrect behavior with LCB 3.2.0 and 3.1.4.

This ticket may need more grooming after the root cause is determined, but we also need to verify unit and integration test coverage so it cannot happen again.

Acceptance Criteria

  • Resolve durability error and verify behavior works as expected again per current documentation.

  • Verify samples or examples work as expected without any additional changes required.

  • Add or verify unit and integration test coverage for LCB and downstream components (if applicable) to be sure we don't introduce a regression on the expected behavior in the future.

 

Environment

None

Gerrit Reviews

None

Release Notes Description

None

Activity

Show:

CB robot October 8, 2021 at 8:26 AM

Build couchbase-server-7.1.0-1450 contains libcouchbase commit 324cddd with commit message:
: fix frame size for mutations with durability

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 August 4, 2021 at 8:17 PM
Updated October 8, 2021 at 8:26 AM
Resolved August 12, 2021 at 8:50 AM
Instabug