[infinispan-dev] SingleJoinTest#testTransactional failure

Vladimir Blagojevic vblagoje at redhat.com
Wed Dec 8 20:50:30 EST 2010


On 10-12-01 1:07 PM, Manik Surtani wrote:
> On 1 Dec 2010, at 14:56, Vladimir Blagojevic wrote:
>
>> I don't know guys but although this sounds good it is a bit complicated
>> you have to admit!
>>
>> I have a stupid question. Why do we allow transactions to lock keys that
>> are in L1? I mean these keys are transient on non-owner nodes so why
>> lock them to begin with?
> Simpler design/impl as it is in-line with replication as well.  Happy to consider other prototype imls.
>
> Cheers
> Manik
>

Ok, I went with Manik's original proposal of trying to lock with zero 
timeout and fail fast if unsuccessful. However, that was only half the 
problem. The real underlying problem why SingleJinTest fails I found out 
is sometimes prepare command prepares tx on nodes A,B and join rehash 
actually rehashes the affected key and commit is issued on nodes say A, 
C which of course does not commit value on B. Stale tx cleanup 
eventually kicks in and cleans up locked key(s) on B and rolls back tx.  
However, node B does not have expected value that tx put in and test fails.

I am not sure what we should do? This is clearly instance of a larger 
problem - i.e. handling tx during rehashing.

Regards,
Vladimir


More information about the infinispan-dev mailing list