[
https://issues.apache.org/jira/browse/ASTERIXDB-1354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15273667#comment-15273667
]
Murtadha Hubail commented on ASTERIXDB-1354:
--------------------------------------------
[~buyingyi],
As we discussed, the reported issue was fixed with the patch in ASTERIXDB-1377.
It doesn't happen on the current master. However, the reported exception is
actually triggered by another exception
(java.lang.ArrayIndexOutOfBoundsException) which happens during the query. I
traced the issue and I think the reason behind it is that during the query
compilation an invalid lowKeyIndexes with value -1 is being assigned.
The complete stacktrace is below:
Caused by: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.storage.am.btree.exceptions.BTreeException:
java.lang.ArrayIndexOutOfBoundsException: -7
at
org.apache.hyracks.storage.am.common.dataflow.IndexSearchOperatorNodePushable.nextFrame(IndexSearchOperatorNodePushable.java:186)
at
org.apache.hyracks.dataflow.common.comm.io.AbstractFrameAppender.write(AbstractFrameAppender.java:93)
at
org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.flushAndReset(AbstractOneInputOneOutputOneFramePushRuntime.java:63)
at
org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.flushIfNotFailed(AbstractOneInputOneOutputOneFramePushRuntime.java:69)
at
org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.close(AbstractOneInputOneOutputOneFramePushRuntime.java:55)
at
org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.close(AbstractOneInputOneOutputOneFramePushRuntime.java:57)
at
org.apache.hyracks.algebricks.runtime.operators.std.AssignRuntimeFactory$1.close(AssignRuntimeFactory.java:122)
at
org.apache.hyracks.algebricks.runtime.operators.meta.AlgebricksMetaOperatorDescriptor$2.close(AlgebricksMetaOperatorDescriptor.java:153)
at
org.apache.hyracks.dataflow.std.misc.SplitOperatorDescriptor$SplitterMaterializerActivityNode$1.close(SplitOperatorDescriptor.java:160)
... 11 more
Caused by: org.apache.hyracks.storage.am.btree.exceptions.BTreeException:
java.lang.ArrayIndexOutOfBoundsException: -7
at
org.apache.hyracks.storage.am.btree.impls.BTree.performOp(BTree.java:777)
at
org.apache.hyracks.storage.am.btree.impls.BTree.search(BTree.java:190)
at
org.apache.hyracks.storage.am.btree.impls.BTree.access$6(BTree.java:174)
at
org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.search(BTree.java:916)
at
org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTreeRangeSearchCursor.open(LSMBTreeRangeSearchCursor.java:225)
at
org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTreeSearchCursor.open(LSMBTreeSearchCursor.java:81)
at
org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTree.search(LSMBTree.java:402)
at
org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.search(LSMHarness.java:393)
at
org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor.search(LSMTreeIndexAccessor.java:100)
at
org.apache.hyracks.storage.am.common.dataflow.IndexSearchOperatorNodePushable.nextFrame(IndexSearchOperatorNodePushable.java:182)
... 19 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: -7
at
org.apache.hyracks.dataflow.common.util.IntSerDeUtils.getInt(IntSerDeUtils.java:25)
at
org.apache.hyracks.dataflow.common.comm.io.FrameTupleAccessor.getFieldStartOffset(FrameTupleAccessor.java:97)
at
org.apache.hyracks.storage.am.common.tuples.PermutingFrameTupleReference.getFieldStart(PermutingFrameTupleReference.java:51)
at
org.apache.hyracks.storage.am.common.ophelpers.MultiComparator.compare(MultiComparator.java:37)
at
org.apache.hyracks.storage.am.btree.frames.OrderedSlotManager.findTupleIndex(OrderedSlotManager.java:45)
at
org.apache.hyracks.storage.am.btree.frames.BTreeNSMInteriorFrame.getChildPageId(BTreeNSMInteriorFrame.java:332)
at
org.apache.hyracks.storage.am.btree.impls.BTree.performOp(BTree.java:623)
> Foreign key select error of UNION
> ---------------------------------
>
> Key: ASTERIXDB-1354
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-1354
> Project: Apache AsterixDB
> Issue Type: Bug
> Components: AsterixDB
> Environment: General Environment.
> Reporter: Wenhai
> Assignee: Yingyi Bu
> Labels: patch
>
> If we set up a composite primary key (i.e. LineItem(l_orderkey,
> l_linenumber)) referring to another table (i.e. Orders(o_orderkey)), the same
> selection condition will introduce a readCount error.
> Schemas
> {noformat}
> use dataverse tpch;
> create type LineItemType as closed {
> l_orderkey: int32,
> l_partkey: int32,
> l_suppkey: int32,
> l_linenumber: int32,
> l_quantity: int32,
> l_extendedprice: double,
> l_discount: double,
> l_tax: double,
> l_returnflag: string,
> l_linestatus: string,
> l_shipdate: string,
> l_commitdate: string,
> l_receiptdate: string,
> l_shipinstruct: string,
> l_shipmode: string,
> l_comment: string
> }
> create type OrderType as closed {
> o_orderkey: int32,
> o_custkey: int32,
> o_orderstatus: string,
> o_totalprice: double,
> o_orderdate: string,
> o_orderpriority: string,
> o_clerk: string,
> o_shippriority: int32,
> o_comment: string
> }
> create dataset LineItem(LineItemType) primary key l_orderkey, l_linenumber;
> create dataset Orders(OrderType) primary key o_orderkey;
> use dataverse tpch;
> load dataset LineItem
> using localfs
> (("path"="asterix_nc1://data/tpch0.001/lineitem.tbl"),("format"="delimited-text"),("delimiter"="|"));
> load dataset Orders
> using localfs
> (("path"="asterix_nc2://data/tpch0.001/orders.tbl"),("format"="delimited-text"),("delimiter"="|"));
> {noformat}
> Query:
> {noformat}
> use dataverse tpch;
> let $l := for $r in dataset LineItem where $r.l_orderkey = 2
> return $r.l_linenumber
> let $o := for $s in dataset Orders where $s.o_orderkey =2
> return $s.o_custkey
> let $c := $l union $o
> return $c
> {noformat}
> Error:
> {noformat}
> Invalid LSM disk component readerCount: -1 [IllegalStateException]
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)