Bugs item #435463, was opened at 2001-06-22 07:10 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=376685&aid=435463&group_id=22866
Category: JBossTX Group: v2.2.2 (stable) Status: Closed Resolution: Out of Date Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Andreas Schaefer (schaefera) Summary: Distributed transactions Initial Comment: Hello, I am using jboss-tomcat (jboss v2.2.2) on Windows 2000 with MS SQL Server using Inets Opta 2000 driver. I have been working with Volker Berlin at inetsoftware to get the opta2000 XDataSource to work with jboss 2.2. Whenever, I tried to use the inet's XDataSource vs. minerva's XADataSource I would get the following error: [UserEntityBean] XAException: tx=XidImpl [FormatId=257, GlobalId=KMELDORM//1, BranchQual=] errorCode=XAER_NOTA [UserEntityBean] javax.transaction.xa.XAException: The XID is not valid. [UserEntityBean] at com.inet.tds.k.if(Unknown Source) [UserEntityBean] at com.inet.tds.k.for(Unknown Source) [UserEntityBean] at com.inet.tds.k.end(Unknown Source) [UserEntityBean] at org.jboss.tm.TxCapsule.endResource(TxCapsule.java:1147) [UserEntityBean] at org.jboss.tm.TxCapsule.delistResource (TxCapsule.java:541) [UserEntityBean] at org.jboss.tm.TransactionImpl.delistResource (TransactionImpl.java:99) [UserEntityBean] at org.opentools.minerva.jdbc.xa.XAConnectionFactory$2.c loseConnection(XAConnectionFactory.java:97) [UserEntityBean] at org.opentools.minerva.jdbc.xa.XAConnectionFactory$2.con nectionClosed(XAConnectionFactory.java:82) [UserEntityBean] at com.inet.pool.c.a(Unknown Source) [UserEntityBean] at com.inet.tds.k.a(Unknown Source) [UserEntityBean] at com.inet.pool.a.close (Unknown Source) [UserEntityBean] at org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand.jdbcExecute (JDBCCommand.java:180) [UserEntityBean] at org.jboss.ejb.plugins.jaws.jdbc.JDBCFinderCommand.execu te(JDBCFinderCommand.java:60) [UserEntityBean] at org.jboss.ejb.plugins.jaws.jdbc.JDBCFindEntitiesCommand .execute(JDBCFindEntitiesCommand.java:145) [UserEntityBean] at org.jboss.ejb.plugins.jaws.jdbc.JDBCFindEntityCommand .execute(JDBCFindEntityCommand.java:64) [UserEntityBean] at org.jboss.ejb.plugins.jaws.JAWSPersistenceManager.findE ntity(JAWSPersistenceManager.java:130) [UserEntityBean] at org.jboss.ejb.plugins.CMPPersistenceManager.findEntity (CMPPersistenceManager.java:270) [UserEntityBean] at org.jboss.ejb.EntityContainer.find (EntityContainer.java:419) [UserEntityBean] at java.lang.reflect.Method.invoke(Native Method) [UserEntityBean] at org.jboss.ejb.EntityContainer$ContainerInterceptor.invo keHome(EntityContainer.java:639) [UserEntityBean] at org.jboss.ejb.plugins.EntitySynchronizationInterceptor. invokeHome(EntitySynchronizationInterceptor.java:160) [UserEntityBean] at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeH ome(EntityInstanceInterceptor.java:87) [UserEntityBean] at org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext (TxInterceptorCMT.java:135) [UserEntityBean] at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransacti ons(TxInterceptorCMT.java:263) [UserEntityBean] at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome (TxInterceptorCMT.java:86) [UserEntityBean] at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome( SecurityInterceptor.java:164) [UserEntityBean] at org.jboss.ejb.plugins.LogInterceptor.invokeHome (LogInterceptor.java:106) [UserEntityBean] at org.jboss.ejb.EntityContainer.invokeHome (EntityContainer.java:316) [UserEntityBean] at org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker. invokeHome(JRMPContainerInvoker.java:436) [UserEntityBean] at org.jboss.ejb.plugins.jrmp.interfaces.HomeProxy.invoke (HomeProxy.java:212) [UserEntityBean] at $Proxy17.findByLogin (Unknown Source) [UserEntityBean] at com.wtp.nbk.security.UserSessionBean.findByLogin (UserSessionBean.java:297) [UserEntityBean] at com.wtp.nbk.security.UserSessionBean.returnPassword (UserSessionBean.java:254) [UserEntityBean] at com.wtp.nbk.security.UserSessionBean.validateUser (UserSessionBean.java:155) [UserEntityBean] at java.lang.reflect.Method.invoke(Native Method) [UserEntityBean] at org.jboss.ejb.StatelessSessionContainer$ContainerInterc eptor.invoke(StatelessSessionContainer.java:472) [UserEntityBean] at org.jboss.ejb.plugins.StatelessSessionInstanceIntercept or.invoke(StatelessSessionInstanceInterceptor.java:87) [UserEntityBean] at org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext (TxInterceptorCMT.java:133) [UserEntityBean] at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransacti ons(TxInterceptorCMT.java:263) [UserEntityBean] at org.jboss.ejb.plugins.TxInterceptorCMT.invoke (TxInterceptorCMT.java:99) [UserEntityBean] at org.jboss.ejb.plugins.SecurityInterceptor.invoke (SecurityInterceptor.java:190) [UserEntityBean] at org.jboss.ejb.plugins.LogInterceptor.invoke (LogInterceptor.java:195) [UserEntityBean] at org.jboss.ejb.StatelessSessionContainer.invoke (StatelessSessionContainer.java:271) [UserEntityBean] at org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker. invoke(JRMPContainerInvoker.java:482) [UserEntityBean] at org.jboss.ejb.plugins.jrmp.interfaces.StatelessSessionP roxy.invoke(StatelessSessionProxy.java:152) [UserEntityBean] at $Proxy12.validateUser (Unknown Source) [UserEntityBean] at _0002fvalidateLogin_0002ejspvalidateLogin_jsp_1._jspS ervice (_0002fvalidateLogin_0002ejspvalidateLogin_jsp_1.java:1 02) [UserEntityBean] at org.apache.jasper.runtime.HttpJspBase.service (HttpJspBase.java:119) [UserEntityBean] at javax.servlet.http.HttpServlet.service (HttpServlet.java:853) [UserEntityBean] at org.apache.jasper.servlet.JspServlet$JspCountedServlet. service(JspServlet.java:130) [UserEntityBean] at javax.servlet.http.HttpServlet.service (HttpServlet.java:853) [UserEntityBean] at org.apache.jasper.servlet.JspServlt$JspServletWrapper.s ervice(JspServlet.java:282) [UserEntityBean] at org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:429) [UserEntityBean] at org.apache.jasper.servlet.JspServlet.service (JspServlet.java:500) [UserEntityBean] at javax.servlet.http.HttpServlet.service (HttpServlet.java:853) [UserEntityBean] at org.apache.tomcat.core.ServletWrapper.doService (ServletWrapper.java:405) [UserEntityBean] at org.apache.tomcat.core.Handler.service (Handler.java:287) [UserEntityBean] at org.apache.tomcat.core.ServletWrapper.service (ServletWrapper.java:372) [UserEntityBean] at org.apache.tomcat.core.ContextManager.internalService (ContextManager.java:797) [UserEntityBean] at org.apache.tomcat.core.ContextManager.service (ContextManager.java:743) [UserEntityBean] at org.apache.tomcat.service.connector.Ajp12ConnectionHand ler.processConnection(Ajp12ConnectionHandler.java:166) [UserEntityBean] at org.apache.tomcat.service.TcpWorkerThread.runIt (PoolTcpEndpoint.java:416) [UserEntityBean] at org.apache.tomcat.util.ThreadPool$ControlRunnable.run (ThreadPool.java:501) [UserEntityBean] at java.lang.Thread.run (Unknown Source) [UserSessionBean] XAException: tx=XidImpl [FormatId=257, GlobalId=KMELDORM//1, BranchQual=] errorCode=XAER_NOTA [UserSessionBean] javax.transaction.xa.XAException: The XID is not valid. [UserSessionBean] at com.inet.tds.k.if(Unknown Source) [UserSessionBean] at com.inet.tds.k.for(Unknown Source) [UserSessionBean] at com.inet.tds.k.rollback (Unknown Source) [UserSessionBean] at org.jboss.tm.TxCapsule.rollbackResources (TxCapsule.java:1557) [UserSessionBean] at org.jboss.tm.TxCapsule.rollback(TxCapsule.java:412) [UserSessionBean] at org.jboss.tm.TransactionImpl.rollback (TransactionImpl.java:88) [UserSessionBean] at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransacti ons(TxInterceptorCMT.java:307) [UserSessionBean] at org.jboss.ejb.plugins.TxInterceptorCMT.invoke (TxInterceptorCMT.java:99) [UserSessionBean] at org.jboss.ejb.plugins.SecurityInterceptor.invoke (SecurityInterceptor.java:190) [UserSessionBean] at org.jboss.ejb.plugins.LogInterceptor.invoke (LogInterceptor.java:195) [UserSessionBean] at org.jboss.ejb.StatelessSessionContainer.invoke (StatelessSessionContainer.java:271) [UserSessionBean] at org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker. invoke(JRMPContainerInvoker.java:482) [UserSessionBean] at org.jboss.ejb.plugins.jrmp.interfaces.StatelessSessio nProxy.invoke(StatelessSessionProxy.java:152) [UserSessionBean] at $Proxy12.validateUser (Unknown Source) [UserSessionBean] at _0002fvalidateLogin_0002ejspvalidateLogin_jsp_1._jspSer vice (_0002fvalidateLogin_0002ejspvalidateLogin_jsp_1.java:1 02) [UserSessionBean] at org.apache.jasper.runtime.HttpJspBase.service (HttpJspBase.java:119) [UserSessionBean] at javax.servlet.http.HttpServlet.service (HttpServlet.java:853) [UserSessionBean] at org.apache.jasper.servlet.JspServlet$JspCountedServle t.service(JspServlet.java:130) [UserSessionBean] at javax.servlet.http.HttpServlet.service (HttpServlet.java:853) [UserSessionBean] at org.apache.jasper.servlet.JspServlet$JspServletWrappe r.service(JspServlet.java:282) [UserSessionBean] at org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:429) [UserSessionBean] at org.apache.jasper.servlet.JspServlet.service (JspServlet.java:500) [UserSessionBean] at javax.servlet.http.HttpServlet.service (HttpServlet.java:853) [UserSessionBean] at org.apache.tomcat.core.ServletWrapper.doService (ServletWrapper.java:405) [UserSessionBean] at org.apache.tomcat.core.Handler.service (Handler.java:287) [UserSessionBean] at org.apache.tomcat.core.ServletWrapper.service (ServletWrapper.java:372) [UserSessionBean] at org.apache.tomcat.core.ContextManager.internalService (ContextManager.java:797) [UserSessionBean] at org.apache.tomcat.core.ContextManager.service (ContextManager.java:743) [UserSessionBean] at org.apache.tomcat.service.connector.Ajp12ConnectionHa ndler.processConnection (Ajp12ConnectionHandler.java:166) [UserSessionBean] at org.apache.tomcat.service.TcpWorkerThread.runIt (PoolTcpEndpoint.java:416) [UserSessionBean] at org.apache.tomcat.util.ThreadPool$ControlRunnable.run (ThreadPool.java:501) [UserSessionBean] at java.lang.Thread.run (Unknown Source) I sent Volker my environment for him to test and he believes that there is a possible bug in jboss: "I can reproduce the problem. The cause is that JBoss END a distributed transaction without start a distributed tranaction. I think this is a bug in JBoss." I am attaching a zip file which contains everything you need to recreate the problem. Thanks, Kevin Meldorf Systems Analyst World Travel BTI [EMAIL PROTECTED] ---------------------------------------------------------------------- Comment By: Chris Harris (charris) Date: 2002-02-05 00:36 Message: Logged In: YES user_id=8915 There is a well-known bug with the Inet Opta driver that causes this error. I believe it was fixed in version 4.11 of the driver. If you use the Minerva datasource you're not getting true XA, which is why you don't get the problem. The Minerva XA datasource is..err... a simulation. Try version 4.14 of the driver which I am using very happily. We also had to use the Tyrex transaction manager with this - and can happily coordinate transactions across datasources and JBossMQ. ---------------------------------------------------------------------- Comment By: Andreas Schaefer (schaefera) Date: 2002-02-04 14:17 Message: Logged In: YES user_id=70434 If this problem persists with JBoss 2.4 or 3 then please report it again. JBoss 2.2 is not supported anymore. Andy ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2001-07-03 03:17 Message: Logged In: NO I have the sabe bug, I tried using the minerva datasource with the Opta driver and got the following error, some beans are not being saved to the database. The minerva datasource appears to rollback without checking if there is an active transaction and therefore does not save the last changes that where made since the connection was opened. The successuf workaround I have used is to create a database connection directly with the DriverManager. The real problem is: Why is the transaction being rolled back when there is no error. Also, the minerva datasource should check and see if there is an active transaction. ---------------------------------------------------------------------- Comment By: Aaron Mulder (ammulder) Date: 2001-06-22 08:36 Message: Logged In: YES user_id=195704 We saw this with Oracle where it would only accept Xids that it generated itself (as opposed to using the JBoss Xids). IMHO this is a bad vendor implementation, but the spec is not really clear on the point. In any case, try putting the class name of the vendor's Xid implementation in the xidclass field in jboss.properties. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=376685&aid=435463&group_id=22866 _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
