RE: [JBoss-user] JBoss 3.0.1 and SQLServer 2000 with XA transactions

2002-08-16 Thread Wink, Stephen

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

2002-08-16 Thread David Jencks

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

2002-08-16 Thread Wink, Stephen

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