Bugs item #682511, was opened at 2003-02-07 19:13
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=682511&group_id=22866
Category: JBossTX
Group: v3.2
Status: Open
Resolution: Fixed
Priority: 5
Submitted By: Bob Cotton (bcotton969)
Assigned to: David Jencks (d_jencks)
Summary: Client receives RemoteException instead of TransRolledBackEx
Initial Comment:
This is Jboss 3_2RC1
>From an EJB, we are doing 2-phase commits. One with
Oracle XA and one with Gemstone's JCA Adapter.
Gemstone votes rollback, and the client recieves a
RemoteException with a nested
TransactionRolledBackExcpetion.
I was expecting the client to receive the
TransactionRolledBackException directly.
Here are the stack traces.
Stack From Gemstone:
2003-02-07 18:55:55,898 WARN
[org.jboss.tm.TransactionImpl] XAException:
tx=TransactionImpl:XidImpl [Format
Id=257, GlobalId=malt//739691, BranchQual=]
errorCode=XA_RBROLLBACK
javax.transaction.xa.XAException
at
com.gemstone.persistence.connection.internal.ContainerXAResource.prepare(ContainerXAResource.java
:343)
at
org.jboss.tm.TransactionImpl.prepareResources(TransactionImpl.java:1340)
at
org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:355)
at
org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:361)
at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:247)
at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:101)
at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:204)
at
org.jboss.ejb.plugins.CleanShutdownInterceptor.invoke(CleanShutdownInterceptor.java:265)
at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:154
)
at
org.jboss.ejb.StatefulSessionContainer.invoke(StatefulSessionContainer.java:370)
at
org.jboss.ejb.Container.invoke(Container.java:680)
at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
at
org.jboss.invocation.jrmp.server.JRMPInvokerHA.invoke(JRMPInvokerHA.java:163)
at java.lang.reflect.Method.invoke(Native Method)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:236)
at
sun.rmi.transport.Transport$1.run(Transport.java:147)
at
java.security.AccessController.doPrivileged(Native Method)
at
sun.rmi.transport.Transport.serviceCall(Transport.java:143)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:479)
Stack From JBoss:
2003-02-07 18:55:55,953 ERROR
[org.jboss.ejb.plugins.LogInterceptor]
TransactionRolledbackException:
javax.transaction.TransactionRolledbackException:
Unable to commit, tx=TransactionImpl:XidImpl [FormatId=257
, GlobalId=malt//739691, BranchQual=]
status=STATUS_NO_TRANSACTION
at
org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:368)
at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:247)
at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:101)
at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:204)
at
org.jboss.ejb.plugins.CleanShutdownInterceptor.invoke(CleanShutdownInterceptor.java:265)
at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:154
)
at
org.jboss.ejb.StatefulSessionContainer.invoke(StatefulSessionContainer.java:370)
at
org.jboss.ejb.Container.invoke(Container.java:680)
at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
at
org.jboss.invocation.jrmp.server.JRMPInvokerHA.invoke(JRMPInvokerHA.java:163)
at java.lang.reflect.Method.invoke(Native Method)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:236)
at
sun.rmi.transport.Transport$1.run(Transport.java:147)
at
java.security.AccessController.doPrivileged(Native Method)
at
sun.rmi.transport.Transport.serviceCall(Transport.java:143)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:479)
Stack From Client:
[java] EJBREMOTEMANAGER RemoteException occured in
com.synxis.wizdom.ejbs.SrmsWizcomMsgProcessorRemoteIF:
attempt #0
[java] java.rmi.ServerException: RemoteException
occurred in server thread; nested exception is:
[java] RemoteException: RemoteException occurred
in server thread; nested exception is:
[java]
javax.transaction.TransactionRolledbackException:
Unable to commit, tx=TransactionImpl:XidImpl
[FormatId=257, GlobalId=malt//735599, BranchQual=]
status=STATUS_NO_TRANSACTION
[java]
javax.transaction.TransactionRolledbackException:
Unable to commit, tx=TransactionImpl:XidImpl
[FormatId=257, GlobalId=malt//735599, BranchQual=]
status=STATUS_NO_TRANSACTION
[java]
javax.transaction.TransactionRolledbackException:
Unable to commit, tx=TransactionImpl:XidImpl
[FormatId=257, GlobalId=malt//735599, BranchQual=]
status=STATUS_NO_TRANSACTION
[java] at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:240)
[java] at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:215)
[java] at
sun.rmi.server.UnicastRef.invoke(UnicastRef.java:117)
[java] at
org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown
Source)
[java] at
org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxyHA.invoke(JRMPInvokerProxyHA.java:160)
[java] at
org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:92)
[java] at
org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77)
[java] at
org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80)
[java] at
org.jboss.proxy.ejb.StatefulSessionInterceptor.invoke(StatefulSessionInterceptor.java:119)
[java] at
org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:82)
[java] at $Proxy1.processSell(Unknown Source)
[java] at
com.synxis.wizdom.ejbs.SrmsWizcomMsgProcessorRemoteManager.processSell(SrmsWizcomMsgProcessorRemoteManager.java:392)
[java] at
com.synxis.srms.junit.wizdom.ejbs.LoadTestWiz.sellAndEnd(LoadTestWiz.java:182)
[java] at
com.synxis.srms.junit.wizdom.ejbs.LoadTestWiz.run(LoadTestWiz.java:106)
----------------------------------------------------------------------
>Comment By: David Jencks (d_jencks)
Date: 2003-02-25 21:48
Message:
Logged In: YES
user_id=60525
Oops, I didn't notice you were using HA. I've patched the HA invoker as well, and
committed the change while I try to figure out how to test it. Meanwhile you can see
if it is fixed if you build from branch 3.2 source.
Thanks
----------------------------------------------------------------------
Comment By: Bob Cotton (bcotton969)
Date: 2003-02-25 20:24
Message:
Logged In: YES
user_id=424902
In JBoss 3.2.0RC2, this is still happening:
>From Gemstone:
2003-02-25 20:15:19,872 WARN [org.jboss.tm.TransactionImpl]
XAException: tx=TransactionImpl:XidImpl [Format
Id=257, GlobalId=malt//98212, BranchQual=] errorCode=XAER_NOTA
javax.transaction.xa.XAException
at
com.gemstone.persistence.connection.internal.ContainerXAResource.rollback(ContainerXAResource.jav
a:401)
at
org.jboss.tm.TransactionImpl.rollbackResources(TransactionImpl.java:1648)
at
org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:394)
at
org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:367)
at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:253)
at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:104)
at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:130)
at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
at
org.jboss.ejb.plugins.CleanShutdownInterceptor.invoke(CleanShutdownInterceptor.java:264)
at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:154
)
at
org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessionContainer.java:322)
at org.jboss.ejb.Container.invoke(Container.java:652)
at java.lang.reflect.Method.invoke(Native Method)
at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
at
org.jboss.invocation.jrmp.server.JRMPInvokerHA.invoke(JRMPInvokerHA.java:163)
at java.lang.reflect.Method.invoke(Native Method)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:236)
at sun.rmi.transport.Transport$1.run(Transport.java:147)
at
java.security.AccessController.doPrivileged(Native Method)
at
sun.rmi.transport.Transport.serviceCall(Transport.java:143)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:479)
>From JBoss:
2003-02-25 20:15:19,874 ERROR
[org.jboss.ejb.plugins.LogInterceptor]
TransactionRolledbackException, causedB
y:
javax.transaction.xa.XAException
at
com.gemstone.persistence.connection.internal.ContainerXAResource.rollback(ContainerXAResource.jav
a:401)
at
org.jboss.tm.TransactionImpl.rollbackResources(TransactionImpl.java:1648)
at
org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:394)
at
org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:367)
at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:253)
at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:104)
at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:130)
at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
at
org.jboss.ejb.plugins.CleanShutdownInterceptor.invoke(CleanShutdownInterceptor.java:264)
at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:154
)
at
org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessionContainer.java:322)
at org.jboss.ejb.Container.invoke(Container.java:652)
at java.lang.reflect.Method.invoke(Native Method)
at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
at
org.jboss.invocation.jrmp.server.JRMPInvokerHA.invoke(JRMPInvokerHA.java:163)
at java.lang.reflect.Method.invoke(Native Method)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:236)
at sun.rmi.transport.Transport$1.run(Transport.java:147)
at
java.security.AccessController.doPrivileged(Native Method)
at
sun.rmi.transport.Transport.serviceCall(Transport.java:143)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:479)
The Client sees (this is the print stack after catching
java.rmi.RemoteException)
[java] java.rmi.ServerException: RemoteException
occurred in server thread; nested exception is:
[java] RemoteException: RemoteException occurred in
server thread; nested exception is:
[java]
org.jboss.tm.JBossTransactionRolledbackException: null;
nested exception is:
[java]
org.jboss.tm.JBossTransactionRolledbackException: null;
nested exception is:
[java] javax.transaction.xa.XAException; - nested
throwable: (javax.transaction.xa.XAException)
[java] javax.transaction.xa.XAException; - nested
throwable: (javax.transaction.xa.XAException)
[java] Throwable: null
[java] at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
[java] at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
[java] at
sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
[java] at
org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown
Source)
[java] at
org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxyHA.invoke(JRMPInvokerProxyHA.java:160)
[java] at
org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:92)
[java] at
org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77)
[java] at
org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80)
[java] at
org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:109)
[java] at
org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:82)
[java] at $Proxy1.processSell(Unknown Source)
[java] at
com.synxis.wizdom.ejbs.SrmsWizcomMsgProcessorRemoteManager.processSell(SrmsWizcomMsgProcessorRemoteManager.java:421)
[java] at
com.synxis.srms.junit.wizdom.ejbs.LoadTestWiz.sellAndEnd(LoadTestWiz.java:182)
[java] at
com.synxis.srms.junit.wizdom.ejbs.LoadTestWiz.run(LoadTestWiz.java:106)
[java] Caused by:
org.jboss.tm.JBossTransactionRolledbackException: null;
nested exception is:
[java] javax.transaction.xa.XAException; - nested
throwable: (javax.transaction.xa.XAException)
[java] Caused by: javax.transaction.xa.XAException
- Bob
----------------------------------------------------------------------
Comment By: David Jencks (d_jencks)
Date: 2003-02-16 19:57
Message:
Logged In: YES
user_id=60525
Fixed in 3.0.x, 3.2 and 4 cvs with at least the JRMP invoker.
----------------------------------------------------------------------
Comment By: David Jencks (d_jencks)
Date: 2003-02-12 18:51
Message:
Logged In: YES
user_id=60525
I'm still working on improving this but I think 3.0 and 3.2 cvs now have the behavior
you want. In 3.0 you can un-nest the exceptions (by casting to
org.jboss.util.NestedThrowable) until you get the original problem. This behavior
will be in 3.2 shortly.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=682511&group_id=22866
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development