[ 
https://issues.apache.org/jira/browse/CALCITE-3479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17066260#comment-17066260
 ] 

Xiening Dai commented on CALCITE-3479:
--------------------------------------

[~neoremind] CALCITE-2166 is not fixed completely. In order to fix it, we would 
need to make sure for a given RelSet, the implementation and enforcement rules 
are *always* fired after transformation rules - that how we can guarantee that 
the row count and other logical properties won't change, thus we won't have 
inconsistency issues down the road. But that would require quite some bit of 
design changes to current volcano planner.

> Stack overflow error thrown when running join query
> ---------------------------------------------------
>
>                 Key: CALCITE-3479
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3479
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Amit Chavan
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.22.0
>
>         Attachments: IMG_5089.jpg, TestCalcite.java
>
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> A unit test in our project is failing which is as below.
> The query in question is 
> {code}SELECT * FROM tblspace1.t1 t10, tblspace1.t2 t20 WHERE t20.n1 = 3 AND 
> t10.n1 = 3 AND t20.n1 = t10.n1{code}
> I get a stack overflow error- 
> {noformat}
> -- Mid Plan-- Mid Plan
> LogicalProject(subset=[rel#19:Subset#4.ENUMERABLE.[]], k1=[$0], n1=[$1], 
> s1=[$2], k2=[$3], n10=[$4], s2=[$5])
>   LogicalFilter(subset=[rel#16:Subset#3.NONE.[]], condition=[AND(=($4, 3), 
> =($1, 3), =($4, $1))])
>     LogicalJoin(subset=[rel#14:Subset#2.NONE.[]], condition=[true], 
> joinType=[inner])
>       EnumerableTableScan(subset=[rel#11:Subset#0.ENUMERABLE.[]], 
> table=[[tblspace1, t1]])
>       EnumerableTableScan(subset=[rel#12:Subset#1.ENUMERABLE.[]], 
> table=[[tblspace1, t2]])
> {noformat}
> {code}
> java.lang.StackOverflowError at 
> org.apache.calcite.plan.volcano.RelSubset$CheapestPlanReplacer.visit(RelSubset.java:639)
>  at 
> org.apache.calcite.plan.volcano.RelSubset$CheapestPlanReplacer.visit(RelSubset.java:643)
>  at 
> org.apache.calcite.plan.volcano.RelSubset$CheapestPlanReplacer.visit(RelSubset.java:643)
>  at 
> org.apache.calcite.plan.volcano.RelSubset$CheapestPlanReplacer.visit(RelSubset.java:643)
>  at 
> org.apache.calcite.plan.volcano.RelSubset$CheapestPlanReplacer.visit(RelSubset.java:643)
>  at 
> org.apache.calcite.plan.volcano.RelSubset$CheapestPlanReplacer.visit(RelSubset.java:643)
> {code}
> Also attaching the UT code in the ticket



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to