Details
-
Bug
-
Resolution: Cannot Reproduce
-
Major
-
None
-
7.0.7.GA
-
None
-
User Experience
-
Description
Customer has an application based on JSF and they use stateful EJB as backing beans @Conversation and @SessionScoped.
they have a JSF phase listener which lookups UserTransaction and:
- begin the transaction before phase restore view
- commit/rollback the transaction after the phase invoke application.
When activate a listener on a backing bean that is a stateful EJB following issue is observed as below:
~~~~~~~~
17:19:24,502 INFO [stdout] (default task-3) Phase listener - phase id: RESTORE_VIEW 1
17:19:39,509 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (default task-3) ISPN000136: Error executing command GetKeyValueCommand, writing keys []: org.infinispan.util.concurrent.TimeoutException: ISPN000299: Unable to acquire lock after 15 seconds for key UnknownSessionID [5469565469705770525353525252565556506951495750565665555168696866] and requestor GlobalTransaction:<plohia>:9:local. Lock is held by GlobalTransaction:<plohia>:6:local
at org.infinispan.util.concurrent.locks.impl.DefaultLockManager$KeyAwareExtendedLockPromise.lock(DefaultLockManager.java:238)
at org.infinispan.interceptors.locking.AbstractLockingInterceptor.lockAndRecord(AbstractLockingInterceptor.java:192)
at org.infinispan.interceptors.locking.AbstractTxLockingInterceptor.checkPendingAndLockKey(AbstractTxLockingInterceptor.java:192)
at org.infinispan.interceptors.locking.AbstractTxLockingInterceptor.lockOrRegisterBackupLock(AbstractTxLockingInterceptor.java:115)
at org.infinispan.interceptors.locking.PessimisticLockingInterceptor.visitDataReadCommand(PessimisticLockingInterceptor.java:70)
at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitGetKeyValueCommand(AbstractLockingInterceptor.java:79)
at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:40)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
at org.infinispan.interceptors.TxInterceptor.enlistReadAndInvokeNext(TxInterceptor.java:345)
at org.infinispan.interceptors.TxInterceptor.visitGetKeyValueCommand(TxInterceptor.java:330)
at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:40)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:113)
at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:85)
at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:40)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
at org.infinispan.statetransfer.StateTransferInterceptor.visitReadCommand(StateTransferInterceptor.java:176)
at org.infinispan.statetransfer.StateTransferInterceptor.visitGetKeyValueCommand(StateTransferInterceptor.java:153)
at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:40)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:110)
at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:79)
at org.infinispan.commands.AbstractVisitor.visitGetKeyValueC
~~~~~~~~
Replication steps :
- start EAP 7.0.8 (the latest 7.0.x version) with standalone-ha profile;
- build the application and deploy the WAR on EAP;
- point your browser to: http://localhost:8080/jboss-tasks-jsf/prova.jsf
- click on the button "Call to listener...";
- the browser will wait for 15 secs, then an error page will be showed.
Note:
The same application on EAP 7.0.0 (to 7.0.6) works fine. The application breaks in EAP 7.0.7 and 7.0.8.
Attachments
Issue Links
- is related to
-
JBEAP-11940 TimeoutException on second invocation of method with TransactionAttribute.MANDATORY (Stateful bean) within one transaction
- Verified