cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrus Adamchik (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (CAY-2066) Memory leak in ExtendedTypeMap for inner classes
Date Sun, 06 Mar 2016 00:20:40 GMT

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

Mime
View raw message