[jboss-jira] [JBoss JIRA] (WFLY-2605) TCCL leak in infinispan transaction reaper thread
Brent Douglas (JIRA)
jira-events at lists.jboss.org
Sun Dec 8 16:43:05 EST 2013
[ https://issues.jboss.org/browse/WFLY-2605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12929362#comment-12929362 ]
Brent Douglas commented on WFLY-2605:
-------------------------------------
Hi Paul,
I saw your comment before but I have been in transit all weekend and unable to reply. I should be using wildfly's default region factory. I just remembered however that I did add change the inifinispan config in that I added eager starting and a jndi name though I don't think I actually use them any more, they were for some issues back when I was using hibernate-3-bundled. I have included both the hibernate config and the relevant part of the ispn config.
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="SomePU">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>${some.datasource:java:jboss/datasources/SomeMainDS}</jta-data-source>
<jar-file>zeus-model-${version.other.model.jar}.jar</jar-file>
<properties>
<property name="hibernate.show_sql" value="${deploy.development}"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.generate_statistics" value="false"/>
<property name="hibernate.hbm2ddl.auto" value="validate"/>
<property name="hibernate.cache.use_query_cache" value="true"/>
<property name="hibernate.cache.use_second_level_cache" value="true"/>
<property name="hibernate.cache.use_minimal_puts" value="true"/>
<property name="hibernate.cache.use_structured_entries" value="true"/>
<property name="hibernate.jdbc.use_streams_for_binary" value="true"/>
<property name="hibernate.max_fetch_depth" value="3"/>
<property name="hibernate.default_batch_fetch_size" value="8"/>
<property name="hibernate.ejb.naming_strategy" value="org.hibernate.cfg.ImprovedNamingStrategy"/>
<property name="hibernate.c3p0.min_size" value="5"/>
<property name="hibernate.c3p0.max_size" value="20"/>
<property name="hibernate.c3p0.timeout" value="300"/>
<property name="hibernate.c3p0.max_statements" value="50"/>
<property name="hibernate.c3p0.idle_test_period" value="3000"/>
<property name="jboss.entity.manager.jndi.name" value="java:/SomeEntityManager"/>
<property name="jboss.entity.manager.factory.jndi.name" value="java:/SomeEntityManagerFactory"/>
<property name="hibernate.cache.infinispan.entity.eviction.strategy" value="LRU"/>
<property name="hibernate.cache.infinispan.entity.eviction.max_entries" value="15000"/>
<property name="hibernate.cache.infinispan.entity.expiration.wake_up_interval" value="20000"/>
<property name="hibernate.cache.infinispan.entity.expiration.lifespan" value="120000"/>
<property name="hibernate.cache.infinispan.entity.expiration.max_idle" value="30000"/>
<property name="hibernate.ejb.event.post-load" value="data.listener.DomainSecurityListener"/>
</properties>
</persistence-unit>
</persistence>
<subsystem xmlns="urn:jboss:domain:infinispan:2.0">
...
<cache-container name="hibernate" default-cache="local-query" jndi-name="java:jboss/infinispan/container/hibernate" start="EAGER" module="org.hibernate">
<transport lock-timeout="60000"/>
<local-cache name="local-query">
<transaction mode="NONE"/>
<eviction strategy="LRU" max-entries="10000"/>
<expiration max-idle="100000"/>
</local-cache>
<invalidation-cache name="entity" mode="SYNC">
<transaction mode="NON_XA"/>
<eviction strategy="LRU" max-entries="10000"/>
<expiration max-idle="100000"/>
</invalidation-cache>
<replicated-cache name="timestamps" mode="ASYNC">
<transaction mode="NONE"/>
<eviction strategy="NONE"/>
</replicated-cache>
</cache-container>
</subsystem>
{code}
> TCCL leak in infinispan transaction reaper thread
> -------------------------------------------------
>
> Key: WFLY-2605
> URL: https://issues.jboss.org/browse/WFLY-2605
> Project: WildFly
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Clustering, JPA / Hibernate
> Affects Versions: 8.0.0.Beta1
> Environment: Fedora 19, Oracle 7u45, Wildfly 7952aa65e67e1d
> Reporter: Brent Douglas
> Assignee: Paul Ferraro
>
> The reaper thread created in TransactionTable is leaking a deployment module classloader. I have observed by deploying and undeploying the same artifact a couple of times over that only the first deployment is held.
> Looking at where the thread is created in [TransactionTable|https://github.com/infinispan/infinispan/blob/master/core/src/main/java/org/infinispan/transaction/TransactionTable.java?source=cc#L133] it looks to me like it will get the TCCL of the caller so either that should be changed in Infinispan or the caller TCCL should be set appropriately.
> !http://i.imgur.com/M37pHSe.png!
--
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
More information about the jboss-jira
mailing list