Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-28252

AssertionError when using HiveTableScan with a HepPlanner cluster

    XMLWordPrintableJSON

Details

    Description

      The HiveTableScan operator throws an AssertionError if the operator does not have the HiveRelNode.CONVENTION set.

      The HepPlanner does not use any RelTraitDef so the default empty traitset for the respective cluster is gonna be always empty.

      In principle we should not be able to use the HiveTableScan operator with HepPlanner. However, the optimizer heavily uses the HepPlanner (in fact more than the VolcanoPlanner and it is reasonable to wonder how is this possible given that this assertion is in place. The assertion is circumvented by creating a cluster from a VolcanoPlanner and then using it in the HepPlanner.
      This cluster usage is a bit contrived but does not necessarily need to change at this stage.

      Nevertheless, since the HiveTableScan operator is suitable to run with the HepPlanner the assertion can be relaxed (or removed altogether) to better reflect the actual usage of the operator, and allow passing a "true" HepPlanner cluster inside the operator.

      Attachments

        Issue Links

          Activity

            People

              zabetak Stamatis Zampetakis
              zabetak Stamatis Zampetakis
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: