]
Paul Ferraro updated ISPN-8388:
-------------------------------
Priority: Critical (was: Major)
Entity with
@Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) fails if cache is configured
as simple cache
--------------------------------------------------------------------------------------------------------------------
Key: ISPN-8388
URL:
https://issues.redhat.com/browse/ISPN-8388
Project: Infinispan
Issue Type: Bug
Components: Hibernate Cache
Affects Versions: 9.1.1.Final, 9.2.0.Alpha1
Reporter: Paul Ferraro
Priority: Critical
The Infinispan region factory needs to explicitly disable the simple cache optimization
for cache regions that will use the NONSTRICT_READ_WRITE concurrency strategy.
This issue is particularly troublesome for WildFly where the simple cache optimization is
automatically enabled for non-transactional, non-persistent local caches.
{noformat}
2017-10-06 14:56:36,221 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool --
19) MSC000001: Failed to start service
jboss.persistenceunit."harmonyserver.sar#IpsDb":
org.jboss.msc.service.StartException in service
jboss.persistenceunit."harmonyserver.sar#IpsDb":
javax.persistence.PersistenceException: [PersistenceUnit: IpsDb] Unable to build Hibernate
SessionFactory
at
org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:179)
at
org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:121)
at
org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:667)
at
org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:193)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
at org.jboss.threads.JBossThread.run(JBossThread.java:320)
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: IpsDb] Unable to
build Hibernate SessionFactory
at
org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:954)
at
org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:882)
at
org.jboss.as.jpa.hibernate5.TwoPhaseBootstrapImpl.build(TwoPhaseBootstrapImpl.java:44)
at
org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:161)
... 7 more
Caused by: java.lang.UnsupportedOperationException: ISPN000376: Interceptor stack is not
supported in simple cache
at
org.infinispan.cache.impl.SimpleCacheImpl.removeInterceptor(SimpleCacheImpl.java:952)
at
org.infinispan.cache.impl.AbstractDelegatingAdvancedCache.removeInterceptor(AbstractDelegatingAdvancedCache.java:85)
at
org.hibernate.cache.infinispan.impl.BaseTransactionalDataRegion.prepareForVersionedEntries(BaseTransactionalDataRegion.java:154)
at
org.hibernate.cache.infinispan.impl.BaseTransactionalDataRegion.createAccessDelegate(BaseTransactionalDataRegion.java:122)
at
org.hibernate.cache.infinispan.entity.EntityRegionImpl.buildAccessStrategy(EntityRegionImpl.java:50)
at
org.hibernate.internal.SessionFactoryImpl.determineEntityRegionAccessStrategy(SessionFactoryImpl.java:624)
at
org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:332)
at
org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444)
at
org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879)
... 9 more
{noformat}