[ 
https://jira.codehaus.org/browse/MNG-5205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306919#comment-306919
 ] 

Jesse Glick commented on MNG-5205:
----------------------------------

Beware that {{SoftReference}} is not cleared easily; basically you have to get 
to an OOM situation first, meaning in the meantime the cache will be impinging 
on usable heap. For a cache like this which is so cheaply recreated, I think 
{{WeakReference}} is more appropriate.
                
> Memory leak in StringSearchModelInterpolator
> --------------------------------------------
>
>                 Key: MNG-5205
>                 URL: https://jira.codehaus.org/browse/MNG-5205
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Inheritance and Interpolation
>    Affects Versions: 3.0.3
>            Reporter: Jesse Glick
>            Assignee: Kristian Rosenvold
>            Priority: Minor
>             Fix For: 3.0.5
>
>         Attachments: x.diff
>
>
> {{StringSearchModelInterpolator}} abuses {{WeakHashMap}}; the {{Field}} 
> values of {{fieldsByClass}} hold hard references to the {{Class}} keys, 
> making it useless. Thus if you passed any {{Class}} to it, that class and its 
> {{ClassLoader}} and the transitive static graph therefrom would never be 
> collectible.
> Anyway a cache is unnecessary, since {{Class}} does its own caching of fields!
> Also removing the ill-conceived {{fieldIsPrimitiveByClass}} - not a memory 
> leak, but likely unnecessary complication.
> The class is deprecated anyway, but just in case it is used by someone it 
> should be fixed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to