cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bharath Ganesh (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (CXF-1621) Memory Leak in WSDLManagerImpl - SchemaCacheMap
Date Tue, 10 Jun 2008 12:22:45 GMT

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

Bharath Ganesh resolved CXF-1621.
---------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.7
                   2.1.1

http://www.nabble.com/Memory-Leak-at-WSDLManagerImpl-td17579537.html

The schemaCacheMap will now always have a weak value (This will be done by putting a WeakReference
of the
ServiceSchemaInfo in the map). 

> Memory Leak in WSDLManagerImpl - SchemaCacheMap
> -----------------------------------------------
>
>                 Key: CXF-1621
>                 URL: https://issues.apache.org/jira/browse/CXF-1621
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.1, 2.0.6
>            Reporter: Bharath Ganesh
>            Assignee: Bharath Ganesh
>             Fix For: 2.1.1, 2.0.7
>
>
> The schemaCacheMap in WSDLManagerImpl has a weak key - WSDLDefinition and value ServiceSchemaInfo.
A key,value pair is inserted into this map while building a service. The entry is never explicitly
removed from this map. Since the map is a WeakHashMap, it is assumed that when the key WSDLDefinition
is weakly referenced, the entry would be removed from the map. But it is seen that the value
ServiceSchemaInfo(the value) holds on to a SchemaInfo which in turn holds on to the ServiceInfo,
which holds the WSDLDefinition through the AbstractPropertiesHolder.
> This would mean that the value of the CacheMap always strongly refers to the key, which
would mean the entry would never be removed from the map.
> "The value objects in a WeakHashMap are held by ordinary strong references. Thus care
should be taken to ensure that value objects do not strongly refer to their own keys, either
directly or indirectly, since that will prevent the keys from being discarded"
> This would mean ServiceInfo, OperationInfo, BindingInfo, WSDLDefinition would all stay
in the VM even after the endpoint is stopped.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message