You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Stamatis Zampetakis (Jira)" <ji...@apache.org> on 2020/09/08 07:09:00 UTC

[jira] [Created] (CALCITE-4237) AssertionError in SqlTypeFactoryImpl.leastRestrictive when running slow tests

Stamatis Zampetakis created CALCITE-4237:
--------------------------------------------

             Summary: AssertionError in SqlTypeFactoryImpl.leastRestrictive when running slow tests
                 Key: CALCITE-4237
                 URL: https://issues.apache.org/jira/browse/CALCITE-4237
             Project: Calcite
          Issue Type: Bug
            Reporter: Stamatis Zampetakis
             Fix For: 1.26.0


There are various failures when running slow tests all due to the AssertionError raised in SqlTypeFactoryImpl.leastRestrictive.

Below a few tests that fail and the respective stacktraces showing the problem:

LatticeSuggesterTest#testFoodMartAll()
{noformat}
java.lang.AssertionError
    at org.apache.calcite.sql.type.SqlTypeFactoryImpl.leastRestrictive(SqlTypeFactoryImpl.java:152)
    at org.apache.calcite.rex.RexSimplify$RexSargBuilder.getType(RexSimplify.java:2693)
    at org.apache.calcite.rex.RexSimplify$SargCollector.fix(RexSimplify.java:2631)
    at org.apache.calcite.rex.RexSimplify.lambda$simplifyOrs$8(RexSimplify.java:1762)
    at java.util.ArrayList.forEach(ArrayList.java:1259)
    at org.apache.calcite.rex.RexSimplify.simplifyOrs(RexSimplify.java:1762)
    at org.apache.calcite.rex.RexSimplify.simplifyOr(RexSimplify.java:1736)
    at org.apache.calcite.rex.RexSimplify.simplify(RexSimplify.java:274)
    at org.apache.calcite.rex.RexSimplify.simplifyUnknownAs(RexSimplify.java:243)
    at org.apache.calcite.rex.RexSimplify.simplifyUnknownAsFalse(RexSimplify.java:232)
    at org.apache.calcite.rex.RexSimplify.simplifyFilterPredicates(RexSimplify.java:2484)
    at org.apache.calcite.tools.RelBuilder.filter(RelBuilder.java:1224)
    at org.apache.calcite.tools.RelBuilder.filter(RelBuilder.java:1200)
    at org.apache.calcite.rel.rules.FilterJoinRule.perform(FilterJoinRule.java:179)
    at org.apache.calcite.rel.rules.FilterJoinRule$FilterIntoJoinRule.onMatch(FilterJoinRule.java:377)
    at org.apache.calcite.plan.AbstractRelOptPlanner.fireRule(AbstractRelOptPlanner.java:333)
    at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:542)
    at org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:407)
    at org.apache.calcite.plan.hep.HepPlanner.executeInstruction(HepPlanner.java:243)
    at org.apache.calcite.plan.hep.HepInstruction$RuleInstance.execute(HepInstruction.java:127)
    at org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:202)
    at org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:189)
    at org.apache.calcite.materialize.LatticeSuggester.addQuery(LatticeSuggester.java:134)
    at org.apache.calcite.materialize.LatticeSuggesterTest$Tester.addQuery(LatticeSuggesterTest.java:818)
    at org.apache.calcite.materialize.LatticeSuggesterTest.checkFoodMartAll(LatticeSuggesterTest.java:309)
    at org.apache.calcite.materialize.LatticeSuggesterTest.testFoodMartAll(LatticeSuggesterTest.java:398)
{noformat}

FoodmartTest#test(FoodmartQuery)[2383]
{noformat}
java.lang.AssertionError
    at org.apache.calcite.sql.type.SqlTypeFactoryImpl.leastRestrictive(SqlTypeFactoryImpl.java:152)
    at org.apache.calcite.rex.RexSimplify$RexSargBuilder.getType(RexSimplify.java:2693)
    at org.apache.calcite.rex.RexSimplify$SargCollector.fix(RexSimplify.java:2631)
    at org.apache.calcite.rex.RexSimplify.lambda$simplifyOrs$8(RexSimplify.java:1762)
    at java.util.ArrayList.forEach(ArrayList.java:1259)
    at org.apache.calcite.rex.RexSimplify.simplifyOrs(RexSimplify.java:1762)
    at org.apache.calcite.rex.RexSimplify.simplifyOr(RexSimplify.java:1736)
    at org.apache.calcite.rex.RexSimplify.simplify(RexSimplify.java:274)
    at org.apache.calcite.rex.RexSimplify.simplifyList(RexSimplify.java:503)
    at org.apache.calcite.rex.RexSimplify.simplifyAnd(RexSimplify.java:1295)
    at org.apache.calcite.rex.RexSimplify.simplify(RexSimplify.java:272)
    at org.apache.calcite.rex.RexSimplify.simplifyUnknownAs(RexSimplify.java:243)
    at org.apache.calcite.rex.RexSimplify.simplifyUnknownAsFalse(RexSimplify.java:232)
    at org.apache.calcite.rex.RexSimplify.simplifyFilterPredicates(RexSimplify.java:2484)
    at org.apache.calcite.tools.RelBuilder.filter(RelBuilder.java:1224)
    at org.apache.calcite.tools.RelBuilder.filter(RelBuilder.java:1211)
    at org.apache.calcite.sql2rel.RelFieldTrimmer.trimFields(RelFieldTrimmer.java:596)
    at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:524)
    at org.apache.calcite.sql2rel.RelFieldTrimmer.dispatchTrimFields(RelFieldTrimmer.java:280)
    at org.apache.calcite.sql2rel.RelFieldTrimmer.trimChild(RelFieldTrimmer.java:222)
    at org.apache.calcite.sql2rel.RelFieldTrimmer.trimFields(RelFieldTrimmer.java:469)
    at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:524)
    at org.apache.calcite.sql2rel.RelFieldTrimmer.dispatchTrimFields(RelFieldTrimmer.java:280)
    at org.apache.calcite.sql2rel.RelFieldTrimmer.trimChild(RelFieldTrimmer.java:222)
    at org.apache.calcite.sql2rel.RelFieldTrimmer.trimFields(RelFieldTrimmer.java:1015)
    at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:524)
    at org.apache.calcite.sql2rel.RelFieldTrimmer.dispatchTrimFields(RelFieldTrimmer.java:280)
    at org.apache.calcite.sql2rel.RelFieldTrimmer.trimChild(RelFieldTrimmer.java:222)
    at org.apache.calcite.sql2rel.RelFieldTrimmer.trimFields(RelFieldTrimmer.java:627)
    at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:524)
    at org.apache.calcite.sql2rel.RelFieldTrimmer.dispatchTrimFields(RelFieldTrimmer.java:280)
    at org.apache.calcite.sql2rel.RelFieldTrimmer.trim(RelFieldTrimmer.java:169)
    at org.apache.calcite.tools.Programs$TrimFieldsProgram.run(Programs.java:370)
    at org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:331)
    at org.apache.calcite.prepare.Prepare.optimize(Prepare.java:166)
    at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:297)
    at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:208)
    at org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:632)
    at org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:498)
    at org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:468)
    at org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:231)
    at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:556)
    at org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:675)
    at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
    at org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:227)
    at org.apache.commons.dbcp2.DelegatingStatement.executeQuery(DelegatingStatement.java:310)
    at org.apache.commons.dbcp2.DelegatingStatement.executeQuery(DelegatingStatement.java:310)
    at org.apache.calcite.test.CalciteAssert.assertQuery(CalciteAssert.java:534)
    at org.apache.calcite.test.CalciteAssert$AssertQuery.lambda$runs$4(CalciteAssert.java:1583)
    at org.apache.calcite.test.CalciteAssert$AssertQuery.withConnection(CalciteAssert.java:1474)
    at org.apache.calcite.test.CalciteAssert$AssertQuery.runs(CalciteAssert.java:1581)
    at org.apache.calcite.test.FoodmartTest.lambda$test$0(FoodmartTest.java:154)
{noformat}





--
This message was sent by Atlassian Jira
(v8.3.4#803005)