Details
-
Bug
-
Resolution: Fixed
-
Critical
-
None
-
3.0.0-beta1
-
None
-
1
Description
Getting responses like this when doing a subdoc mutate with sync replication of any kind:
Server version: Enterprise Edition 6.5.0 build 4380
1574879337167892: :[ src/ext.c:1278 : pycbc_wrap_teardown:ctx= :span= : : : : : : ]:***** EXCEPTION:[<class 'couchbase_core.exceptions.ValueFormatError'>], [ValueFormatError(\\\\\{'inner_cause': UnicodeDecodeError('utf-8', b'key_{}_0\xca\x00\x00\t', 8, 9, 'invalid continuation byte'), 'message': "Couldn't decode as UTF-8", 'csrc_info': ('src/convert.c', 65)})] ***** |
1574879337167917: :[ src/ext.c:1282 : |
This should be 'somekey_0" instead. It appears that the offset in the span buffer has been incorrectly calculated in this case, or the server is sending an invalid response. Seems to happen irrespective of whether using collections.
Here's the Wireshark trace:
somekey_0_lcb_beta1_corrupt_receive.pcapng
And LCB log (mixed with lots PYCBC logging)
somekey_0_lcb_beta1_corrupt_receive.txt
Not sure if this warning from Wireshark is relevant:
It doesn't happen when we don't use durability:
Here's a PCAP where it works (no durability)
somekey_0_lcb_beta1_nodurability_keyfine.pcapng
And the log:
somekey_0_lcb_beta1_nodurability_keyfine.txt
Perhaps this is a server rather than client issue? David Kelly sees the same issue too.