Received: from maia.hub.org (maia-2.hub.org [200.46.204.251]) by mail.postgresql.org (Postfix) with ESMTP id 47F4E133616B for ; Fri, 18 Mar 2011 11:19:45 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.251]) (amavisd-maia, port 10024) with ESMTP id 95422-07 for ; Fri, 18 Mar 2011 14:19:37 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from outmail148111.authsmtp.net (outmail148111.authsmtp.net [62.13.148.111]) by mail.postgresql.org (Postfix) with ESMTP id 5B25A1337B81 for ; Fri, 18 Mar 2011 11:19:36 -0300 (ADT) Received: from mail-c193.authsmtp.com (mail-c193.authsmtp.com [62.13.128.118]) by punt8.authsmtp.com (8.14.2/8.14.2/Kp) with ESMTP id p2IEJOhw007592; Fri, 18 Mar 2011 14:19:24 GMT Received: from [192.168.0.3] ([81.5.146.37]) (authenticated bits=0) by mail.authsmtp.com (8.14.2/8.14.2) with ESMTP id p2IEJJ5w001131; Fri, 18 Mar 2011 14:19:19 GMT Subject: Re: Re: [COMMITTERS] pgsql: Efficient transaction-controlled synchronous replication. From: Simon Riggs To: MARK CALLAGHAN Cc: Markus Wanner , Alvaro Herrera , Andrew Dunstan , Heikki Linnakangas , Aidan Van Dyk , pgsql-hackers In-Reply-To: References: <4D741441.2090704@dunslane.net> <1299454125.1696.6138.camel@ebony> <4D74896C.5030402@enterprisedb.com> <4D74DDFA.70800@dunslane.net> <4D74E584.7080409@enterprisedb.com> <4D74E9FA.7070202@dunslane.net> <4D74F3AE.9000802@dunslane.net> <4D74FDEC.5040406@enterprisedb.com> <4D74FF15.1070804@dunslane.net> <1299513979-sup-1987@alvh.no-ip.org> <4D832571.5030808@bluegap.ch> Content-Type: text/plain; charset="UTF-8" Date: Fri, 18 Mar 2011 14:19:18 +0000 Message-ID: <1300457958.18619.13780.camel@ebony> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 Content-Transfer-Encoding: 7bit X-Server-Quench: b73913fd-516a-11e0-97bb-002264978518 X-AuthReport-Spam: If SPAM / abuse - report it at: http://www.authsmtp.com/abuse X-AuthRoute: OCdxZQATClZOTQEd DAteCiN5VAwpPBRK HVkIKg5MJUcNSQVJ NksacRtFaQ1bYFhD HGQLWlVEUVl7WGp/ aQofZQRDZ1RPWwN0 U09WR1pVCwUmQR54 c2RkV15ydwRHe38+ ZE9gWXEVDkN5fEd+ FBpJEGwANHphaTUf TUlfJVFJcANIfBlB Y1d3UXIFLwdSbGoL PyYYHB0LBgAXEikH CjImCnc3YHo3MwQH clgaEi42GR9Nais9 LhcnJ1gAfg4NKEw0 KlIqRVMfNVoZDQtC BUZJBCJVb0IQQSEr FwRcWlMFWCdQWSNd CRQ0IxhORFQA X-Authentic-SMTP: 61633235383639.1014:706 X-AuthFastPath: 0 (Was 255) X-AuthVirus-Status: No virus detected - but ensure you scan with your own anti-virus system. X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=2.419 tagged_above=-5 required=5 tests=BAYES_00=-1.9, FS_REPLICA=3.599, SARE_SPEC_REPLICA=0.72 X-Spam-Level: ** X-Archive-Number: 201103/1124 X-Sequence-Number: 184374 On Fri, 2011-03-18 at 13:16 +0000, MARK CALLAGHAN wrote: > On Fri, Mar 18, 2011 at 9:27 AM, Markus Wanner wrote: > > Google invented the term "semi-syncronous" for something that's > > essentially the same that we have, now, I think. However, I full > > heartedly hate that term (based on the reasoning that there's no > > semi-pregnant, either). > > We didn't invent the term, we just implemented something that Heikki > Tuuri briefly described, for example: > http://bugs.mysql.com/bug.php?id=7440 > > In the Google patch and official MySQL version, the sequence is: > 1) commit on master > 2) wait for slave to ack > 3) return to user > > After step 1 another user on the master can observe the commit and the > following is possible: > 1) commit on master > 2) other user observes that commit on master > 3) master blows up and a user observed a commit that never made it to a slave > > I do not think this sequence should be possible in a sync replication > system. But it is possible in what has been implemented for MySQL. > Thus it was named semi-sync rather than sync. Thanks for clearing it up Mark. We should definitely not be calling what we have "semi-sync". The semantics are very different. In PostgreSQL other users cannot observe the commit until an acknowledgement has been received. -- Simon Riggs http://www.2ndQuadrant.com/books/ PostgreSQL Development, 24x7 Support, Training and Services