Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
Zookeeper >> mail # user >> Question on Zab's Synchronization phase design

de Souza Medeiros Andre 2012-02-23, 13:21
Copy link to this message
Re: Question on Zab's Synchronization phase design
the formal proof of zab is at
http://research.yahoo.com/files/YL-2010-007.pdf and it does reference
this atomic action a lot. (it is invariant 24.) note, the protocol is
restated in terms used in the code in:

as far as the implementation goes, we write the history and the epoch
to disk in the same step, but we do require the function to be atomic
to preserve the atomicity. the function is Follower.syncWithLeader
when the NEWLEADER message is processed. we would need to use some
simple logging if we wanted to remove the atomicity assumption of


On Thu, Feb 23, 2012 at 5:21 AM, de Souza Medeiros Andre
> Hi all,
> I hope this list is appropriate to place my question regarding one of the most recent papers on ZooKeeper's Zab protocol: http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5958223&tag=1
> When Phase II (Synchronization) of the protocol is described, in step f.2.1 there are two actions performed "atomically": setting f.a to e' and accepting every transaction in the initial history given by the leader. My question is: what precisely does "atomically" mean? Does it mean that either none or both are executed? Then, do the core properties depend on the atomic execution of those actions? I've read the proofs in that paper and apparently the atomic execution of those actions is not mentioned. How does this relate to Zab protocol in the code? I haven't yet found a synchronization code that sets f.a (currentEpoch in the code) "atomically" together with the history (through TRUNC, DIFF, or SNAP messages).
> Thanks for the attention,
> Andre Medeiros
de Souza Medeiros Andre 2012-02-24, 12:29