You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Abdullah Alamoudi (JIRA)" <ji...@apache.org> on 2016/02/21 08:14:18 UTC

[jira] [Resolved] (ASTERIXDB-1202) StackOverflow when using LSM-filter with two more index on the dataset

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

Abdullah Alamoudi resolved ASTERIXDB-1202.
------------------------------------------
    Resolution: Fixed

There was a problem in the IntroduceSecondaryIndexInsertDeleteRule. It has been fixed.

> StackOverflow when using LSM-filter with two more index on the dataset
> ----------------------------------------------------------------------
>
>                 Key: ASTERIXDB-1202
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1202
>             Project: Apache AsterixDB
>          Issue Type: Bug
>          Components: Optimizer, Storage
>            Reporter: Jianfeng Jia
>            Assignee: Abdullah Alamoudi
>
> I plan to use the LSM filter on a field. It works fine if there is only one  secondary index. However, if there are two secondary indexes on the dataset, the "with filter on" statement will throw a StackOverflow exception.
> {code}
> drop dataverse test if exists;
> create dataverse test;
> use dataverse test;
> create type FacebookMessageType as closed {
>         message-id: int64,
>         author-id: int64,
>         in-response-to: int64?,
>         sender-location: point,
>         message: string,
>         send-time: datetime
> }
> create dataset FacebookMessages(FacebookMessageType)
> primary key message-id with filter on send-time;
> create index idxa on FacebookMessages(in-response-to) type btree;
> create index idxb on FacebookMessages(sender-location) type rtree;
> use dataverse test;
> insert into dataset FacebookMessages ({"message-id":1,"author-id":3,"in-response-to":2,"sender-location":point("47.16,77.75"),"message":" love sprint its shortcut-menu is awesome:)","send-time":datetime("2012-01-20T10:10:00")}
> )
> {code}
> The exception is following:
> {code}
> java.lang.StackOverflowError
>   at org.apache.hyracks.algebricks.core.algebra.operators.logical.visitors.UsedVariableVisitor.visitAssignOperator(UsedVariableVisitor.java:75)
>   at org.apache.hyracks.algebricks.core.algebra.operators.logical.AssignOperator.accept(AssignOperator.java:64)
>   at org.apache.hyracks.algebricks.core.algebra.operators.logical.visitors.VariableUtilities.getUsedVariables(VariableUtilities.java:40)
>   at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:95)
>   at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:112)
>   at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:112)
>   at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:112)
>   at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:112)
>   at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:112)
>   at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:112)
>   at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:112)
> {code}



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