]
Sebastian Łaskawiec updated ISPN-6526:
--------------------------------------
Status: Open (was: New)
Transaction doesn't rollback on throwable
-----------------------------------------
Key: ISPN-6526
URL:
https://issues.jboss.org/browse/ISPN-6526
Project: Infinispan
Issue Type: Bug
Components: Transactions
Affects Versions: 6.0.2.Final
Reporter: Denis Kirpichenkov
Fix For: 9.0.0.Alpha2, 9.0.0.Final
Sometimes when certain thread executes commands in
org.infinispan.cache.impl.CacheImpl#executeCommandAndCommitIfNeeded it can get a
java.lang.Throwable and leave an object in cache locked.
In my case thread was faced with java.lang.ThreadDeath and I was unable to get certain
object from cache.
Here is part of stacktrace
{noformat}
org.infinispan.commons.CacheException: java.lang.ThreadDeath
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:341)
at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1306)
at org.infinispan.CacheImpl.removeInternal(CacheImpl.java:326)
at org.infinispan.CacheImpl.remove(CacheImpl.java:320)
at org.infinispan.CacheImpl.remove(CacheImpl.java:315)
at
org.hibernate.cache.infinispan.access.PutFromLoadValidator.releasePutFromLoadLock(PutFromLoadValidator.java:264)
at
org.hibernate.cache.infinispan.access.TransactionalAccessDelegate.putFromLoad(TransactionalAccessDelegate.java:149)
at
org.hibernate.cache.infinispan.entity.TransactionalAccess.putFromLoad(TransactionalAccess.java:76)
at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:221)
at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:144)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1115)
at org.hibernate.loader.Loader.processResultSet(Loader.java:973)
at org.hibernate.loader.Loader.doQuery(Loader.java:921)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:355)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:325)
at org.hibernate.loader.Loader.loadEntity(Loader.java:2149)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:78)
{noformat}