Fixed
Pinned fields
Click on the next to a field label to start pinning.
Details
Assignee
Ayush NayyarAyush NayyarReporter
Neil HuangNeil HuangIs this a Regression?
NoTriage
UntriagedIssue Impact
externalStory Points
0Priority
CriticalInstabug
Open Instabug
Details
Details
Assignee
Ayush Nayyar
Ayush NayyarReporter
Neil Huang
Neil HuangIs this a Regression?
No
Triage
Untriaged
Issue Impact
external
Story Points
0
Priority
Instabug
Open Instabug
PagerDuty
PagerDuty
PagerDuty
Sentry
Sentry
Sentry
Zendesk Support
Zendesk Support
Zendesk Support
Created May 2, 2023 at 6:31 PM
Updated March 21, 2025 at 2:51 AM
Resolved June 6, 2023 at 5:40 PM
XDCR added internal transactional filter in , and it cannot be turned off.
It is possible that a customer has a document with Xattribute, which will trigger XDCR to check for transaction xattr.
However, it is also possible that the customer's documents are pure arrays. This will cause an error like to happen.
This is reproducible via unit test:
$ go test -run=TestTransactionFilterWithPureArray
============== Test case start: TestTransactionFilterWithPureArray =================
NEIL DEBUG err Invalid input given errDesc XDCR for key <ud>TestDocArrayKey</ud> after decompression seems to be an invalid JSON
============== Test case end: TestTransactionFilterWithPureArray =================
PASS
The right fix is to be able to check just purely for the xattr section for transaction xattribute, but not stop the user document from being parsed.
Issue
Resolution
XDCR did not process documents with a JSON array and Extended Attributes (XATTRs). When a document contained XATTRs, XDCR checked for XATTRs in transactions, transaction filters were enabled, and XATTRs were not checked.
When documents contain arrays, XATTRs are now checked in the transaction XATTRs, and the document is not prevented from being parsed in an array.