Bugs item #756389, was opened at 2003-06-18 03:18
Message generated for change (Comment added) made by ejort
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=756389&group_id=22866
Category: JBossMQ
Group: v3.2
>Status: Closed
>Resolution: Fixed
Priority: 5
Submitted By: Elias Ross (genman)
>Assigned to: Adrian Brock (ejort)
Summary: Likely Race condition with MDB shared sessions
Initial Comment:
Using a MDB with container-managed persistance, I have
been getting these errors very occationally (every
1000th message.)
(I modified the JBoss code in CVS to print out a more
meaningful message when this happens)
2003-06-18 02:02:24,082 WARN [DialogMDB] (Thread Pool
Worker-0)
02281- Exception in onMessage, performing roll-back
javax.jms.JMSException: Unknown transaction id: null
Known: {XidImpl [FormatId=257, GlobalId=dhcppc3//11001,
[EMAIL PROTECTED]
txState=0, sendMessages=[], ackedMessages=[] }}
[EMAIL PROTECTED]
at
org.jboss.mq.SpyXAResourceManager.addMessage(SpyXAResourceManager.java:95)
at
org.jboss.mq.SpySession.sendMessage(SpySession.java:696)
at
org.jboss.mq.SpyQueueSender.internalSend(SpyQueueSender.java:118)
at
org.jboss.mq.SpyQueueSender.send(SpyQueueSender.java:76)
at
com.proteusmobile.smx.jms.JmsQueueMessageSender.send(JmsQueueMessageSender.java:282)
Note that the transaction ID is *null*, which should
not occur.
The problem is one thread unsets the TX ID, after the
previous one had it set. Here is logging before the
problem hit. Notice I added the session object to the
log message. Notice that different thread workers have
the *same* session object and this object is created by
the container/JBoss.
2003-06-18 02:02:24,079 TRACE [SpySession] (Thread Pool
Worker-0) setting
current tx id: XidImpl [FormatId=257,
GlobalId=dhcppc3//11679, BranchQual=2],
previous: null this: [EMAIL PROTECTED]
2003-06-18 02:02:24,080 TRACE [SpySession] (Thread Pool
Worker-1) Unsetting
current tx id: [EMAIL PROTECTED]
This is from 3.2 CVS head. I suspect that the same
javax.jms.QueueSession is being used for each thread in
the MDB pool. Could somebody help me check this code!?
----------------------------------------------------------------------
>Comment By: Adrian Brock (ejort)
Date: 2003-06-18 09:50
Message:
Logged In: YES
user_id=9459
This is fixed in 3.2 CVS.
If the XAResource has been suspended, it no longer
tries to re-remove the transaction id from the session
at commit.
Regards,
Adrian
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=756389&group_id=22866
-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development