[ 
https://issues.apache.org/jira/browse/ASTERIXDB-3149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Wail Y. Alkowaileet resolved ASTERIXDB-3149.
--------------------------------------------
    Resolution: Fixed

> Columnar datasets with secondary indexes fail on upsert
> -------------------------------------------------------
>
>                 Key: ASTERIXDB-3149
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-3149
>             Project: Apache AsterixDB
>          Issue Type: Bug
>          Components: COMP - Compiler
>    Affects Versions: 0.9.9
>            Reporter: Wail Y. Alkowaileet
>            Assignee: Wail Y. Alkowaileet
>            Priority: Major
>             Fix For: 0.9.9
>
>
> Columnar datasets with secondary indexes currently fail on upsert:
> {code:java}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]{code}
>  
> Two bugs were found:
>  # 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)
>  # 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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to