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

Columnar collections with secondary indexes fail on upsert

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Morpheus
    • Morpheus
    • analytics

    Description

      Columnar collections with secondary indexes currently fail on upsert:

      Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1    at org.apache.asterix.column.tuple.AbstractAsterixColumnTupleReference.getFieldData(AbstractAsterixColumnTupleReference.java:103) ~[asterix-column-8.0.0-1271.jar:8.0.0-1271]    at org.apache.asterix.runtime.operators.LSMPrimaryUpsertOperatorNodePushable.appendPrevRecord(LSMPrimaryUpsertOperatorNodePushable.java:375) ~[asterix-runtime-8.0.0-1271.jar:8.0.0-1271]    at org.apache.asterix.runtime.operators.LSMPrimaryUpsertOperatorNodePushable$1.process(LSMPrimaryUpsertOperatorNodePushable.java:180) ~[asterix-runtime-8.0.0-1271.jar:8.0.0-1271]

       

      Two bugs were found:

      1. lowKey predicate can be greater than a BTree frame (or page zero) highest key. However, the columnar cursor still produces tuples from the same frame (i.e., hasNext() returns true)
      2. The returned tuple from the search is a merge tuple (in other words, the tuple is not assembled). Hence, the exception above is thrown. 

       

      For (2), the returned tuple should only contain the required fields (or columns) to maintain the index. For instance, if there is an index on "salary", the returned tuple should only contain the primary key(s) + a record with salary information.

      Attachments

        Issue Links

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

          Activity

            People

              wail.alkowaileet Wail Alkowaileet
              wail.alkowaileet Wail Alkowaileet
              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