[jboss-jira] [JBoss JIRA] Reopened: (JBAS-5414) Application class loaders leak to JGroups thread pools
Brian Stansberry (JIRA)
jira-events at lists.jboss.org
Tue Jun 17 15:57:37 EDT 2008
[ http://jira.jboss.com/jira/browse/JBAS-5414?page=all ]
Brian Stansberry reopened JBAS-5414:
------------------------------------
There are still problems with this:
1) TP.ProtocolAdapter creates a ThreadFactory during the channel connect phase, too late for it to be managed by the AS channel factory.
2) FD_SOCK.init() creates a thread for ServerSocketHandler. That thread is created before the factory is managed by the channel factory.
For the latter, I can have the channel factory set the TCCL to its classloader before creating any channel. The former seems like a more difficult problem.
> Application class loaders leak to JGroups thread pools
> ------------------------------------------------------
>
> Key: JBAS-5414
> URL: http://jira.jboss.com/jira/browse/JBAS-5414
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Clustering
> Affects Versions: JBossAS-5.0.0.Beta4
> Reporter: Brian Stansberry
> Assigned To: Brian Stansberry
> Fix For: JBossAS-5.0.0.CR1
>
>
> Application threads carrying messages down can end up creating pool threads in the various JGroups thread pools, and will leak their TCCL to the pool thread.
> Immediate solution is to have the AS channel factory inject specialized thread pools into the channels it creates. Specialized thread pool will ensure TCCL leaks don't occur, using the same basic approach as was used for JBCOMMON-41.
> We'll see whether JGroups can add the ability to handle this itself.
> Also need to ensure that the default domain classloader is the TCCLwhenever the AS (including EJB3 and Hibernate) connects a channel. This will prevent leakage of user deployment classloaders to the many JGroups threads created during Channel.connect(). Currently this isn't an issue as all channels are created as part of deployment of core services where the TCCL is the default domain loader. But, this will become an issue as we switch to lazy-initializing JBoss Cache instances as part of deploying user apps.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list