Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-726

HiveRelNode.CONVENTION not present in TraitSet

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    Description

      I have tested the latest Calcite snapshot against Hive.

      We get the following exception when we create a Project
      operator copy, that we were not getting in 1.2:

      junit.framework.AssertionFailedError: Unexpected exception
      java.lang.AssertionError
      	at
      org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveProject.copy(H
      iveProject.java:169)
      	at org.apache.calcite.rel.core.Project.copy(Project.java:110)
      	at
      org.apache.calcite.plan.hep.HepPlanner.addRelToGraph(HepPlanner.java:770)
      	at
      org.apache.calcite.plan.hep.HepPlanner.addRelToGraph(HepPlanner.java:764)
      	at
      org.apache.calcite.plan.hep.HepPlanner.addRelToGraph(HepPlanner.java:764)
      	at
      org.apache.calcite.plan.hep.HepPlanner.addRelToGraph(HepPlanner.java:764)
      	at org.apache.calcite.plan.hep.HepPlanner.setRoot(HepPlanner.java:150)
      	at
      org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.hepPlan
      (CalcitePlanner.java:994)
      	at
      org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.applyPr
      eJoinOrderingTransforms(CalcitePlanner.java:951)
      	at
      org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.apply(C
      alcitePlanner.java:820)
      	at
      org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.apply(C
      alcitePlanner.java:768)
      	at org.apache.calcite.tools.Frameworks$1.apply(Frameworks.java:109)
      	at
      org.apache.calcite.prepare.CalcitePrepareImpl.perform(CalcitePrepareImpl.ja
      va:741)
      	at org.apache.calcite.tools.Frameworks.withPrepare(Frameworks.java:145)
      	at org.apache.calcite.tools.Frameworks.withPlanner(Frameworks.java:105)
      	at
      org.apache.hadoop.hive.ql.parse.CalcitePlanner.getOptimizedAST(CalcitePlann
      er.java:607)
      	at
      org.apache.hadoop.hive.ql.parse.CalcitePlanner.genOPTree(CalcitePlanner.jav
      a:244)
      	at
      org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAn
      alyzer.java:10051)
      	at
      org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlann
      er.java:207)
      	at
      org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAn
      alyzer.java:227)
      	at
      org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(Exp
      lainSemanticAnalyzer.java:74)
      	at
      org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAn
      alyzer.java:227)
      ...
      

      The assertion that is not met is the following:

        @Override
        public Project copy(RelTraitSet traitSet, RelNode input, List<RexNode>
      exps,
            RelDataType rowType) {
          assert traitSet.containsIfApplicable(HiveRelNode.CONVENTION);
          return new HiveProject(getCluster(), traitSet, input, exps, rowType,
      getFlags());
        }
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jcamacho Jesús Camacho Rodríguez
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: