"ataylor" wrote :
|
| If thats the case then we either don't time out at all and return false for setTimeout or we need to keep the tx associated with the Resource manager and return XA_RBTIMEOUT.
The problem with that is how long do we keep the xid for? The xid list could grow without bound, so we'd have to clear it down after a time, and then if it does get cleared down and the tx mgr subsequently decides to commit/rollback on that branch we won't have record of the xid and we'll have …
[View More]to return XAERR_NOTA anyway!
For now, let's return false from setTransactionTimeout, then just timeout tx ourselves according to our own timeout, and return XAERR_NOTA, and double check with Jonathan this is ok.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4186580#4186580
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4186580
[View Less]
anonymous wrote : But logically, that _does not_ imply, that if we return false from setTransactionTimeout it is ok to return XAERR_NOTA if a rollback/commit is attempted after we have heuristically timed out the branch.
If thats the case then we either don't time out at all and return false for setTimeout or we need to keep the tx associated with the Resource manager and return XA_RBTIMEOUT. Actually as long as we release the acks and messages this should be ok. If we want we could have some …
[View More]sort of reaper that removes any timeout sessions that are really old.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4186579#4186579
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4186579
[View Less]