9 Replies Latest reply: Sep 26, 2013 8:27 AM by Yves Benigot RSS

    JBOSS Transactions failing intermittently on JBOSS7.1.1

    Mayank Gupta Newbie

      Hello,

       

      I have ported my application from JBOSS6 to JBOSS7.1.1 (code base is same).

       

      My application is extensively using EJB and JMS messaging. HornetQ is the Messaging provider on both JBOSS6 and JBOSS7. Oracle 10g R2 is my database.

      Till JBOSS6 I was using ojdbc14 driver (my java version was Java6). On JBOSS7 I am forced to upgrade my driver to ojdbc6 as JBOSS server does not configure 1.4 driver when JAVA version is 6.

       

      Listing 2 of the issues for which I am unable to find any solution:

       

      1. Intermittently I keep on getting ORA:01002 Fetch Out of sequence error. I am using apache common-dbutils.jar for queries from UI and hibernate for backend queries. On both scenarios I am getting this exception. (same code is working on JBOSS6).

           --> Is JBOSS7 tested with ojdbc6 driver, could this be a driver issue? As JBOSS7 does not allow ojdbc14 driver I am unable to verfiy it.

       

      2. When a transaction is started from EJB session and it sends a message to a HornetQ, it sometimes fails (again this failure also does not occur always).

       

      StackTrace for Problem2:

       

      2012-08-22 12:38:24,397 WARN  [org.jboss.jca.core.connectionmanager.pool.strategy.PoolBySubject] IJ000607: ResourceException cleaning up managed connection: org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@6765403b[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.xa.XAManagedConnection@3daf4754 connection handles=0 lastUse=1345619303912 trackByTx=false pool=org.jboss.jca.core.connectionmanager.pool.strategy.PoolBySubject@3e73fb6f pool internal context=SemaphoreArrayListManagedConnectionPool@30805471[pool=Tx_Pool] xaResource=XAResourceWrapperImpl@285c1685[xaResource=org.jboss.jca.adapters.jdbc.xa.XAManagedConnection@3daf4754 pad=false overrideRmValue=false productName=Oracle productVersion=Oracle Database 10g Release 10.2.0.5.0 - 64bit Production jndiName=java:/com/datasources/XADataSource] txSync=null]: javax.resource.ResourceException: Still active locks

        at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.cleanup(BaseWrapperManagedConnection.java:352)

        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.returnConnection(SemaphoreArrayListManagedConnectionPool.java:429)

        at org.jboss.jca.core.connectionmanager.pool.AbstractPool.returnConnection(AbstractPool.java:561)

        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.returnManagedConnection(AbstractConnectionManager.java:425)

        at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener.connectionClosed(TxConnectionListener.java:367)

        at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.closeHandle(BaseWrapperManagedConnection.java:517)

        at org.jboss.jca.adapters.jdbc.WrappedConnection.close(WrappedConnection.java:264)

        at com.utility.preparedstatementhelper.PreparedStatementHelper.closeConnectionAndPreparedStatements(PreparedStatementHelper.java:208)

        at com.component.result.Result.persist(Result.java:629)

        at com.ejb.resultmanager.ResultManagerEJB.persistResult(ResultManagerEJB.java:97)

        at sun.reflect.GeneratedMethodAccessor276.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)

        at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:36)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

        at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:201)

        at org.jboss.as.ejb3.tx.CMTTxInterceptor.mandatory(CMTTxInterceptor.java:256)

        at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:183)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:42)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.component.interceptors.EjbExceptionTransformingInterceptorFactories$2.processInvocation(EjbExceptionTransformingInterceptorFactories.java:89)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:32)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

        at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)

        at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:181)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

        at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72)

        at com.ejb.resultmanager.ResultManagerLocal$$$view114.persistResult(Unknown Source)

        at com.ejb.eventprocessor.PersistenceAction.processEvent(PersistenceAction.java:130)

        at com.ejb.eventprocessor.EventProcessor.performActionsOn(EventProcessor.java:158)

        at com.ejb.eventprocessor.EventProcessor.processMessage(EventProcessor.java:99)

        at com.ejb.eventprocessor.EventProcessorMDB.onMessage(EventProcessorMDB.java:90)

        at sun.reflect.GeneratedMethodAccessor273.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)

        at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:36)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

        at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:201)

        at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:305)

        at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:189)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:42)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:43)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponentDescription$5$1.processInvocation(MessageDrivenComponentDescription.java:184)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

        at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)

        at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:181)

        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

        at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72)

        at javax.jms.MessageListener$$$view25.onMessage(Unknown Source)

        at sun.reflect.GeneratedMethodAccessor272.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.doInvoke(MessageEndpointInvocationHandler.java:142)

        at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:73)

        at $Proxy28.onMessage(Unknown Source)

        at org.hornetq.ra.inflow.HornetQMessageHandler.onMessage(HornetQMessageHandler.java:311)

        at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:1028)

        at org.hornetq.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:50)

        at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1173)

        at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)

        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

        at java.lang.Thread.run(Thread.java:662)

       

       

      2012-08-22 12:38:24,652 WARN  [com.arjuna.ats.jta] ARJUNA016041: prepare on < formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffffc0a82dca:6a3d0e3d:503482e2:2ccf, node_name=1, branch_uid=0:ffffc0a82dca:6a3d0e3d:503482e2:2cd4, subordinatenodename=null, eis_name=java:/com/datasources/XADataSource > (XAResourceWrapperImpl@285c1685[xaResource=org.jboss.jca.adapters.jdbc.xa.XAManagedConnection@3daf4754 pad=false overrideRmValue=false productName=Oracle productVersion=Oracle Database 10g Release 10.2.0.5.0 - 64bit Production jndiName=java:/com/datasources/XADataSource]) failed with exception XAException.XAER_RMFAIL: oracle.jdbc.xa.OracleXAException

        at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1033)

        at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:240)

        at oracle.jdbc.xa.OracleXAResource.resumeStacked(OracleXAResource.java:452)

        at oracle.jdbc.xa.client.OracleXAResource.end(OracleXAResource.java:399)

        at org.jboss.jca.adapters.jdbc.xa.XAManagedConnection.end(XAManagedConnection.java:295)

        at org.jboss.jca.core.tx.jbossts.XAResourceWrapperImpl.end(XAResourceWrapperImpl.java:99)

        at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelPrepare(XAResourceRecord.java:208)

        at com.arjuna.ats.arjuna.coordinator.BasicAction.doPrepare(BasicAction.java:2537)

        at com.arjuna.ats.arjuna.coordinator.BasicAction.doPrepare(BasicAction.java:2504)

        at com.arjuna.ats.arjuna.coordinator.BasicAction.prepare(BasicAction.java:2081)

        at com.arjuna.ats.arjuna.coordinator.BasicAction.End(BasicAction.java:1474)

        at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:98)

        at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:164)

        at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1165)

        at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:117)

        at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)

        at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.afterDelivery(MessageEndpointInvocationHandler.java:74)

        at sun.reflect.GeneratedMethodAccessor277.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.handle(AbstractInvocationHandler.java:60)

        at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.doInvoke(MessageEndpointInvocationHandler.java:138)

        at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:73)

      at $Proxy28.afterDelivery(Unknown Source)

        at org.hornetq.ra.inflow.HornetQMessageHandler.onMessage(HornetQMessageHandler.java:320)

        at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:1028)

        at org.hornetq.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:50)

        at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1173)

        at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)

        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

        at java.lang.Thread.run(Thread.java:662)

       

      Progress is completely struck because of these intemittent issues.

       

      It seems JBOSS7 is still not completely tested for J2EE profile.