]
Mathieu Lachance commented on WFLY-6554:
----------------------------------------
Yes I'll try to come up with a simplified version of my war with a reproducible as
soon as possible.
Cache configuration are not eagerly defined in Cache Container
--------------------------------------------------------------
Key: WFLY-6554
URL:
https://issues.jboss.org/browse/WFLY-6554
Project: WildFly
Issue Type: Bug
Components: Clustering
Affects Versions: 10.0.0.Final, 10.1.0.Final
Reporter: Mathieu Lachance
Assignee: Paul Ferraro
In WF8 we used the cache configuration start="EAGER" to force the
initialization of the cache configuration.
In my scenario, we especially used that trick to define all cache configuration (i.e.
entity / timestamps / local-query) in the hibernate cache container before any of our war
was deployed. Doing so, when wiring the EntityManager programatically (in our
application), we were able to depend on the JNDIRegionFactory without getting any
NullPointerException/etc.
This trick has only one bad side effect, which was the creation of unecessary caches.
Now in WF10, the eager feature is gone and it seems that even if the cache container is
available at startup (as discussed in:
https://developer.jboss.org/thread/259151) the
defined caches are not.
I do not know if this is a bug or this is by design but this seems wrong to me.
If we define caches within standalone.xml, I would definitly like to have them defined at
the container level. I think it's fair to assume that when pulling the CacheManager
all defined caches should have been there.
I would suggest that when reading all the infinispan subsystem, each cache contained in
each cache container be eagerly defined to avoid any issue (and I really meant
"defined" and not "started").
Doing so this would resolve our EntityManager second level cache bootstraping without
relying on our application to define the missing cache configuration.