You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "neoremind (Jira)" <ji...@apache.org> on 2020/03/24 14:15:00 UTC

[jira] [Commented] (CALCITE-3479) Stack overflow error thrown when running join query

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

neoremind commented on CALCITE-3479:
------------------------------------

Reverting this PR will cause the following unit tests failed in {{CsvTest}} when log level is set to {{DEBUG}}.

 
{quote}{{testFilterableWhereWithNot1()
testFilterableWhereWithNot2()
testFilterableWhere2()
testFilterableWhere3()
testFilterableWhere()}}
{quote}
After taking a look of some of the previous related issues, some unit tests failed as well per https://issues.apache.org/jira/browse/CALCITE-2166

{{ }}
{quote}{{ScannableTableTest.testPFPushDownProjectFilterAggregateNested:279 relSubset [rel#12950:Subset#5.ENUMERABLE.[]] has wrong best cost \{63.8 rows, 62.308 cpu, 0.0 io}. Correct cost is \{70.4 rows, 60.404 cpu, 0.0 io}
  ScannableTableTest.testPFTableRefusesFilterCooperative:221 relSubset [rel#13382:Subset#2.ENUMERABLE.[]] has wrong best cost \{81.0 rows, 181.01 cpu, 0.0 io}. Correct cost is \{150.5 rows, 250.505 cpu, 0.0 io}
  ScannableTableTest.testProjectableFilterableCooperative:148 relSubset [rel#13611:Subset#2.ENUMERABLE.[]] has wrong best cost \{81.0 rows, 181.01 cpu, 0.0 io}. Correct cost is \{150.5 rows, 250.505 cpu, 0.0 io}
  ScannableTableTest.testProjectableFilterableNonCooperative:165 relSubset [rel#13754:Subset#2.ENUMERABLE.[]] has wrong best cost \{81.0 rows, 181.01 cpu, 0.0 io}. Correct cost is \{150.5 rows, 250.505 cpu, 0.0 io}}}
{quote}
Will this problem be solved ultimately? Or will it be left out there since it won't affect much?

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