This content has been marked as final.
Show 3 replies
-
1. Re: Bug on the Transaction Manager
timfox Mar 12, 2010 1:58 PM (in response to clebert.suconic)If you think this is a bug in the transaction manager, you should post on the transactions forum. -
2. Re: Bug on the Transaction Manager
clebert.suconic Mar 12, 2010 5:01 PM (in response to timfox)The issue is that the TM will send the rollback and disassociate the XID.
later, any operation will behave as non-transacted as the TM didn't set a new XID yet.
For example, on ServerSessionimpl:doSend()
if (tx == null || autoCommitSends) { } else { routingContext.setTransaction(tx); } postOffice.route(msg, routingContext);
So, we should throw an exception if a session is XA and no resource was initialized yet. (instead of silently into non-transacted mode).
Any objections?
-
3. Re: Bug on the Transaction Manager
clebert.suconic Mar 12, 2010 5:26 PM (in response to clebert.suconic)if (this.xa && tx == null) { throw new HornetQXAException(XAException.XAER_PROTO, "Invalid transaction state"); }
I am adding this check on ServerSession for send and ack. That means, if the session is XA it must be transacted (it won't act as non-transacted).
And BTW I opened a JIRA for this: https://jira.jboss.org/jira/browse/HORNETQ-328