The whole point of the zab protocol is to ensure that only one elected leader 
can exist at one time.  Since a quorum has to commit to supporting any leader 
there can't be two leaders. Furthermore each change of leadership increments 
the epoch and that increment had to be committed on a majority of node. That 
means that only one leader can exist in the latest epoch. Since the latest 
epoch is, by definition, acknowledged by a majority of nodes, an old leader 
cannot resurface as a pretender to the throne. 

Sent from my iPhone

On Mar 7, 2012, at 7:08 PM, Alexander Shraer <shra...@yahoo-inc.com> wrote:

> I’ve been wondering about this for a while, and suspect that this check 
> doesn’t exist in the code… but I may be wrong.
>  
> From: Ted Dunning [mailto:ted.dunn...@gmail.com] 
> Sent: Wednesday, March 07, 2012 4:55 PM
> To: Alexander Shraer
> Cc: user@zookeeper.apache.org
> Subject: Re: Possibility / consequences of having multiple elected leaders
>  
> Not off the cuff and I have to run away right now.
>  
> On Wed, Mar 7, 2012 at 4:07 PM, Alexander Shraer <shra...@yahoo-inc.com> 
> wrote:
> > Such a commit will be rejected due to an old epoch.
> 
> Ted, can you please point me to the place in the code where this check is 
> performed ?
> 
> Thanks a lot,
> Alex
>  

Reply via email to