Hello,

I'm using jBoss 4.2.2GA with jdk 1.5.0_12.

For my transactional monitor (a Tuxedo clone but a little faster :-)), I'm 
developing a JCA connector based on JCA specifications 1.0. Until now, 
everything was working fine until I tried to add XA functionality.

When jBoss is under stress, it seems that ManagedConnections can be used 
concurrently by 2 (or more) separated threads. As my implementation of 
ManagedConnection isn't thread-safe, I have troubles. 

Is it normal that a ManagedConnection can be used by several threads ? I 
thought the pooling mechanism was built to avoid such cases.

I give you my trace just in case of I'm wrong in interpreting it. I add the 
thread id to the log4j pattern to known from which thread the message is coming 
from. As you can see, the thread http-7 is performing those steps: 
1- gets the [EMAIL PROTECTED] from the pool
2- sends message 548  (xa_start)
3- gets response 548 (XA_OK)
4- sends message 551 (service call)
5- gets response 551 (call OK)
6- sends message 559 (xa_end(TM_SUSPEND))
7- gets response 559 (XA_OK)
8- puts the [EMAIL PROTECTED] back to the pool
9- sends message 560 (xa_end(TM_SUCCESS))
10- gets wrong response (overwrite by response) !!!!

Between step 9 and 10 of thread http-7, thread http-4 gets the same [EMAIL 
PROTECTED] from the pool and begins its work:
1- gets the [EMAIL PROTECTED] from the pool
2- sends message 561  (xa_start)
3- gets wrong response (overwrite by response 560) !!!!

I noticed that the problem always comes from XA orders sent after the 
ManagedConnection is returned to the pool.

Please help me.

Thanks in advance,
Pierre Brico


13:56:17,897-http-172.18.4.104-8180-7 TRACE [JBossManagedConnectionPool] 
supplying ManagedConnection from pool: [EMAIL PROTECTED] [EMAIL PROTECTED] 
handles=0 lastUse=1214999777767 permit=false trackByTx=false [EMAIL PROTECTED] 
[EMAIL PROTECTED] [EMAIL PROTECTED] txSync=null]
13:56:17,898-http-172.18.4.104-8180-7 TRACE [JBossManagedConnectionPool] Got 
connection from pool [EMAIL PROTECTED] [EMAIL PROTECTED] handles=0 
lastUse=1214999777767 permit=true trackByTx=false [EMAIL PROTECTED] [EMAIL 
PROTECTED] [EMAIL PROTECTED] txSync=null] [InUse/Available/Max]: [1/19/20]
13:56:17,898-http-172.18.4.104-8180-7 TRACE [TxConnectionManager] Pre-enlist: 
[EMAIL PROTECTED] [EMAIL PROTECTED] handles=0 lastUse=1214999777767 permit=true 
trackByTx=false [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] 
txSync=null] threadTx=TransactionImple < ac, BasicAction: 
-53edfb98:e7a2:486b6b91:2abf status: ActionStatus.RUNNING >
13:56:17,898-http-172.18.4.104-8180-7 TRACE [TxConnectionManager] Get 
synchronizer [EMAIL PROTECTED] [EMAIL PROTECTED] handles=0 
lastUse=1214999777767 permit=true trackByTx=false [EMAIL PROTECTED] [EMAIL 
PROTECTED] [EMAIL PROTECTED] txSync=null] threadTx=TransactionImple < ac, 
BasicAction: -53edfb98:e7a2:486b6b91:2abf status: ActionStatus.RUNNING >
13:56:17,898-http-172.18.4.104-8180-7 TRACE [TxConnectionManager] Enlisting 
resource [EMAIL PROTECTED] [EMAIL PROTECTED] handles=0 lastUse=1214999777767 
permit=true trackByTx=false [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL 
PROTECTED] txSync=TxSync731292857{tx=TransactionImple < ac, BasicAction: 
-53edfb98:e7a2:486b6b91:2abf status: ActionStatus.RUNNING > wasTrackByTx=false 
enlisted=false}]
13:56:17,899-http-172.18.4.104-8180-7 INFO  [STDOUT] Sent header 548 [EMAIL 
PROTECTED]
13:56:17,900-http-172.18.4.104-8180-7 INFO  [STDOUT] Sent body 548 [EMAIL 
PROTECTED]
13:56:17,980-http-172.18.4.104-8180-7 INFO  [STDOUT] Received header 548 [EMAIL 
PROTECTED]
13:56:17,980-http-172.18.4.104-8180-7 INFO  [STDOUT] Received body 548 [EMAIL 
PROTECTED]
13:56:17,980-http-172.18.4.104-8180-7 TRACE [TxConnectionManager] Enlisted 
resource [EMAIL PROTECTED] [EMAIL PROTECTED] handles=0 lastUse=1214999777767 
permit=true trackByTx=false [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL 
PROTECTED] txSync=TxSync731292857{tx=TransactionImple < ac, BasicAction: 
-53edfb98:e7a2:486b6b91:2abf status: ActionStatus.RUNNING > wasTrackByTx=false 
enlisted=false}]
13:56:17,980-http-172.18.4.104-8180-7 TRACE [TxConnectionManager] Check 
enlisted [EMAIL PROTECTED] [EMAIL PROTECTED] handles=0 lastUse=1214999777767 
permit=true trackByTx=false [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL 
PROTECTED] txSync=TxSync731292857{tx=TransactionImple < ac, BasicAction: 
-53edfb98:e7a2:486b6b91:2abf status: ActionStatus.RUNNING > wasTrackByTx=false 
enlisted=true}] threadTx=TransactionImple < ac, BasicAction: 
-53edfb98:e7a2:486b6b91:2abf status: ActionStatus.RUNNING >
13:56:17,983-http-172.18.4.104-8180-7 INFO  [STDOUT] Sent header 551 [EMAIL 
PROTECTED]
13:56:17,999-http-172.18.4.104-8180-7 INFO  [STDOUT] Sent body 551 [EMAIL 
PROTECTED]
13:56:18,378-http-172.18.4.104-8180-7 INFO  [STDOUT] Received header 551 [EMAIL 
PROTECTED]
13:56:18,442-http-172.18.4.104-8180-7 INFO  [STDOUT] Received body 551 [EMAIL 
PROTECTED]
13:56:18,448-http-172.18.4.104-8180-7 TRACE [TxConnectionManager] 
connectionClosed called [EMAIL PROTECTED]
13:56:18,448-http-172.18.4.104-8180-7 TRACE [TxConnectionManager] 
isManagedConnectionFree=true [EMAIL PROTECTED]
13:56:18,448-http-172.18.4.104-8180-7 TRACE [TxConnectionManager] delisting 
[EMAIL PROTECTED] [EMAIL PROTECTED] handles=0 lastUse=1214999777767 permit=true 
trackByTx=false [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] 
txSync=TxSync731292857{tx=TransactionImple < ac, BasicAction: 
-53edfb98:e7a2:486b6b91:2abf status: ActionStatus.RUNNING > wasTrackByTx=false 
enlisted=true}]
13:56:18,449-http-172.18.4.104-8180-7 INFO  [STDOUT] Sent header 559 [EMAIL 
PROTECTED]
13:56:18,450-http-172.18.4.104-8180-7 INFO  [STDOUT] Sent body 559 [EMAIL 
PROTECTED]
13:56:18,719-http-172.18.4.104-8180-7 INFO  [STDOUT] Received header 559 [EMAIL 
PROTECTED]
13:56:18,720-http-172.18.4.104-8180-7 INFO  [STDOUT] Received body 559 [EMAIL 
PROTECTED]
13:56:18,720-http-172.18.4.104-8180-7 TRACE [JBossManagedConnectionPool] 
putting ManagedConnection back into pool kill=false [EMAIL PROTECTED] [EMAIL 
PROTECTED] handles=0 lastUse=1214999777767 permit=true trackByTx=false [EMAIL 
PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] txSync=null]
13:56:18,720-http-172.18.4.104-8180-7 TRACE [JBossManagedConnectionPool] 
Returning connection to pool [EMAIL PROTECTED] [EMAIL PROTECTED] handles=0 
lastUse=1214999778720 permit=false trackByTx=false [EMAIL PROTECTED] [EMAIL 
PROTECTED] [EMAIL PROTECTED] txSync=null] [InUse/Available/Max]: [2/18/20]
13:56:18,720-http-172.18.4.104-8180-7 INFO  [STDOUT] Sent header 560 [EMAIL 
PROTECTED]
13:56:18,722-http-172.18.4.104-8180-7 INFO  [STDOUT] Sent body 560 [EMAIL 
PROTECTED]
13:56:18,783-http-172.18.4.104-8180-4 TRACE [JBossManagedConnectionPool] 
supplying ManagedConnection from pool: [EMAIL PROTECTED] [EMAIL PROTECTED] 
handles=0 lastUse=1214999778720 permit=false trackByTx=false [EMAIL PROTECTED] 
[EMAIL PROTECTED] [EMAIL PROTECTED] txSync=null]
13:56:18,783-http-172.18.4.104-8180-4 TRACE [JBossManagedConnectionPool] Got 
connection from pool [EMAIL PROTECTED] [EMAIL PROTECTED] handles=0 
lastUse=1214999778720 permit=true trackByTx=false [EMAIL PROTECTED] [EMAIL 
PROTECTED] [EMAIL PROTECTED] txSync=null] [InUse/Available/Max]: [3/17/20]
13:56:18,784-http-172.18.4.104-8180-4 TRACE [TxConnectionManager] No 
transaction, no need to enlist: [EMAIL PROTECTED] [EMAIL PROTECTED] handles=0 
lastUse=1214999778720 permit=true trackByTx=false [EMAIL PROTECTED] [EMAIL 
PROTECTED] [EMAIL PROTECTED] txSync=null]
13:56:18,786-http-172.18.4.104-8180-4 INFO  [STDOUT] Sent header 561 [EMAIL 
PROTECTED]
13:56:18,791-http-172.18.4.104-8180-4 INFO  [STDOUT] Sent body 561 [EMAIL 
PROTECTED]
13:56:18,990-http-172.18.4.104-8180-7 INFO  [STDOUT] Received header 560 [EMAIL 
PROTECTED]
13:56:28,979-http-172.18.4.104-8180-4 INFO  [STDOUT] Received header 12293 
[EMAIL PROTECTED]
13:56:28,980-http-172.18.4.104-8180-4 TRACE [TxConnectionManager] 
connectionClosed called [EMAIL PROTECTED]
13:56:28,980-http-172.18.4.104-8180-4 TRACE [TxConnectionManager] 
isManagedConnectionFree=true [EMAIL PROTECTED]
13:56:28,980-http-172.18.4.104-8180-4 TRACE [TxConnectionManager] delisting 
[EMAIL PROTECTED] [EMAIL PROTECTED] handles=0 lastUse=1214999778720 permit=true 
trackByTx=false [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] 
txSync=null]
13:56:28,980-http-172.18.4.104-8180-4 TRACE [JBossManagedConnectionPool] 
putting ManagedConnection back into pool kill=false [EMAIL PROTECTED] [EMAIL 
PROTECTED] handles=0 lastUse=1214999778720 permit=true trackByTx=false [EMAIL 
PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] txSync=null]
13:56:28,980-http-172.18.4.104-8180-4 TRACE [JBossManagedConnectionPool] 
Returning connection to pool [EMAIL PROTECTED] [EMAIL PROTECTED] handles=0 
lastUse=1214999788980 permit=false trackByTx=false [EMAIL PROTECTED] [EMAIL 
PROTECTED] [EMAIL PROTECTED] txSync=null] [InUse/Available/Max]: [5/15/20]



View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4162043#4162043

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4162043
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to