Thank you Flavio for explanation. It really makes sense for me. > I'm not sure why you are assuming 3.4.6, though. Why is it relevant for this > question?
I am assuming 3.4.6 because first I use this version, second I do not know about dynamic configuration 3.5.0 as it may have different solution for mentioned scenario. Ibrahim -----Original Message----- From: Flavio P JUNQUEIRA [mailto:[email protected]] Sent: Sunday, September 27, 2015 05:21 م To: [email protected] Subject: Re: Zab Failure scenario In 3, it is not exactly a pending proposal, but if the leader has 10 in its log, then it will make sure 10 is committed by the end of the synchronisation phase and before it becomes established. I'm not sure why you are assuming 3.4.6, though. Why is it relevant for this question? -Flavio On 27 Sep 2015 4:51 pm, "Ibrahim El-sanosi (PGR)" < [email protected]> wrote: > Assume we use ZooKeeper 3.4.6 and we have 3-server cluster. Leader > (L), > follower1 (F1) and follower2 (F2). The scenario is as following: > > 1. Leader sends a proposal with Zxid = 10. > > 2. F2 crashes before receiving P10. F1 logs, sends an ACK and > crashes. > As there is no quorum supporting L, L moves to LOOKING phase to find > a quorum and elects new leader. After sometime F1 wakes up and form a > quorum with L. Both F1 and L (pervious leader) have same state (zxid > =10 in their log). Therefore the process which has the large myid will > be a leader, assume L (pervious leader) has larger myid, So, > > 3. L sends a pending proposal with Zxid =10 to F1. > > 4. F1 logs and sends an ACK. > > 5. Upon receiving ACK, L commits p10 and sends an ACK. > > > > (1) Is this true or false? > > (2) Regards, > Ibrahim > >
