[
https://issues.apache.org/jira/browse/CALCITE-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16838758#comment-16838758
]
Jesus Camacho Rodriguez commented on CALCITE-3052:
--------------------------------------------------
I could not reproduce this issue either in Calcite or Hive. However, I
revisited the logic and I have created a PR :
https://github.com/apache/calcite/pull/1212
The problem seems to happen when the query has an Aggregate with aggregation
functions followed by a Project that removes some of them. I believe it is
difficult to reproduce this failure because those aggregation functions are
removed from the Aggregate operator (by rules or column pruning) if they are
projected after the Aggregate. Hence, it should be an intermediate state in the
planner the one that leads to the exception.
I ran all regression tests in Calcite and Hive, and everything is looking good.
[~anha], is it possible to verify in your environment whether the patch fixes
the issue you were seeing?
> Error while applying rule MaterializedViewAggregateRule(Project-Aggregate):
> ArrayIndexOutOfBoundsException
> ----------------------------------------------------------------------------------------------------------
>
> Key: CALCITE-3052
> URL: https://issues.apache.org/jira/browse/CALCITE-3052
> Project: Calcite
> Issue Type: Bug
> Affects Versions: 1.19.0
> Reporter: Anton Haidai
> Assignee: Jesus Camacho Rodriguez
> Priority: Major
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> *Materialized views enabled:*
> # {{select avg(grade), count\(*), max(grade), sum(grade), min(grade), team
> from students group by team}}
> # {{select avg(grade), count\(*), max(grade), sum(grade), min(grade), team,
> faculty from students group by faculty, team}},
> *Query:*
> # {{select count\(*), team from students group by team}}
> *Error* (stacktrace is obtained using the current *master* branch:
> "247c7d4f76"):
> {noformat}
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 2
> at
> com.google.common.collect.RegularImmutableList.get(RegularImmutableList.java:60)
> at org.apache.calcite.rex.RexBuilder.makeInputRef(RexBuilder.java:841)
> at
> org.apache.calcite.rel.rules.AbstractMaterializedViewRule$MaterializedViewAggregateRule.rewriteView(AbstractMaterializedViewRule.java:1507)
> at
> org.apache.calcite.rel.rules.AbstractMaterializedViewRule.perform(AbstractMaterializedViewRule.java:522)
> at
> org.apache.calcite.rel.rules.AbstractMaterializedViewRule$MaterializedViewProjectAggregateRule.onMatch(AbstractMaterializedViewRule.java:1776)
> at
> org.apache.calcite.plan.volcano.VolcanoRuleCall.onMatch(VolcanoRuleCall.java:208)
> ... 71 common frames omitted
> {noformat}
> Reproducible only if both Materialization views listed are enabled: any
> single one of these two could be successfully used with the query without any
> errors. Looks like is is reproducible when AbstractMaterializedViewRule is
> trying to rewrite one materialized view using the another materialized view.
> Currently, I'm trying to reproduce the issue in "MaterializationTest":
> without a success so far, I'll update the ticket if I'll find a working way
> to reproduce the issue in the test will be discovered.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)