[infinispan-dev] SingleJoinTest#testTransactional failure
Vladimir Blagojevic
vblagoje at redhat.com
Fri Nov 26 13:58:58 EST 2010
Hey,
On 10-11-26 12:15 PM, Manik Surtani wrote:
>
>> I like option 1 as well. I am interested in details of how this can be done. How do we set lock acquisition timeout for InvalidateL1Command, issue command to abort specific tx etc etc?
> Propose a design, we can review it here.
>
Ok, how about this:
1) JoinTask issues invalidateL1Command as it is now in JoinTask
2) In case of TimeoutException where cause is inability to acquire lock
L on key K then issue rollback for tx T
3) Repeat 1
4) Loop 1-3 until success or timeout
Questions:
1) For step2, can we simply do
commandsFactory.buildRollbackCommand(globalTx) and broadcast this message?
2) In order to achieve the above we have to add globalTx as parameter to
TimeoutException where globalTx is a the tx associated with T. Is there
another way to rollback a user transaction from JoinTask, another
mechanism perhaps?
3) I would also move JOIN_REHASH_END end message sent to signal
successful join *after* invalidation is done. Agree? Otherwise, we can
have overlapping joins.
More information about the infinispan-dev
mailing list