IIRC, C cannot become the master because it does not have all the changes that A and B have seen. The leader election protocol can take care of ensuring the invariant that the elected master must be the most up-to-date of all peers. (Alternatively, the new master can request the missing log suffix from the peers during election, but I believe, although it's a while since I checked, that ZK does the former. Someone can fill in the details / correct me).
Henry On 20 August 2014 10:24, Gaurav Saxena <[email protected]> wrote: > I am curious about a seemingly data loss scenario. I describe it below > > There are three zookeeper servers A, B, and C. > 1. At one point in time t1 the state of the system is as follows: > A is up and contains data d1, d2. A is master > B is up and contains data d1, d2 > C is up and contains data d1, d2 > > 2. At time t2 C goes down. The state of the system at t2 is > A is up and contains data d1, d2. A is master > B is up and contains data d1, d2 > C is down and its log contains data d1, d2 > > 3. At time t3 the state of the system changes > A is up and contains data d1, d2, d3. A is master > B is up and contains data d1, d2, d3 > C is down and its log contains data d1, d2 > > 4. At time t4, C comes up and also becomes the master, while A and B are > also up > > Question: Because C is master, will the logs of A and B be truncated to > contain only d1 and d2? Is this considered a data loss scenario? If yes, is > there an issue around it? > > -- > Regards > Gaurav Saxena > -- Henry Robinson Software Engineer Cloudera 415-994-6679
