I took a look at this paper, looks like it was talking about ZAB pre 1.0 (the old ZAB protocol). In ZAB 1.0, follower will first sync with leader and then atomically update its currentEpoch when receiving a NEWLEADER message from leader. Some documentations about ZAB 1.0 and old ZAB might help:
https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zab+Pre+1.0 https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zab1.0 On Thu, Oct 4, 2018 at 10:58 AM Ax Jiang <[email protected]> wrote: > HI there > > I am new to ZAB and very interested in the ZAB. > My question is that in the paper "Zookeeper's atomic broadcast protocol: > Theory and Practice", in the pseudo code of phase two: sync, in the line > 19. If the follower's epoch is not the prospective leader, which means the > epoch of this follower is pretty old, then the state of this follower will > go to the re-election. In the following reelection, since the epoch of this > follower is older it seems data in this follower will never will sync-ed? > > I guess I miss something in the reading and any help is appreciated in > advance. > > -regards >
