Details
Description
XDCR added internal transactional filter in MB-33269, 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 MB-54936 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.