You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Andrus Adamchik (JIRA)" <ji...@apache.org> on 2016/03/06 01:20:40 UTC

[jira] [Closed] (CAY-2066) Memory leak in ExtendedTypeMap for inner classes

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

Andrus Adamchik closed CAY-2066.
--------------------------------
       Resolution: Fixed
    Fix Version/s: 4.0.M4

Good catch! So to record this for posterity, the leak occurs inside ExtendedTypeMap.extendedTypeFactories. I implemented a slightly different fix (0e0da8064cde5499b48858bf9b47dc5169f5782c) that maps all names (canonical or otherwise) to canonical names. This reused our existing algorithm for resolving primitive classes. So hopefully we didn't add any new overhead. 



> Memory leak in ExtendedTypeMap for inner classes
> ------------------------------------------------
>
>                 Key: CAY-2066
>                 URL: https://issues.apache.org/jira/browse/CAY-2066
>             Project: Cayenne
>          Issue Type: Bug
>            Reporter: Victor Antonovich
>             Fix For: 4.0.M4
>
>
> Memory leak is introduced in *o.a.c.access.types.ExtendedTypeMap* by method *getRegisteredType(String)* when it's called with inner class name in "dot" notation. Since *ExtendedType* created by *getExplictlyRegisteredType(String)* is registered by *registerType(ExtendedType)* method using "$" class name notation, *extendedTypeFactories* list will grow up after each method call.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)