[ 
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)

Reply via email to