Re: Re: [COMMITTERS] pgsql: Efficient transaction-controlled synchronous replication.
Markus Wanner <markus@bluegap.ch>
From: Markus Wanner <markus@bluegap.ch>
To: MARK CALLAGHAN <mdcallag@gmail.com>
Cc: Alvaro Herrera <alvherre@commandprompt.com>, Andrew Dunstan <andrew@dunslane.net>, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Aidan Van Dyk <aidan@highrise.ca>, Simon Riggs <simon@2ndquadrant.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-03-18T14:19:56Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Efficient transaction-controlled synchronous replication.
- a8a8a3e09652 9.1.0 cited
Mark, On 03/18/2011 02:16 PM, MARK CALLAGHAN wrote: > 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 Oh, okay, good to know who to blame ;-) However, I didn't mean to offend anybody. > 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. Sure? Their documentation [1] isn't entirely clear on that first: "the master blocks after the commit is done and waits until at least one semisynchronous slave acknowledges that it has received all events for the transaction" and the "slave acknowledges receipt of a transaction's events only after the events have been written to its relay log and flushed to disk". But then continues to say that "[the master is] waiting for acknowledgment from a slave after having performed a commit", so this indeed sounds like the transaction is visible to other sessions before the slave ACKs. So, semi-sync may show temporary inconsistencies in case of a master failure. Wow! Regards Markus Wanner [1] MySQL 5.5 reference manual, 17.3.8. Semisynchronous Replication: http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.html