Dear Zookeeper developers, I am a student writing a report on the internals of Zookeeper. I have been reading the papers as well as the source code of Zookeeper and I have some basic questions to ask.
First of all, the paper: "Junqueira, F.P.; Reed, B.C.; Serafini, M.: Zab: High-performance broadcast for primary-backup systems. IEEE/IFIP 41st International Conference on Dependable Systems & Networks (DSN), 2011." discusses Zab as first doing a leader election and followed by three phases: 1. Discovery 2. Synchronization 3. Broadcast I have also been reading the Zookeeper source code, and could locate the following parts: - Fast Leader Election (by default) - Synchronization - Broadcast It seem like Fast Leader Election is substituting both Leader Election and Discovery phase of the protocol in the paper. Is my understanding correct, and what are the guarantees assumed by the synchronization phase on earlier phases of the Zab pipeline? On a sidenote, I was also quickly looking at the Synchronization phase in the code and could not locate the Commit message for new leader described in the paper. Was this an oversight on my part? Thank you, -- Andre Medeiros
