Hi,Alex, I still have following questions. 1. When the leader asks the followers to ack the proposal, what are the common cases that the follower would not ack the proposal. If the follower can't ack the proposal, will the follower explicitly tell the leader that it can't ack? 2. If follower A acks, while the others don't. A will wait for the commit request from the leader? What if the leader never sends out the commit request? How does A know that the write fail? 3. If follower A doesn't receive the commit request, then A can't tell the client that the write has successfully done. what will A tell the client?
Thanks !! [email protected] From: Ibrahim Date: 2015-01-07 08:38 To: zookeeper-user Subject: RE: Question about the two-phrase commit Thank you Alexander. I get it Ibrahim From: Alexander Shraer-2 [via zookeeper-user] [mailto:[email protected]] Sent: Wednesday, January 07, 2015 12:29 ص To: Ibrahim El-sanosi (PGR) Subject: Re: Question about the two-phrase commit Edward is totally right - if the operation hasn't been acked by a quorum then whether or not it is lost depends on failures (both server failures and network failures) as well as latencies. The leader doesn't have to re-broadcast everything - when a follower connects to a leader it tells him whats the last operation in its log and the leader only needs to send the missing log suffix or a snapshot + suffix if the follower is really behind. The leader indeed doesn't know which operations were acked by a quorum. The operations that weren't acked are always some suffix of the log (potentially empty). On Tue, Jan 6, 2015 at 4:19 PM, Ibrahim <[hidden email]</user/SendEmail.jtp?type=node&node=7580745&i=0>> wrote: > Thank you Edward for replaying. > > In my opinion, your first case can’t happen, because the election > mechanism will elect the node that has the latest transaction (zxid) seen. > In this case, it will be only your second case is correct, unless the node > that has latest transaction crashes forever. > > Ibrahim > From: Edward Carter [via zookeeper-user] [mailto: > [hidden email]</user/SendEmail.jtp?type=node&node=7580745&i=1>] > Sent: Tuesday, January 06, 2015 11:53 م > To: Ibrahim El-sanosi (PGR) > Subject: Re: Question about the two-phrase commit > > If an operation is logged to disk on a minority of servers, then what > happens on restart depends on which server wins the leader election. Since > the new operation is on a minority, depending on network conditions, a > server that did *not* log the operation might win the leader election. In > this case, the operation will be discarded. If a server that *did* log the > operation wins the leader election (as would be the case in the absence of > network or latency issues), then the operation will be propagated to the > remaining servers in the ensemble. > > Edward > > On Jan 6, 2015, at 3:42 PM, Ibrahim <[hidden > email]</user/SendEmail.jtp?type=node&node=7580741&i=0>> wrote: > > > Hi Alexander, > > > > So, you meant that if there is operation loged to the disk but it hasn't > got > > enough majority, then if the zookeeper servers restart, the new leader > will > > re-broadcast the loged operation again to the followers to commit that > > operation. > > > > Does above what you meant by (NEWLEADER message acts as the accept and > > UPTODATE message acts as commit). > > > > Am I right? > > > > Thank you > > > > Ibrahim > > > > > > > > -- > > View this message in context: > https://urldefense.proofpoint.com/v1/url?u=http://zookeeper-user.578899.n2.nabble.com/Question-about-the-two-phrase-commit-tp7580725p7580739.html&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=09h%2FR60Z1NzKuJcTv9DkEw%3D%3D%0A&m=T7mEM8unY7tsVTbHXoSOqvwXEZEBCs8%2BRWl0cT03ruo%3D%0A&s=bcce5c88300c51126777473143b3f560542cf1c5699b33283f888e27ed41529f > > 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/Question-about-the-two-phrase-commit-tp7580725p7580741.html > To unsubscribe from Question about the two-phrase commit, click here< > >. > NAML< > http://zookeeper-user.578899.n2.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml > > > > > > > -- > View this message in context: > http://zookeeper-user.578899.n2.nabble.com/Question-about-the-two-phrase-commit-tp7580725p7580743.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/Question-about-the-two-phrase-commit-tp7580725p7580745.html To unsubscribe from Question about the two-phrase commit, click here<http://zookeeper-user.578899.n2.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=7580725&code=aS5zLmVsLXNhbm9zaUBuZXdjYXN0bGUuYWMudWt8NzU4MDcyNXw1NTE4MjI0Njk=>. NAML<http://zookeeper-user.578899.n2.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> -- View this message in context: http://zookeeper-user.578899.n2.nabble.com/Question-about-the-two-phrase-commit-tp7580725p7580746.html Sent from the zookeeper-user mailing list archive at Nabble.com.
