[infinispan-issues] [JBoss JIRA] (ISPN-9561) GlobalConfiguration should keep strong reference to classloader

Gustavo Fernandes (Jira) issues at jboss.org
Wed Oct 3 08:42:01 EDT 2018


     [ https://issues.jboss.org/browse/ISPN-9561?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gustavo Fernandes updated ISPN-9561:
------------------------------------
        Status: Resolved  (was: Pull Request Sent)
    Resolution: Done


> GlobalConfiguration should keep strong reference to classloader
> ---------------------------------------------------------------
>
>                 Key: ISPN-9561
>                 URL: https://issues.jboss.org/browse/ISPN-9561
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 9.4.0.CR3
>            Reporter: Dan Berindei
>            Assignee: Dan Berindei
>            Priority: Major
>             Fix For: 9.4.0.Final
>
>
> {{GlobalConfiguration}} uses a {{WeakReference}} to store its classloader, in order to allow {{JCachingProvider}} to use a {{WeakHashMap<ClassLoader, DefaultCacheManager>}}.
> The weak reference works fine when the classloader is the application classloader, but if the application (or the server, in our case) creates a {{ClassLoader}} instance just for the Infinispan configuration, that classloader can be garbage collected while the cache manager is starting. That is exactly what happens during server startup sometimes, making {{GlobalComponentRegistry}} use the TCCL for module initialization and ignoring all the non-core modules.
> We can still use a {{WeakClassLoader}} adapter that wraps a {{WeakReference<ClassLoader>}} for {{JCachingProvider}}.



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the infinispan-issues mailing list