You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2015/11/24 23:22:11 UTC

[jira] [Commented] (ASTERIXDB-1126) Secondary Index on External datasets failure

    [ https://issues.apache.org/jira/browse/ASTERIXDB-1126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15025564#comment-15025564 ] 

ASF subversion and git services commented on ASTERIXDB-1126:
------------------------------------------------------------

Commit 5a78ca0f33354aab2163ab713a9fa98dca96d78d in incubator-asterixdb's branch refs/heads/release-0.8.8 from [~alamoudi]
[ https://git-wip-us.apache.org/repos/asf?p=incubator-asterixdb.git;h=5a78ca0 ]

ASTERIXDB-1126 Correct comparators and type traits for external index

In case of external data, the type definition does not contain information
about primary keys and we should get them based on the data input format.

Change-Id: I71d924d7e2b7a7e6c752bc97679e612946afc17c
Reviewed-on: https://asterix-gerrit.ics.uci.edu/504
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Ian Maxon <im...@apache.org>


> Secondary Index on External datasets failure
> --------------------------------------------
>
>                 Key: ASTERIXDB-1126
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1126
>             Project: Apache AsterixDB
>          Issue Type: Bug
>          Components: AsterixDB
>            Reporter: Pouria
>            Assignee: Abdullah Alamoudi
>            Priority: Critical
>
> -) Using HDFS 2.6 as the external data source
> -) Queries run based on TPCH schema
> steps:
> 1- Create and asterix instance
> 2- Create an external dataset (data resides in HDFS as text CSV files)
> 3- Create a secondary index on that dataset
> 4- ** stop the asterix instance and start it again ** (This step is important to reproduce)
> 5- Run a selection with a predicate that makes system pick the secondary index
> 6- Query crashes immediately with an NPE at the top level
> -) Sample DDL:
> create type NationType as {
>   n_nationkey: int32,
>   n_name: string,
>   n_regionkey: int32,
>   n_comment: string
> }
> create type RegionType as {
>   r_regionkey: int32,
>   r_name: string,
>   r_comment: string
> }
> create external dataset Nation('NationType') using hdfs
> (("hdfs"="hdfs://128.XX.XX.XX:9000"),("path"="/PATH/ON/HDFS/nation"),("input-format"="text-input-format"),("format"="delimited-text"),("delimiter"="|"));
> create external dataset Region('RegionType') using hdfs
> (("hdfs"="hdfs://128.XX.XX.XX:9000"),("path"="/PATH/ON/HDFS/region"),("input-format"="text-input-format"),("format"="delimited-text"),("delimiter"="|"));
> create index nation_fk_region on Nation(n_regionkey);
> -) Sample Query:
> for $t in dataset Nation
> where $t.n_regionkey < 4
> return $t
> -) Error on the NC logs:
> java.lang.NullPointerException
> 	at org.apache.hyracks.storage.am.common.tuples.TypeAwareTupleReference.resetByTupleOffset(TypeAwareTupleReference.java:57)
> 	at org.apache.hyracks.storage.am.lsm.btree.tuples.LSMBTreeTupleReference.resetByTupleOffset(LSMBTreeTupleReference.java:70)
> 	at org.apache.hyracks.storage.am.lsm.btree.tuples.LSMBTreeTupleReference.resetByTupleIndex(LSMBTreeTupleReference.java:75)
> 	at org.apache.hyracks.storage.am.btree.frames.OrderedSlotManager.findTupleIndex(OrderedSlotManager.java:44)
> 	at org.apache.hyracks.storage.am.btree.frames.BTreeNSMLeafFrame.findTupleIndex(BTreeNSMLeafFrame.java:257)
> 	at org.apache.hyracks.storage.am.btree.impls.BTreeRangeSearchCursor.getHighKeyIndex(BTreeRangeSearchCursor.java:234)
> 	at org.apache.hyracks.storage.am.btree.impls.BTreeRangeSearchCursor.open(BTreeRangeSearchCursor.java:290)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.performOp(BTree.java:750)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.search(BTree.java:202)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.access$600(BTree.java:74)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.search(BTree.java:914)
> 	at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTreeWithBuddySearchCursor.searchNextCursor(LSMBTreeWithBuddySearchCursor.java:69)
> 	at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTreeWithBuddySearchCursor.open(LSMBTreeWithBuddySearchCursor.java:122)
> 	at org.apache.hyracks.storage.am.lsm.btree.impls.ExternalBTreeWithBuddy.search(ExternalBTreeWithBuddy.java:336)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.ExternalIndexHarness.search(ExternalIndexHarness.java:173)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor.search(LSMTreeIndexAccessor.java:99)
> 	at org.apache.hyracks.storage.am.common.dataflow.IndexSearchOperatorNodePushable.nextFrame(IndexSearchOperatorNodePushable.java:185)
> 	at org.apache.hyracks.dataflow.common.comm.io.AbstractFrameAppender.flush(AbstractFrameAppender.java:83)
> 	at org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.flushAndReset(AbstractOneInputOneOutputOneFramePushRuntime.java:56)
> 	at org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.flushIfNotFailed(AbstractOneInputOneOutputOneFramePushRuntime.java:62)
> 	at org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.close(AbstractOneInputOneOutputOneFramePushRuntime.java:50)
> 	at org.apache.hyracks.algebricks.runtime.operators.std.EmptyTupleSourceRuntimeFactory$1.open(EmptyTupleSourceRuntimeFactory.java:52)
> 	at org.apache.hyracks.algebricks.runtime.operators.meta.AlgebricksMetaOperatorDescriptor$1.initialize(AlgebricksMetaOperatorDescriptor.java:104)
> 	at org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable.initialize(SuperActivityOperatorNodePushable.java:85)
> 	at org.apache.hyracks.control.nc.Task.run(Task.java:255)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.storage.am.btree.exceptions.BTreeException: java.lang.NullPointerException
> 	at org.apache.hyracks.storage.am.common.dataflow.IndexSearchOperatorNodePushable.nextFrame(IndexSearchOperatorNodePushable.java:189)
> 	at org.apache.hyracks.dataflow.common.comm.io.AbstractFrameAppender.flush(AbstractFrameAppender.java:83)
> 	at org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.flushAndReset(AbstractOneInputOneOutputOneFramePushRuntime.java:56)
> 	at org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.flushIfNotFailed(AbstractOneInputOneOutputOneFramePushRuntime.java:62)
> 	at org.apache.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime.close(AbstractOneInputOneOutputOneFramePushRuntime.java:50)
> 	at org.apache.hyracks.algebricks.runtime.operators.std.EmptyTupleSourceRuntimeFactory$1.open(EmptyTupleSourceRuntimeFactory.java:52)
> 	at org.apache.hyracks.algebricks.runtime.operators.meta.AlgebricksMetaOperatorDescriptor$1.initialize(AlgebricksMetaOperatorDescriptor.java:104)
> 	at org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable.initialize(SuperActivityOperatorNodePushable.java:85)
> 	at org.apache.hyracks.control.nc.Task.run(Task.java:255)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.storage.am.btree.exceptions.BTreeException: java.lang.NullPointerException
> 	at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTreeWithBuddySearchCursor.searchNextCursor(LSMBTreeWithBuddySearchCursor.java:71)
> 	at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTreeWithBuddySearchCursor.open(LSMBTreeWithBuddySearchCursor.java:122)
> 	at org.apache.hyracks.storage.am.lsm.btree.impls.ExternalBTreeWithBuddy.search(ExternalBTreeWithBuddy.java:336)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.ExternalIndexHarness.search(ExternalIndexHarness.java:173)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor.search(LSMTreeIndexAccessor.java:99)
> 	at org.apache.hyracks.storage.am.common.dataflow.IndexSearchOperatorNodePushable.nextFrame(IndexSearchOperatorNodePushable.java:185)
> 	... 11 more
> Caused by: org.apache.hyracks.storage.am.btree.exceptions.BTreeException: java.lang.NullPointerException
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.performOp(BTree.java:789)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.search(BTree.java:202)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.access$600(BTree.java:74)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.search(BTree.java:914)
> 	at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTreeWithBuddySearchCursor.searchNextCursor(LSMBTreeWithBuddySearchCursor.java:69)
> 	... 16 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.hyracks.storage.am.common.tuples.TypeAwareTupleReference.resetByTupleOffset(TypeAwareTupleReference.java:57)
> 	at org.apache.hyracks.storage.am.lsm.btree.tuples.LSMBTreeTupleReference.resetByTupleOffset(LSMBTreeTupleReference.java:70)
> 	at org.apache.hyracks.storage.am.lsm.btree.tuples.LSMBTreeTupleReference.resetByTupleIndex(LSMBTreeTupleReference.java:75)
> 	at org.apache.hyracks.storage.am.btree.frames.OrderedSlotManager.findTupleIndex(OrderedSlotManager.java:44)
> 	at org.apache.hyracks.storage.am.btree.frames.BTreeNSMLeafFrame.findTupleIndex(BTreeNSMLeafFrame.java:257)
> 	at org.apache.hyracks.storage.am.btree.impls.BTreeRangeSearchCursor.getHighKeyIndex(BTreeRangeSearchCursor.java:234)
> 	at org.apache.hyracks.storage.am.btree.impls.BTreeRangeSearchCursor.open(BTreeRangeSearchCursor.java:290)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.performOp(BTree.java:750)
> 	... 20 more
> Oct 05, 2015 11:33:11 AM org.apache.hyracks.control.nc.Joblet close



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)