Fixed
Pinned fields
Click on the next to a field label to start pinning.
Details
Assignee
Ashwin GovindarajuluAshwin GovindarajuluReporter
Jim WalkerJim WalkerIs this a Regression?
NoTriage
TriagedDue date
May 27, 2021Story Points
1Sprint
NonePriority
CriticalInstabug
Open Instabug
Details
Details
Assignee
Ashwin Govindarajulu
Ashwin GovindarajuluReporter
Jim Walker
Jim WalkerIs this a Regression?
No
Triage
Triaged
Due date
May 27, 2021
Story Points
1
Sprint
None
Priority
Instabug
Open Instabug
PagerDuty
PagerDuty
PagerDuty
Sentry
Sentry
Sentry
Zendesk Support
Zendesk Support
Zendesk Support
Created May 24, 2021 at 2:59 PM
Updated January 3, 2023 at 11:54 AM
Resolved May 27, 2021 at 8:17 AM
In 6.5 we added namespace support in KV-engine, a technique used by durability and a stepping stone towards collections.
This means that a key in many places (disk/memory) gets a namespace prefix, all committed keys get the "default" collection prefix of a single empty byte (0) and prepared writes get a a prefix of 2. This means that when the user stores a document with a 3-byte key of "JIM", in memory it gets 4 bytes "0JIM".
When DCP replicates that document, there is no namespace support over the wire and "0JIM" gets replicated as "JIM".
This leads to an issue in buffer-ack when we do DCP commit.
The producer is recording the namepaced length but the consumer is acking for the un-namespaced size - a 1 byte difference.