[ https://issues.apache.org/jira/browse/DRILL-5159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kunal Khatua updated DRILL-5159: -------------------------------- Reviewer: Rahul Challapalli (was: Aman Sinha) > ProjectMergeRule in Drill should operate on RelNodes with same convention > trait. > -------------------------------------------------------------------------------- > > Key: DRILL-5159 > URL: https://issues.apache.org/jira/browse/DRILL-5159 > Project: Apache Drill > Issue Type: Bug > Components: Query Planning & Optimization > Reporter: Jinfeng Ni > Assignee: Jinfeng Ni > Labels: ready-to-commit > Fix For: 1.10.0 > > > Drill extended version of Calcite's ProjectMergeRule is used in a > VolcanoPlanner where RelNodes with different convention could match with this > rule. > For instance, we could see this rule could be invoked when a DrillProject on > top of a LogicalProject. Also, since the output RelNode is built from the > default Project RelFactory, such rule execution could end up with a > LogicalProject. > {code} > DrillProject transform > \ ===> LogicalProject > LogicalProject > {code} > > This leads to un-necessary rule execution, or in certain case could lead to > an infinite loop. > The proposed fix is to check matched RelNodes to make sure that they do have > Calcite Logical convention. That way, both inputs and output of this rule > would have same convention trait. This should reduce planning time, and > avoid the possiblity of loop. -- This message was sent by Atlassian JIRA (v6.3.15#6346)