[ 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