[infinispan-dev] JGroups 2.7 and 2.8 work with Infinispan now

Manik Surtani manik at jboss.org
Mon Jun 1 09:00:55 EDT 2009


On 1 Jun 2009, at 10:22, Mircea Markus wrote:

> Bela Ban wrote:
>>
>>
>> Mircea Markus wrote:
>>> Vladimir Blagojevic wrote:
>>>> Hi,
>>>>
>>>> Give it a try as well! I suggest we move to 2.8 sooner than  
>>>> later. Currently, with tcp and 2.7 I get 0 failures and with 2.8  
>>>> I get 9 faliures.
>>> That's something!
>>> The way I see it we are kind of trapped: on one hand we cannot fix  
>>> NBST without a JGroups fix,
>>
>> I thought NBST doesn't use JGroups anymore ? (I mean the block()  
>> and unblock() and flush functionality)
> that was a hack[1] in order to fix a race condition taking place  
> when a new member joins.
> It didn't work, though.

Also, this is not specific to NBST as it affects normal traffic as  
well.  From a direct email between Mircea, Vladimir and myself, the  
following sequence could result in a race even without NBST:


> Could we create a test where:
>
> 1.  Node A and B are in the cluster.
> 2.  Node A does put(x, y) the same time Node C joins
> 3.  Test that Node C sees the put.
> 4.  Repeat the test to simulate the race condition.

I believe the problem is that C discards messages before its view is  
installed.  A & B could receive this view and send messages to C,  
which C will not see.  Initially we thought FLUSH will work around  
this problem, and while it reduces the window of occurence, the  
problem still exists since there is a race between A & B receiving  
unblock() and then broadcasting queued messages, and C receiving these  
queued messages and receiving unblock().

One solution which Mircea proposed is for FLUSH to queue messages  
received during a blocked state, so that this race condition on C is  
removed.  However it would be better to do this without FLUSH, for C  
to queue messages received between joining and its view being installed.

Cheers
Manik

>
>>
>>> and JGroups fix can only be performed on 2.8, and we cannot go  
>>> live with it.
>>> When is 2.8 scheduled for going GA?
>>
>> I think by the end of the summer. I'll release a first beta soon.  
>> 'Beta' sounds scary, but as a matter of fact 2.8 is very stable  
>> already.
>>
>>
>
>
> [1] https://jira.jboss.org/jira/browse/ISPN-83
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

--
Manik Surtani
manik at jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org







More information about the infinispan-dev mailing list