JBoss Community

Re: remote tx inflow: timeouts

created by Mark Little in JBoss Transactions Development - View the full discussion

I understand the scenario. We do this in JTS. Still do it without a "fudge factor" :p

Tom Jenkinson wrote:

 

I don't think I am explaining this well enough.

 

Say there is a root TM and a subordinate TM with a timeout of say 2 second

 

time T+0: root TM starts transaction timeout of 2

time T+1:  tx flows to subordinate TM (using the remaining amount of timeout at root TM as the timeout for subordinate TM, i.e. the timeout value appears to be 1 at the subordinate TM)

time T+2: subordinate TM timesout and forgets about the transaciton AND root TM timesout. The root TM timeout cascades the abort to all XAResources (remember in the model we are going for subordinate transaction managers are registered as XAResources so each subordinate gets a call to abort from the root tm)

time T+3: the subordinate transaction manager receives the abort message from the root TM via the proxy XAResource but by now has cleaned up the transaction so will return an error indicating that it can't find the transaction

Reply to this message by going to Community

Start a new discussion in JBoss Transactions Development at Community