[Durability]: Subdoc MutateInOptions with CAS value provided is not cosidered during mutation

Description

CAS value provided in MutateInOptions is not considered for durability mutations.

Always CAS=0x0000000000000000 is seen in wireshark capture as well.

Build: alpha-6 on 6.5.0-4059

Code snippet:

MutateInOptions t_mutateInOptions = this.getMutateInOptions(expiry, expiryTimeUnit, persistTo, replicateTo, timeOut, timeUnit, durabilityLevel); if (cas > 0) { t_mutateInOptions = t_mutateInOptions.cas(cas); } final MutateInOptions mutateInOptions = t_mutateInOptions;

TAF testcase:

subdoc.subdoc_xattr.SubdocXattrSdkTest: test_use_cas_changed_upsert,skip_cleanup=True,GROUP=P0,replicas=0

Environment

Enterprise Edition 6.5.0 build 4059

Gerrit Reviews

None

Release Notes Description

None

Attachments

1
  • 11 Sep 2019, 08:15 AM

Activity

Show:

Ashwin Govindarajulu September 11, 2019 at 8:16 AM

Verified using java-client-3.0.0-alpha.7 and 6.5.0-4218

Ashwin Govindarajulu September 11, 2019 at 8:16 AM

CAS is sent during SubDoc mutation requests.

Verified using java-client-3.0.0-alpha.7 and 6.5.0-4218

Graham Pople August 19, 2019 at 2:07 PM

Fixed, will go out in alpha.7.

Graham Pople August 19, 2019 at 11:52 AM
Edited

& , for awareness, this severely impacts transactions beta.1 as write-write conflicts will not be reliably detected.  We maybe need to consider a Java client alpha.7 and transactions beta.2 release with a patch fix.

Update: though worth also getting to bottom of https://couchbasecloud.atlassian.net/browse/JVMCBC-730#icft=JVMCBC-730, first.

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

Details

Assignee

Reporter

Labels

Components

Fix versions

Affects versions

Priority

Instabug

Open Instabug

PagerDuty

Sentry

Zendesk Support

Created August 19, 2019 at 11:29 AM
Updated September 11, 2019 at 8:16 AM
Resolved August 19, 2019 at 2:07 PM
Instabug