[infinispan-dev] SingleJoinTest#testTransactional failure

Vladimir Blagojevic vblagoje at redhat.com
Tue Nov 23 08:10:59 EST 2010


On 10-11-23 7:34 AM, Manik Surtani wrote:
> So the issue is that a reader has locked the entry in memory because it is in L1, and this is why the transactional write from elsewhere cannot be applied?  Readers don't block writers...
>

There are no readers here - I believe. Again cluster is {A,B,C,D} , E is 
a joiner. Command put on key K is prepared across the cluster from 
originating node, say B. As prepare is executed write locks on K are 
obtained at A, C, and D. Now, E joins, issues invalidate on K across 
cluster. Invalidate command tries to obtain a write lock on key K but it 
can not since it is already locked by command command.

Give it a go. Add a 2 sec sleep to RehashTestBase.java line 96 just 
before tx is started. This will ensure that E always rehashes before tx 
from B is started. Test never fails in this case.

Cheers



More information about the infinispan-dev mailing list