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)