You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2017/05/31 22:29:04 UTC

[jira] [Resolved] (CALCITE-1816) JaninoRelMetadataProvider generated classes leak ACTIVE nodes on exception

     [ https://issues.apache.org/jira/browse/CALCITE-1816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Hyde resolved CALCITE-1816.
----------------------------------
       Resolution: Fixed
    Fix Version/s: 1.13.0

Fixed in http://git-wip-us.apache.org/repos/asf/calcite/commit/d4b0acdd. Thanks for the PR, [~rusanu]!

> JaninoRelMetadataProvider generated classes leak ACTIVE nodes on exception
> --------------------------------------------------------------------------
>
>                 Key: CALCITE-1816
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1816
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.13.0
>            Reporter: Remus Rusanu
>            Assignee: Remus Rusanu
>             Fix For: 1.13.0
>
>
> The exception catch in the GeneratedMetadataHandler_XXX removes the ACTIVE guard node in the mq.map cache only if the exception is of type NoHandler. For any other exception (notably for CyclicMetadataException) the ACTIVE node is leaked (left in the map). CyclicMetadataException exceptions are frequent because of cycles in RelSubset.
> This issue is not visible normally because the aggressive refresh of mq via RelMetadaatQuery.instance() calls (CALCITE-1812). With my changes to increase the lifetime of the used mq instances the leaked nodes become a problem as they trigger bogus CyclicMetadataException from leftover nodes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)