Algorithm for Zab Phase 2 – Synchronization

This is part of my main post on architecture of ZAB.

There are four variables that constitute the persistent state of a node, which are used during the recovery part of the protocol:
history: a log of transaction proposals accepted;
acceptedEpoch: the epoch number of the last NEWEPOCH message accepted;
currentEpoch: the epoch number of the last NEWLEADER message accepted;
lastZxid: zxid of the last proposal in the history;

algo2

References: Andr´e Medeiros, “ZooKeeper’s atomic broadcast protocol: Theory and practice”, http://www.tcs.hut.fi/Studies/T-79.5001/reports/2012-deSouzaMedeiros.pdf

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s