Uploaded image for project: 'WildFly Transaction Client'
  1. WildFly Transaction Client
  2. WFTC-93

RemotingRemoteTransactionPeer#getPeerIdentity should handle CancellationException and RuntimeException

    XMLWordPrintable

Details

    Description

      Customer sees this exception in their serve log file

      2021-05-13 09:32:43,641 ERROR [org.jboss.as.ejb3.invocation] (Thread-25 (ActiveMQ-client-global-threads)) WFLYEJB0034: EJB Invocation failed on component AlarmQueryServiceBean for method public abstract com.a.b.services.fm.alarmqueryservice.api.common.AlarmAttributeResponse com.a.b.services.fm.alarmqueryservice.api.AlarmQueryService.getOpenAlarmsWithCount(com.a.b.services.fm.alarmqueryservice.api.criteria.CompositeEventTimeCriteria,java.lang.Integer,com.a.b.services.fm.alarmqueryservice.api.criteria.ExpectedOutputAttributes,com.a.b.services.fm.alarmqueryservice.api.common.AlarmAttributeResponse): java.util.concurrent.CancellationException: XNIO001002: Operation was cancelled
        at org.xnio.AbstractIoFuture.get(AbstractIoFuture.java:538)
        at org.wildfly.transaction.client.provider.remoting.RemotingRemoteTransactionPeer.getPeerIdentity(RemotingRemoteTransactionPeer.java:89) [wildfly-transaction-client-1.1.13.Final-redhat-00001.jar:1.1.13.Final-redhat-00001]
        at org.wildfly.transaction.client.provider.remoting.RemotingRemoteTransactionPeer.getPeerIdentityXA(RemotingRemoteTransactionPeer.java:94) [wildfly-transaction-client-1.1.13.Final-redhat-00001.jar:1.1.13.Final-redhat-00001]
        at org.wildfly.transaction.client.provider.remoting.RemotingRemoteTransactionPeer$1.end(RemotingRemoteTransactionPeer.java:159) [wildfly-transaction-client-1.1.13.Final-redhat-00001.jar:1.1.13.Final-redhat-00001]
        at org.wildfly.transaction.client.SubordinateXAResource.end(SubordinateXAResource.java:156) [wildfly-transaction-client-1.1.13.Final-redhat-00001.jar:1.1.13.Final-redhat-00001]
        at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.doEnd(TransactionImple.java:1087) [narayana-jts-idlj-5.9.9.Final-redhat-00001.jar:5.9.9.Final-redhat-00001 (revision: c49d15)]
        at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.endAssociation(TransactionImple.java:1058) [narayana-jts-idlj-5.9.9.Final-redhat-00001.jar:5.9.9.Final-redhat-00001 (revision: c49d15)]
        at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.endAssociation(XAResourceRecord.java:1286) [narayana-jts-idlj-5.9.9.Final-redhat-00001.jar:5.9.9.Final-redhat-00001 (revision: c49d15)]
        at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelAbort(XAResourceRecord.java:313) [narayana-jts-idlj-5.9.9.Final-redhat-00001.jar:5.9.9.Final-redhat-00001 (revision: c49d15)]
        at com.arjuna.ats.arjuna.coordinator.BasicAction.doAbort(BasicAction.java:3023) [narayana-jts-idlj-5.9.9.Final-redhat-00001.jar:5.9.9.Final-redhat-00001 (revision: c49d15)]
        at com.arjuna.ats.arjuna.coordinator.BasicAction.doAbort(BasicAction.java:3002) [narayana-jts-idlj-5.9.9.Final-redhat-00001.jar:5.9.9.Final-redhat-00001 (revision: c49d15)]
        at com.arjuna.ats.arjuna.coordinator.BasicAction.Abort(BasicAction.java:1674) [narayana-jts-idlj-5.9.9.Final-redhat-00001.jar:5.9.9.Final-redhat-00001 (revision: c49d15)]
        at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.cancel(TwoPhaseCoordinator.java:124) [narayana-jts-idlj-5.9.9.Final-redhat-00001.jar:5.9.9.Final-redhat-00001 (revision: c49d15)]
        at com.arjuna.ats.arjuna.AtomicAction.abort(AtomicAction.java:186) [narayana-jts-idlj-5.9.9.Final-redhat-00001.jar:5.9.9.Final-redhat-00001 (revision: c49d15)]
        at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.rollbackAndDisassociate(TransactionImple.java:1369) [narayana-jts-idlj-5.9.9.Final-redhat-00001.jar:5.9.9.Final-redhat-00001 (revision: c49d15)]
        at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.rollback(BaseTransaction.java:143) [narayana-jts-idlj-5.9.9.Final-redhat-00001.jar:5.9.9.Final-redhat-00001 (revision: c49d15)]
        at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.rollback(BaseTransactionManagerDelegate.java:139)
        at org.wildfly.transaction.client.LocalTransaction.rollbackAndDissociate(LocalTransaction.java:118) [wildfly-transaction-client-1.1.13.Final-redhat-00001.jar:1.1.13.Final-redhat-00001]
        at org.wildfly.transaction.client.ContextTransactionManager.rollback(ContextTransactionManager.java:83) [wildfly-transaction-client-1.1.13.Final-redhat-00001.jar:1.1.13.Final-redhat-00001]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:91) [wildfly-ejb3-7.3.3.GA-redhat-00004.jar:7.3.3.GA-redhat-00004]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:280) [wildfly-ejb3-7.3.3.GA-redhat-00004.jar:7.3.3.GA-redhat-00004]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:386) [wildfly-ejb3-7.3.3.GA-redhat-00004.jar:7.3.3.GA-redhat-00004]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:156) [wildfly-ejb3-7.3.3.GA-redhat-00004.jar:7.3.3.GA-redhat-00004]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
        at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:81) [weld-ejb-3.1.4.Final-redhat-00001.jar:3.1.4.Final-redhat-00001]
        at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:89)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [wildfly-ejb3-7.3.3.GA-redhat-00004.jar:7.3.3.GA-redhat-00004]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:47) [wildfly-ejb3-7.3.3.GA-redhat-00004.jar:7.3.3.GA-redhat-00004]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100) [wildfly-ejb3-7.3.3.GA-redhat-00004.jar:7.3.3.GA-redhat-00004]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22) [wildfly-ejb3-7.3.3.GA-redhat-00004.jar:7.3.3.GA-redhat-00004]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) [wildfly-ejb3-7.3.3.GA-redhat-00004.jar:7.3.3.GA-redhat-00004]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:67) [wildfly-ejb3-7.3.3.GA-redhat-00004.jar:7.3.3.GA-redhat-00004]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:60)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:438)
        at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:628) [wildfly-elytron-security-manager-1.10.8.Final-redhat-00001.jar:1.10.8.Final-redhat-00001]
        at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:57)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:53)
        at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)
        at org.jboss.as.ejb3.remote.LocalEjbReceiver.processInvocation(LocalEjbReceiver.java:266) [wildfly-ejb3-7.3.3.GA-redhat-00004.jar:7.3.3.GA-redhat-00004]
        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:501) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at org.jboss.ejb.protocol.remote.RemotingEJBClientInterceptor.handleInvocation(RemotingEJBClientInterceptor.java:52) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:516) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at org.jboss.ejb.client.TransactionPostDiscoveryInterceptor.handleInvocation(TransactionPostDiscoveryInterceptor.java:82) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:516) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at org.jboss.ejb.client.DiscoveryEJBClientInterceptor.handleInvocation(DiscoveryEJBClientInterceptor.java:125) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:516) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at org.jboss.ejb.client.NamingEJBClientInterceptor.handleInvocation(NamingEJBClientInterceptor.java:69) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:516) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at com.a.b.itpf.sdk.context.core.interceptor.ClientContextInterceptor.handleInvocation(ClientContextInterceptor.java:51) [sdk-context-core-4.22.3.jar:4.22.3]
        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:516) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:205) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:516) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at org.wildfly.common.context.Contextual.runExConsumer(Contextual.java:203) [wildfly-common-1.5.2.Final-redhat-00002.jar:1.5.2.Final-redhat-00002]
        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequestInitial(EJBClientInvocationContext.java:343) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:187) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:125) [jboss-ejb-client-4.0.33.SP1-redhat-00001-jbeap-20749.jar:4.0.33.SP1-redhat-00001-jbeap-20749]
        at com.sun.proxy.$Proxy332.getOpenAlarmsWithCount(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor476.invoke(Unknown Source) [:1.8.0_281]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_281]
        at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_281]
        at com.a.b.itpf.sdk.cluster.core.eservice.EServiceProxyInvocationHandler.invokeEJB(EServiceProxyInvocationHandler.java:121) [sdk-cluster-core-4.22.3.jar:4.22.3]
        at com.a.b.itpf.sdk.cluster.core.eservice.EServiceProxyInvocationHandler.invoke(EServiceProxyInvocationHandler.java:92) [sdk-cluster-core-4.22.3.jar:4.22.3]
        at com.sun.proxy.$Proxy332.getOpenAlarmsWithCount(Unknown Source)
        at com.a.b.services.fm.fmparser.ejb.service.GetHandler.processAlarms(GetHandler.java:781)
        at com.a.b.services.fm.fmparser.ejb.service.GetHandler.processGetCommand(GetHandler.java:274)
        at com.a.b.services.fm.fmparser.ejb.service.CommandHandlerBean.processCommand(CommandHandlerBean.java:187)
        at com.a.b.services.fm.fmparser.ejb.service.CommandHandlerBean.execute(CommandHandlerBean.java:139)
        ...
      

      They claim that since we look only for XAException we miss the cancel exception and as a result the transaction never gets rolled back.

      There is Jira JBEAP-21391 which may be related to this case.

      Attachments

        Issue Links

          Activity

            People

              cfang@redhat.com Cheng Fang
              cfang@redhat.com Cheng Fang
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: