Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-56712

[BP 7.1.5] - XDCR is unable to check for transactional xattr when doc itself is JSON array

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • 7.1.5
    • 6.6.0, 6.6.1, 6.6.2, 6.6.3, Morpheus, 6.6.4, 6.6.5, 6.6.6, 7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.0.4, 7.1.4, 7.0.5, 7.1.0, 7.1.1, 7.1.2, 7.2.0, 7.1.3
    • XDCR
    • Untriaged
    • 0
    • No

    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.

       

      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.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              ayush.nayyar Ayush Nayyar
              neil.huang Neil Huang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty