cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Transaction System Failure when using XA DataSource

Former Member
0 Likes
1,444

Hi,

I get "Transaction system failure" exception when I attempt to call for example an ejb method with SUPPORTS attribute set and right after calling an ejb method with transaction REQUIRED. This is happening XA Driver (on oracle). It does not seem to be working as designed :). I think the problem occurs in transactions after each time Datasource was used in a non-transactional context.

EnableLocalResourceInOTS is true.

To illustrate the problem please the test snippet below that is failing:

 public void testSupportsAndRequired() throws Exception {
        // calls an ejb method with SUPPORTS attr
        callEJBMethod1();
        // calls an ejb method with REQUIRED attr
        callEJBMethod2();
    }

Below is jdbc 2.0 section from data_sources.xml.

<jdbc-2.0>
        <xads-class-name>
          oracle.jdbc.xa.client.OracleXADataSource
        </xads-class-name>
        <properties>
          <property>
            <property-name>
              URL
            </property-name>
            <property-value>
              jdbc:oracle:thin:@app02:1521:VP40
            </property-value>
          </property>
          <property>
            <property-name>
              Password
            </property-name>
            <property-value encrypted="true">
              5e695d694c5c695d4b
            </property-value>
          </property>
          <property>
            <property-name>
              User
            </property-name>
            <property-value>
              vm32wip
            </property-value>
          </property>
        </properties>
      </jdbc-2.0>

View Entire Topic
Vlado
Product and Topic Expert
Product and Topic Expert
0 Likes

Hi Mikhail,

Could you paste the whole stack trace of the exception?

Best regards,

Vladimir

Former Member
0 Likes

Hi Vladimir,

The trace is pretty huge. CertificationBO in the trace is the bean that has all methods TX_REQUIRED.

Regards,

Mikhail

java.rmi.RemoteException: com.sap.engine.services.ejb.exceptions.BaseRemoteException: Transaction system failure in method com.genrad.app.core.env.server.CertificationBOObjectImpl30.dbRead(com.genrad.frame.Data).

at com.genrad.app.core.env.server.CertificationBOObjectImpl30.dbRead(CertificationBOObjectImpl30.java:915)

at com.genrad.app.core.env.server.CertificationBOObjectImpl30p4_Skel.dispatch(CertificationBOObjectImpl30p4_Skel.java:490)

at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:268)

at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:165)

at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:102)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:140)

Caused by: com.sap.engine.services.ts.exceptions.BaseSystemException: Exception ( SAP J2EE Engine JTA Transaction : 179ffffff92ffffffca000ffffffc6 ) in rollback.

at com.sap.engine.services.ts.jta.impl.TransactionImpl.rollback(TransactionImpl.java:623)

at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:243)

at com.genrad.app.core.env.server.CertificationBOObjectImpl30.dbRead(CertificationBOObjectImpl30.java:912)

... 10 more

Caused by: javax.transaction.xa.XAException

at oracle.jdbc.xa.OracleXAResource.disallowLocalTxnMode(OracleXAResource.java:1045)

at oracle.jdbc.xa.OracleXAResource.suspendStacked(OracleXAResource.java:227)

at oracle.jdbc.xa.client.OracleXAResource.rollback(OracleXAResource.java:920)

at com.sap.engine.services.ts.jta.impl.TransactionImpl.rollback(TransactionImpl.java:563)

... 12 more

; nested exception is:

javax.transaction.SystemException: com.sap.engine.services.ts.exceptions.BaseSystemException: Exception ( SAP J2EE Engine JTA Transaction : 179ffffff92ffffffca000ffffffc6 ) in rollback.

at com.sap.engine.services.ts.jta.impl.TransactionImpl.rollback(TransactionImpl.java:623)

at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:243)

at com.genrad.app.core.env.server.CertificationBOObjectImpl30.dbRead(CertificationBOObjectImpl30.java:912)

at com.genrad.app.core.env.server.CertificationBOObjectImpl30p4_Skel.dispatch(CertificationBOObjectImpl30p4_Skel.java:490)

at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:268)

at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:165)

at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:102)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:140)

Caused by: javax.transaction.xa.XAException

at oracle.jdbc.xa.OracleXAResource.disallowLocalTxnMode(OracleXAResource.java:1045)

at oracle.jdbc.xa.OracleXAResource.suspendStacked(OracleXAResource.java:227)

at oracle.jdbc.xa.client.OracleXAResource.rollback(OracleXAResource.java:920)

at com.sap.engine.services.ts.jta.impl.TransactionImpl.rollback(TransactionImpl.java:563)

... 12 more

at com.sap.engine.services.ejb.exceptions.BaseRemoteException.writeReplace(BaseRemoteException.java:276)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

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

at java.io.ObjectStreamClass.invokeWriteReplace(ObjectStreamClass.java:896)

at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1011)

at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)

at com.sap.engine.services.rmi_p4.DispatchImpl.throwException(DispatchImpl.java:120)

at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:270)

at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:165)

at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:102)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:140)

Caused by: javax.transaction.SystemException: com.sap.engine.services.ts.exceptions.BaseSystemException: Exception ( SAP J2EE Engine JTA Transaction : 179ffffff92ffffffca000ffffffc6 ) in rollback.

at com.sap.engine.services.ts.jta.impl.TransactionImpl.rollback(TransactionImpl.java:623)

at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:243)

at com.genrad.app.core.env.server.CertificationBOObjectImpl30.dbRead(CertificationBOObjectImpl30.java:912)

at com.genrad.app.core.env.server.CertificationBOObjectImpl30p4_Skel.dispatch(CertificationBOObjectImpl30p4_Skel.java:490)

at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:268)

at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:165)

at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:102)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:140)

Caused by: javax.transaction.xa.XAException

at oracle.jdbc.xa.OracleXAResource.disallowLocalTxnMode(OracleXAResource.java:1045)

at oracle.jdbc.xa.OracleXAResource.suspendStacked(OracleXAResource.java:227)

at oracle.jdbc.xa.client.OracleXAResource.rollback(OracleXAResource.java:920)

at com.sap.engine.services.ts.jta.impl.TransactionImpl.rollback(TransactionImpl.java:563)

... 12 more

at com.sap.engine.services.ts.exceptions.BaseSystemException.writeReplace(BaseSystemException.java:182)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

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

at java.io.ObjectStreamClass.invokeWriteReplace(ObjectStreamClass.java:896)

at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1011)

at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)

at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)

at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)

at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)

... 11 more

Vlado
Product and Topic Expert
Product and Topic Expert
0 Likes

Hi Mikhail,

This XAException in the OracleXAResource talks nothing to me. I asked a colleague of mine to have a look at this issue and he'll contact you soon. Meanwhile, check in the defaultTrace.trc file - there should be another exception from the XAResource.prepare() method.

Best regards,

Vladimir

Former Member
0 Likes

Thanks, Valdimir.

I looked in the log and there is some more info about failing to locate DelistResource manager for XA.

Mikhail

here it is:

[code]#1.5#C000C0A82C1C004A0000000000000E0C0003F3227FEC770D#1111754430770#com.sap.engine.services.ts#sap.com/VisipriseMfg#com.sap.engine.services.ts#Guest#2#SAP J2EE Engine JTA Transaction : 179ffffff92ffffffca0002####SAPEngine_Application_Thread[impl:3]_23##0#0#Error#1#/System/Server#Java#ts_0011#com.sap.engine.services.ts.exceptions.TSResourceBundle#DelistResource resource manager for the XAResource was not found.#

#1.5#C000C0A82C1C004A0000000100000E0C0003F3227FEC7E83#1111754430786#com.sap.engine.services.ts#sap.com/VisipriseMfg#com.sap.engine.services.ts#Guest#2#SAP J2EE Engine JTA Transaction : 179ffffff92ffffffca0002####SAPEngine_Application_Thread[impl:3]_23##0#0#Error#1#/System/Audit#Java###Exception #1#com.sap.engine.services.ts.exceptions.BaseIllegalStateException: DelistResource resource manager for the XAResource was not found. at com.sap.engine.services.ts.jta.impl.TransactionImpl.delistResource(TransactionImpl.java:383) at com.sap.engine.services.connector.resource.impl.ResourceSetImpl.remove(ResourceSetImpl.java:307) at com.sap.engine.services.connector.resource.impl.HandleWrapper.removeItselfFromResourceSet(HandleWrapper.java:105) at com.sap.engine.services.connector.resource.impl.MCEventHandler.connectionClosed(MCEventHandler.java:386) at com.sap.engine.services.dbpool.spi.LocalTXManagedConnectionImpl.removeConnectionHandle(LocalTXManagedConnectionImpl.java:314) at com.sap.engine.services.dbpool.cci.ConnectionHandle.close(ConnectionHandle.java:249) at com.genrad.frame.AbstractSqlImplementation.executeQuery(AbstractSqlImplementation.java:92) at com.genrad.frame.SystemBase.executeQuery(SystemBase.java:754) at com.genrad.frame.SystemBase.executeQuery(SystemBase.java:730) at com.genrad.frame.BasicBOBean.recursiveRead(BasicBOBean.java:2015) at com.genrad.frame.BasicBOBean.dbRead(BasicBOBean.java:1764) at com.genrad.frame.BasicBOBean.dbRead(BasicBOBean.java:1683) at com.genrad.frame.BasicBOBean.dbRead(BasicBOBean.java:1635) at com.genrad.app.core.env.server.CertificationBOObjectImpl30.dbRead(CertificationBOObjectImpl30.java:827) at com.genrad.app.core.env.server.CertificationBOObjectImpl30p4_Skel.dispatch(CertificationBOObjectImpl30p4_Skel.java:490) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:268) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:165) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:102) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37) at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:140) # #1.5#C000C0A82C1C004A0000000200000E0C0003F3227FEC823B#1111754430786#com.sap.engine.services.connector#sap.com/VisipriseMfg#com.sap.engine.services.connector#Guest#2#SAP J2EE Engine JTA Transaction : 179ffffff92ffffffca0002####SAPEngine_Application_Thread[impl:3]_23##0#0#Error##Plain###Error during connection close : com.sap.engine.services.ts.exceptions.BaseIllegalStateException: DelistResource resource manager for the XAResource was not found.# #1.5#C000C0A82C1C004A0000000300000E0C0003F3227FEC8510#1111754430786#com.sap.engine.services.ts#sap.com/VisipriseMfg#com.sap.engine.services.ts#Guest#2#####SAPEngine_Application_Thread[impl:3]_23##0#0#Error#1#/System/Server#Java#ts_0013#com.sap.engine.services.ts.exceptions.TSResourceBundle#Exception ( SAP J2EE Engine JTA Transaction : 179ffffff92ffffffca0002 ) in rollback.#1#SAP J2EE Engine JTA Transaction : 179ffffff92ffffffca0002# #1.5#C000C0A82C1C004A0000000400000E0C0003F3227FEC8E0A#1111754430786#com.sap.engine.services.ts#sap.com/VisipriseMfg#com.sap.engine.services.ts#Guest#2#####SAPEngine_Application_Thread[impl:3]_23##0#0#Error#1#/System/Audit#Java###Exception #1#com.sap.engine.services.ts.exceptions.BaseSystemException: Exception ( SAP J2EE Engine JTA Transaction : 179ffffff92ffffffca0002 ) in rollback.

at com.sap.engine.services.ts.jta.impl.TransactionImpl.rollback(TransactionImpl.java:623)

at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:243)

at com.genrad.app.core.env.server.CertificationBOObjectImpl30.dbRead(CertificationBOObjectImpl30.java:912)

at com.genrad.app.core.env.server.CertificationBOObjectImpl30p4_Skel.dispatch(CertificationBOObjectImpl30p4_Skel.java:490)

at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:268)

at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:165)

at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:102)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:140)

Caused by: javax.transaction.xa.XAException

at oracle.jdbc.xa.OracleXAResource.disallowLocalTxnMode(OracleXAResource.java:1045)

at oracle.jdbc.xa.OracleXAResource.suspendStacked(OracleXAResource.java:227)

at oracle.jdbc.xa.client.OracleXAResource.rollback(OracleXAResource.java:920)

at com.sap.engine.services.ts.jta.impl.TransactionImpl.rollback(TransactionImpl.java:563)

... 12 more

[/code]