asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Murtadha Hubail (JIRA)" <>
Subject [jira] [Assigned] (ASTERIXDB-1152) DatasetLifecycleManager returns wrong index because of resourceID fetching issues
Date Fri, 23 Oct 2015 03:35:27 GMT


Murtadha Hubail reassigned ASTERIXDB-1152:

    Assignee: Murtadha Hubail

> DatasetLifecycleManager returns wrong index because of resourceID fetching issues
> ---------------------------------------------------------------------------------
>                 Key: ASTERIXDB-1152
>                 URL:
>             Project: Apache AsterixDB
>          Issue Type: Bug
>            Reporter: Taewoo Kim
>            Assignee: Murtadha Hubail
> When you have multiple secondary indexes on a dataset and tries to bulkload data into
that dataset, an exception happens. The reason that Young-Seok and I observed was one issue.
That is, IndexLifecycleManager returns wrong index because of resourceID fetching issues.
Specifically, if an index file already exists on disk, it is cached as a local resource. When
indexDataFlowHelper tries to get the index by dataset and resource name, IndexLifecyclyManager
returns a wrong resource ID to the currently existing index (e.g., LSMBTree index will be
returned for LSMInvertedIndexDataflowHelper). 
> You can reproduce this issue by executing one ExecutionTest that creates multiple secondary
indexes and does a bulkload - index-leftouterjoin/probe-pidx-with-join-btree-sidx1. 
> Then, you can see the following exception, which is the result of mismatch between the
expected index-type and actual index. 
> org.apache.hyracks.api.exceptions.HyracksDataException: java.lang.ArrayIndexOutOfBoundsException:
> 	at org.apache.hyracks.dataflow.std.sort.ExternalSortRunMerger.process(
> 	at org.apache.hyracks.dataflow.std.sort.AbstractSorterOperatorDescriptor$MergeActivity$1.initialize(
> 	at org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable.initialize(
> 	at
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(
> 	at java.util.concurrent.ThreadPoolExecutor$
> 	at
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 2
> 	at
> 	at
> 	at
> 	at
> 	at$BTreeBulkLoader.add(
> 	at$LSMBTreeBulkLoader.add(
> 	at
> 	at
> 	at org.apache.hyracks.dataflow.std.sort.AbstractFrameSorter.flush(
> 	at org.apache.hyracks.dataflow.std.sort.ExternalSortRunMerger.process(
> 	... 6 more 

This message was sent by Atlassian JIRA

View raw message