[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