[infinispan-dev] [ISPN-731] - make rehashing state and tx log draining serial

Vladimir Blagojevic vblagoje at redhat.com
Fri Nov 12 06:46:44 EST 2010


I am going to reopen 731 as the solution is not complete. I was using LeaveTest instead of ConcurrentNonOverlappingTest to verify a fix.


On 2010-11-10, at 11:03 AM, Manik Surtani wrote:

> 
> On 10 Nov 2010, at 13:09, Vladimir Blagojevic wrote:
> 
>> 
>> On 2010-11-08, at 9:01 AM, Mircea Markus wrote:
>> 
>>>>> 
>>>> 
>>>> Shouldn't you count down after receivers have applied the state, and have then ack'd that this state has been applied?  Rather than when the state has been picked up?
>>>> 
>>>>> State provider awaits on a latch for a 
>>>>> given view id and a timeout. When await returns it drains the tx log.
>>>> 
>>>> Rather than a countdown latch, wouldn't you rather maintain a synchronized set or something with the addresses of the recipients, and you only proceed when this set is empty?  Tighter control rather than a simple countdown.
>>>> 
>>>> Also, how do you plan on dealing with exceptional circumstances, e.g., a receiver node crashing before sending this ack?  Would that not block the entire rehash process?  Or would the node crashing cause a new view change, which will abort the LeaveTask (interrupt) and cause it to start all over again?
>>> +1 that's something we should be prepared for.
>>> That makes me think about an more interesting problem as well: what happens when a node crashes in the middle of tx log draining? Not sure the tx log can revert itself to the initial state, can it? Again something we should look into. 
>> 




More information about the infinispan-dev mailing list