[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