This is the idea i can not get :) Why do not have aborts can simplify 2PC without any affects on Integrity?
Thanks! -- daidong Sent with Sparrow On 2011年4月21日星期四 at 上午4:26, Benjamin Reed-3 [via zookeeper-user] wrote: > just to add a bit to alex's reponse: we do a simplified 2pc since we > do not have aborts. we also differ from 2pc during recovery which is > made up of two sub phases. > > ben > > On Wed, Apr 20, 2011 at 11:29 AM, Alexander Shraer > <[hidden email]> wrote: > > > Hi, > > > > Regarding your first question - ZAB has two parts - the broadcast protocol > > you mention, > > which is executed by a leader, and the leader election protocol, which > > recovers from a leader failure. > > This is similar to the way other state-machine replication algorithms work, > > where you have > > a fast normal mode and a slower recovery mode (you don't need to execute > > both all the time - only when the leader fails). > > See Paxos state-machine replication for example (section 3): > > http://research.microsoft.com/en-us/um/people/lamport/pubs/pubs.html#paxos-simple > > > > Regarding your second question - Zookeeper basically guarantees so called > > "sequential consistency" semantics. > > This guarantees that the real execution looks to clients like some > > sequential execution in which > > the operations of every client appear in the order they were submitted. It > > does not guarantee that a read of one client > > returns the latest value written by another client. This allows reads to be > > executed locally. If you need to return the latest > > state, you can use the sync() call which flushes the pending updates > > between the leader and a follower. > > See also the "consistency guarantees" section here: > > http://hadoop.apache.org/zookeeper/docs/r3.3.1/zookeeperProgrammers.html > > > > Alex > > > >> -----Original Message----- > >> From: daidong [mailto:[hidden email]] > >> Sent: Wednesday, April 20, 2011 2:38 AM > >> To: [hidden email] > >> Subject: Problems about Zab protocol > >> > >> Hi, everyone. > >> > >> Recently, i read the paper "a simple total ordered broadcast protocol" > >> and > >> there are some problems i can not figure out. Hope anyone can help > >> me... :P > >> > >> The paper describes the Zab protocol as a 2 phase commit protocol when > >> system is under broadcast mode. However some paper(Skeen 82, "A Quorum > >> Based > >> Commit Protocol") has mentioned if we want to extend an 2PC to adapt a > >> quorum based commit protocol we must introduce a three phase commit > >> protocol(In fact, i haven't quit understood this, :( ). However > >> according > >> Zab paper, this still can be done. Why and how to do this? > >> > >> Secondly, even Zookeeper can guarantee that status in different > >> followers > >> are consistent. However, this consistency only works among a quorum of > >> followers that has acked the COMMIT. As the client can connect to any > >> followers when perform reading action, so what happens if the client > >> happens > >> to connect with the follower that has not acked the COMMIT? I can not > >> find > >> the information in this paper... > >> > >> If i ask some naive question, Hope anybody can tell me where i can find > >> the > >> answer or some suggestions, thanks :) > >> > >> > >> -- > >> View this message in context: http://zookeeper- > >> user.578899.n2.nabble.com/Problems-about-Zab-protocol- > >> tp6290102p6290102.html > >> Sent from the zookeeper-user mailing list archive at Nabble.com. > > > > > If you reply to this email, your message will be added to the discussion > below: > http://zookeeper-user.578899.n2.nabble.com/Problems-about-Zab-protocol-tp6290102p6292118.html > > To unsubscribe from Problems about Zab protocol, click here. > > > -- View this message in context: http://zookeeper-user.578899.n2.nabble.com/Problems-about-Zab-protocol-tp6290102p6293379.html Sent from the zookeeper-user mailing list archive at Nabble.com.