[
https://issues.apache.org/jira/browse/DRILL-6212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16513277#comment-16513277
]
ASF GitHub Bot commented on DRILL-6212:
---------------------------------------
ilooner commented on a change in pull request #1319: DRILL-6212: Prevent
recursive cast expressions
URL: https://github.com/apache/drill/pull/1319#discussion_r195624878
##########
File path:
exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillMergeProjectRule.java
##########
@@ -77,4 +84,79 @@ private boolean checkComplexOutput(Project project) {
}
return false;
}
+
+ @Override
+ public void onMatch(RelOptRuleCall call) {
+ final Project topProject = call.rel(0);
Review comment:
@gparai I'm okay with the temporary fix since it has been battle tested with
users, but could you create a Jira to for undoing the changes once the fix in
Calcite is made. Also please include some details in the jira about what would
need to be done, and add a note in the javadoc of DrillMergeProjectRule
pointing to CALCITE-2223 and the Drill Jira. I'm guessing that we would be able
to extend from ProjectMergeRule again when the fix for CALCITE-2223 is
available?
While it's good to have this fixed in Drill in the short term, in the long
term it is not sustainable to accumulate custom fixes for Calcite in Drill.
Looking at CALCITE-2223 they haven't settled on a solution yet, and there
hasn't been any activity there for two months. I think you should propose this
solution for CALCITE-2223 and open a PR against Calcite as well.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> A simple join is recursing too deep in planning and eventually throwing stack
> overflow.
> ---------------------------------------------------------------------------------------
>
> Key: DRILL-6212
> URL: https://issues.apache.org/jira/browse/DRILL-6212
> Project: Apache Drill
> Issue Type: Bug
> Components: Query Planning & Optimization
> Affects Versions: 1.12.0
> Reporter: Hanumath Rao Maduri
> Assignee: Gautam Kumar Parai
> Priority: Critical
> Fix For: 1.14.0
>
>
> Create two views using following statements.
> {code}
> create view v1 as select cast(greeting as int) f from
> dfs.`/home/mapr/data/json/temp.json`;
> create view v2 as select cast(greeting as int) f from
> dfs.`/home/mapr/data/json/temp.json`;
> {code}
> Executing the following join query produces a stack overflow during the
> planning phase.
> {code}
> select t1.f from dfs.tmp.v1 as t inner join dfs.tmp.v2 as t1 on cast(t.f as
> int) = cast(t1.f as int) and cast(t.f as int) = 10 and cast(t1.f as int) = 10;
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)