RE: [JBoss-user] JBoss 3.0.1 and SQLServer 2000 with XA transactions
David, unfortunately I am behind a firewall here, and cannot yet get access to CVS, but we are working on this. As soon as we get access I will explore the CVS code. My test is non-proprietary, and here it is. Its not the prettiest test but it does the trick. I deploy it as an MBean in a .sar file and kick it off via the JMX console. The database table MESSAGE has two columns, MESSAGE_ID is an autoincrementing identity numeric field, MESSAGE_TEXT a varchar(200) field. I use MQSeries as the JMS provider, with queue names JBossMQJmsQ1 and JBossMQJmsQ2. The test moves messages between the two queues and the table repreatedly in three different threads, each with their own transactions. As a warning, it takes about 2 1/2 hours to fall over, although in another test I've added more threads and tables to get the transactions quicker. I haven't done this test with any other JMS or database providers under XA transactional control. I have seen on a bulletin board someone complaining of something vaguely similar under Weblogic and SQL Server, but they didn't give enough detail for me to say for sure that its the same thing. thanks, Steve. <> <> XATransactionTest.java Description: Binary data XATransactionTestMBean.java Description: Binary data
Re: [JBoss-user] JBoss 3.0.1 and SQLServer 2000 with XA transactions
1. Could you try with a cvs version as of today? I fixed a bug last night that might possibly be relevant. 2. Is your test sufficiently non-proprietary that you could donate it? Even running something like this against hsqldb + jms might show up problems. Thanks david jencks On 2002.08.16 06:13:30 -0400 "Wink, Stephen" wrote: > Hi, > > I have been stress testing JBoss 3.0.1 with XA transactions and MS > SQLServer 2000 as a datasource. The scenario I have is reading messages > from JMS and writing them to SQLServer in an XA transaction, and another > thread reading from SQLServer and writing to JMS in another XA > transaction. Its a pretty tight loop of messages going around and > around, with lots and lots of transactions. After about 7 - 8 > transactions I get the following error: > > 2002-08-15 20:05:19,245 WARN [org.jboss.tm.TxCapsule] XAException: > tx=XidImpl [FormatId=257, GlobalId=MKI010135//244013, BranchQual=] > errorCode=XA_UNKNOWN(-1) > javax.transaction.xa.XAException: > at > com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.verifyReturnCode(U > nknown Source) > at > com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.executeXaRpc(Unkno > wn Source) > at > com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.start(Unknown > Source) > at com.microsoft.jdbcx.base.BaseXAResource.start(Unknown Source) > at org.jboss.tm.TxCapsule.startResource(TxCapsule.java:1180) > at org.jboss.tm.TxCapsule.enlistResource(TxCapsule.java:679) > at > org.jboss.tm.TransactionImpl.enlistResource(TransactionImpl.java:102) > at > org.jboss.resource.connectionmanager.XATxConnectionManager$XAConnectionE > ventListener.enlist(XATxConnectionManager.java:262) > at > org.jboss.resource.connectionmanager.XATxConnectionManager.managedConnec > tionReconnected(XATxConnectionManager.java:202) > at > org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConn > ection(BaseConnectionManager2.java:534) > at > org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionMa > nagerProxy.allocateConnection(BaseConnectionManager2.java:812) > at > org.jboss.resource.adapter.jdbc.JDBCDataSource.getConnection(JDBCDataSou > rce.java:110) > at > test.XATransactionTest$testJMSToDB.doTheTest(XATransactionTest.java:349) > at > test.XATransactionTest$testJMSToDB.run(XATransactionTest.java:303) > at java.lang.Thread.run(Thread.java:536) > 2002-08-15 20:05:19,285 INFO [test.XATransactionTest] Thread-36 > committed > 2002-08-15 20:05:19,305 WARN [org.jboss.tm.TxCapsule] XAException: > tx=XidImpl [FormatId=257, GlobalId=MKI010135//244012, BranchQual=] > errorCode=XAER_RMERR > javax.transaction.xa.XAException: [Microsoft][SQLServer 2000 Driver for > JDBC][SQLServer]Import of MSDTC transaction failed: Result Code = > 0x8007000e. > at > com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.enlist(Unknown > Source) > at > com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.start(Unknown > Source) > at com.microsoft.jdbcx.base.BaseXAResource.start(Unknown Source) > at org.jboss.tm.TxCapsule.startResource(TxCapsule.java:1180) > at org.jboss.tm.TxCapsule.enlistResource(TxCapsule.java:679) > at > org.jboss.tm.TransactionImpl.enlistResource(TransactionImpl.java:102) > at > org.jboss.resource.connectionmanager.XATxConnectionManager$XAConnectionE > ventListener.enlist(XATxConnectionManager.java:262) > at > org.jboss.resource.connectionmanager.XATxConnectionManager.managedConnec > tionReconnected(XATxConnectionManager.java:202) > at > org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConn > ection(BaseConnectionManager2.java:534) > at > org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionMa > nagerProxy.allocateConnection(BaseConnectionManager2.java:812) > at > org.jboss.resource.adapter.jdbc.JDBCDataSource.getConnection(JDBCDataSou > rce.java:110) > at > test.XATransactionTest$testJMSToDB2.doTheTest(XATransactionTest.java:871 > ) > at > test.XATransactionTest$testJMSToDB2.run(XATransactionTest.java:825) > at java.lang.Thread.run(Thread.java:536) > > and I can no longer access SQLServer. > > Has anyone else had these sorts of problems? Has anyone else used > SQLServer with so many XA transactions? It looks like the Microsoft > Distributed Transaction Coordinator falls over, but I'm wondering what I > might be doing to cause this. > > rgds, > > Steve. > > > > > Here is my configuration file for the datasource: > > > > > > > > > > > > > > > > > > > > > >code="org.jboss.resource.connectionmanager.XATxConnectionManager" > name="jboss.jca:service=XATxCM,name=MSSQLXaDS"> > > > > > > name="jboss.jca:service=XATxDS,name=MSSQLXaDS"> > > MSSQLXaDS > > > > > type="
[JBoss-user] JBoss 3.0.1 and SQLServer 2000 with XA transactions
Hi, I have been stress testing JBoss 3.0.1 with XA transactions and MS SQLServer 2000 as a datasource. The scenario I have is reading messages from JMS and writing them to SQLServer in an XA transaction, and another thread reading from SQLServer and writing to JMS in another XA transaction. Its a pretty tight loop of messages going around and around, with lots and lots of transactions. After about 7 - 8 transactions I get the following error: 2002-08-15 20:05:19,245 WARN [org.jboss.tm.TxCapsule] XAException: tx=XidImpl [FormatId=257, GlobalId=MKI010135//244013, BranchQual=] errorCode=XA_UNKNOWN(-1) javax.transaction.xa.XAException: at com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.verifyReturnCode(U nknown Source) at com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.executeXaRpc(Unkno wn Source) at com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.start(Unknown Source) at com.microsoft.jdbcx.base.BaseXAResource.start(Unknown Source) at org.jboss.tm.TxCapsule.startResource(TxCapsule.java:1180) at org.jboss.tm.TxCapsule.enlistResource(TxCapsule.java:679) at org.jboss.tm.TransactionImpl.enlistResource(TransactionImpl.java:102) at org.jboss.resource.connectionmanager.XATxConnectionManager$XAConnectionE ventListener.enlist(XATxConnectionManager.java:262) at org.jboss.resource.connectionmanager.XATxConnectionManager.managedConnec tionReconnected(XATxConnectionManager.java:202) at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConn ection(BaseConnectionManager2.java:534) at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionMa nagerProxy.allocateConnection(BaseConnectionManager2.java:812) at org.jboss.resource.adapter.jdbc.JDBCDataSource.getConnection(JDBCDataSou rce.java:110) at test.XATransactionTest$testJMSToDB.doTheTest(XATransactionTest.java:349) at test.XATransactionTest$testJMSToDB.run(XATransactionTest.java:303) at java.lang.Thread.run(Thread.java:536) 2002-08-15 20:05:19,285 INFO [test.XATransactionTest] Thread-36 committed 2002-08-15 20:05:19,305 WARN [org.jboss.tm.TxCapsule] XAException: tx=XidImpl [FormatId=257, GlobalId=MKI010135//244012, BranchQual=] errorCode=XAER_RMERR javax.transaction.xa.XAException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Import of MSDTC transaction failed: Result Code = 0x8007000e. at com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.enlist(Unknown Source) at com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.start(Unknown Source) at com.microsoft.jdbcx.base.BaseXAResource.start(Unknown Source) at org.jboss.tm.TxCapsule.startResource(TxCapsule.java:1180) at org.jboss.tm.TxCapsule.enlistResource(TxCapsule.java:679) at org.jboss.tm.TransactionImpl.enlistResource(TransactionImpl.java:102) at org.jboss.resource.connectionmanager.XATxConnectionManager$XAConnectionE ventListener.enlist(XATxConnectionManager.java:262) at org.jboss.resource.connectionmanager.XATxConnectionManager.managedConnec tionReconnected(XATxConnectionManager.java:202) at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConn ection(BaseConnectionManager2.java:534) at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionMa nagerProxy.allocateConnection(BaseConnectionManager2.java:812) at org.jboss.resource.adapter.jdbc.JDBCDataSource.getConnection(JDBCDataSou rce.java:110) at test.XATransactionTest$testJMSToDB2.doTheTest(XATransactionTest.java:871 ) at test.XATransactionTest$testJMSToDB2.run(XATransactionTest.java:825) at java.lang.Thread.run(Thread.java:536) and I can no longer access SQLServer. Has anyone else had these sorts of problems? Has anyone else used SQLServer with so many XA transactions? It looks like the Microsoft Distributed Transaction Coordinator falls over, but I'm wondering what I might be doing to cause this. rgds, Steve. Here is my configuration file for the datasource: MSSQLXaDS ServerName=SERVERNAME;SelectMethod=cursor;Databa seName=DATABASENAME com.microsoft.jdbcx.sqlserver.SQLServerDataSourc e USERNAME PASSWORD jboss.jca:service=RARDeployme nt,name=Minerva JDBC XATransaction ResourceAdapter 0 50 5000 15 ByContainer jboss.jca:service=Cach edConnectionManager jboss.security:serv ice=JaasSecurityManager java:/TransactionManager jboss.jca:service=RARDeployer --- This sf.net email is sponsored by: OSDN - Tired of that same old cell phone? Get a new h