On 22 Oct 2010, at 12:07, Manik Surtani wrote:
On 21 Oct 2010, at 22:54, Mircea Markus wrote:
> Hi,
>
> ISPN-180 requires some significant code changes around re-hashing, so I've
decided to make the rehashing-related test suite more stable before changing the code.
> I've fixed some, but transactional rehash tests are still failing. Here is why:
>
> {A,B,C, D}, num owners= 2. A's state is {(k,v)} and a transactions is prepared
with {(k, otherValue)} on A.
> B crashes.
> two things happen with A's state:
> 1. on C an thread pulls state from A
> 2. A sends transaction state to C on another thread
>
> Whit the right timing:
> - 2 executes first (tx log is drained)
> - tx commits - this applies the changes on C as well
> - 1 executes last
> Data ends up inconsistent:
> A's states is {(k, otherValue)} while C's state is {(k,v)}
>
> State transfer and tx log needs to be sequential (not parallel).
But it is sequential.
http://fisheye.jboss.org/browse/Infinispan/branches/4.2.x/core/src/main/j...
no :)
The operations that need to be sequential are state transfer and tx log transfer.
State is being *pulled* by C (thread running on C) and tx log is *pushed* by A (thread
running on A). Two threads running in different VMs.
Or is this not the case anymore, since Vladimir inverted the LeaveTask? Vladimir, can
you confirm that these 2 actions (providing state and flushing/tx logs) happen in the same
thread?
> The easy way to achieve this is to only do push, i.e. A sends the state and then
drains tx log.
> This can be reproduce by running ConcurrentNonOverlappingLeaveTest.testTransactional
(fails aprox 1/5)
>
> Cheers,
> Mircea
>
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Manik Surtani
manik(a)jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org
_______________________________________________
infinispan-dev mailing list
infinispan-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev