[
https://issues.apache.org/jira/browse/CALCITE-2538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16605067#comment-16605067
]
Julian Hyde commented on CALCITE-2538:
--------------------------------------
I think we've seen this before. Look for a duplicate JIRA case.
> Missing RelMetadataQuery invalidation before subset cost improvement
> propagation
> --------------------------------------------------------------------------------
>
> Key: CALCITE-2538
> URL: https://issues.apache.org/jira/browse/CALCITE-2538
> Project: Calcite
> Issue Type: Bug
> Components: core
> Reporter: Laurent Goujon
> Assignee: Julian Hyde
> Priority: Major
>
> When planner log level is set to debug, several tests are failing with the
> following error message:
> {noformat}
> rel
> [rel#11408:EnumerableProject.ENUMERABLE.[](input=rel#11180:Subset#2.ENUMERABLE.[0],DUMMY=0)]
> has lower cost {24.5 rows, 39.5 cpu, 0.0 io} than best cost {28.0 rows, 36.0
> cpu, 0.0 io} of subset [rel#11177:Subset#3.ENUMERABLE.[]]
> {noformat}
> The following query (from 'sql/agg.iq') should exhibit the issue:
> {code:sql}
> select sum(e.sal) as s from "scott".emp e join "scott".emp m on e.mgr =
> e.empno;
> {code}
> I tried to trace it back and my understanding is that during cost improvement
> propagation, a subset has its cost/best node changed, and it triggers
> recomputing the cost of the parent subset, but the current best node of the
> parent has its value cached in the current rel metadata query, and is not
> recomputed. During a later validation, this error is detected and the
> assertion is thrown.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)