You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@asterixdb.apache.org by "Abdullah Alamoudi (JIRA)" <ji...@apache.org> on 2015/09/04 09:22:47 UTC

[jira] [Commented] (ASTERIXDB-1084) INSERT doesn't return when inserting into a dataset with filter and multiple secondary indexes

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

Abdullah Alamoudi commented on ASTERIXDB-1084:
----------------------------------------------

After looking at the logs, it turns out that this causes a StackOverflow exception at the cc. 

java.lang.StackOverflowError
        at org.apache.hyracks.algebricks.core.algebra.operators.logical.visitors.UsedVariableVisitor.visitAssignOperator(UsedVariableVisitor.java:89)
        at org.apache.hyracks.algebricks.core.algebra.operators.logical.visitors.UsedVariableVisitor.visitAssignOperator(UsedVariableVisitor.java:71)
        at org.apache.hyracks.algebricks.core.algebra.operators.logical.AssignOperator.accept(AssignOperator.java:60)
        at org.apache.hyracks.algebricks.core.algebra.operators.logical.visitors.VariableUtilities.getUsedVariables(VariableUtilities.java:36)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:91)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)
        at org.apache.asterix.optimizer.rules.RemoveUnusedOneToOneEquiJoinRule.removeUnusedJoin(RemoveUnusedOneToOneEquiJoinRule.java:108)

> INSERT doesn't return when inserting into a dataset with filter and multiple secondary indexes
> ----------------------------------------------------------------------------------------------
>
>                 Key: ASTERIXDB-1084
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1084
>             Project: Apache AsterixDB
>          Issue Type: Bug
>          Components: AsterixDB
>            Reporter: Abdullah Alamoudi
>              Labels: features
>
> When a dataset with multiple secondary indexes is created, queries which insert into this dataset don't come back after submission.
> To reproduce, execute the following commands:
> 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;
> create dataset FacebookMessages2(FacebookMessageType)
> primary key message-id with filter on send-time;
> load dataset FacebookMessages using localfs
> (("path"="nc1://data/fbm-with-send-time.adm"),("format"="adm"));
> create index AuthIdx on FacebookMessages2(author-id);
> create index ResIdx on FacebookMessages2(in-response-to);
> create index fbSenderLocIndex on FacebookMessages2(sender-location) type rtree;
> // The bug is here
> insert into dataset FacebookMessages2 (
> for $m in dataset('FacebookMessages')
> 	return $m
> );



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