[
https://issues.jboss.org/browse/ISPN-2786?page=com.atlassian.jira.plugin....
]
Dan Berindei commented on ISPN-2786:
------------------------------------
Sorry, my previous comment would is more relevant to the pull request than the issue...
The ThreadLocal documentation also says "Each thread holds an implicit reference to
its copy of a thread-local variable as long as the thread is alive *and the ThreadLocal
instance is accessible.*" So I'm pretty sure the thread-local can't leak
unless the AbstractJBossMarshaller instance is leaked as well.
Indeed, your fix fixes the test, but I don't think it completely fixes the Tomcat use
case. Even if it did remove all thread-local values properly, if we leak the
AbstractJBossMarshaller then the classloader is still accessible and we still have a
memory leak.
ThreadLocal memory leak in Tomcat
---------------------------------
Key: ISPN-2786
URL:
https://issues.jboss.org/browse/ISPN-2786
Project: Infinispan
Issue Type: Bug
Components: Marshalling, Transactions
Affects Versions: 5.1.8.Final
Reporter: Johann Burkard
Assignee: Galder ZamarreƱo
Labels: leak, local, memory, thread, threadlocal
Fix For: 5.3.0.Final
Just started an app using Infinispan 5.1.8.Final on Tomcat and got a few ThreadLocal
problems during un-deployment:
(Shortened)
{code}
key=org.jboss.marshalling.UTFUtils.BytesHolder
value=org.jboss.marshalling.UTFUtils$BytesHolder@697a1686
key=java.lang.ThreadLocal@36ed5ba6
value=org.infinispan.context.SingleKeyNonTxInvocationContext{flags=null}
key=org.infinispan.marshall.jboss.AbstractJBossMarshaller$1
value=org.infinispan.marshall.jboss.AbstractJBossMarshaller$1@75f10df7
value=org.infinispan.marshall.jboss.AbstractJBossMarshaller.PerThreadInstanceHolder
{code}
I do call {{DefaultCacheManager#shutdown()}} during un-deployment. :)
Thanks
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira