Re: Re: [COMMITTERS] pgsql: Efficient transaction-controlled synchronous replication.

Markus Wanner <markus@bluegap.ch>

From: Markus Wanner <markus@bluegap.ch>
To: Kevin Grittner <Kevin.Grittner@wicourts.gov>
Cc: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Simon Riggs <simon@2ndQuadrant.com>, Alvaro Herrera <alvherre@commandprompt.com>, Andrew Dunstan <andrew@dunslane.net>, MARK CALLAGHAN <mdcallag@gmail.com>, Aidan Van Dyk <aidan@highrise.ca>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-03-18T19:22:20Z
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 →
  1. Efficient transaction-controlled synchronous replication.

On 03/18/2011 05:27 PM, Kevin Grittner wrote:
> Basically, what Heikki addresses.  It has to be committed after
> crash and recovery, and deal with replicas which may or may not have
> been notified and may or may not have applied the transaction.

Huh?  I'm not quite following here.  Committing additional transactions
isn't a problem, reverting committed transactions is.

And yes, given that we only wait for ACK from a single standby, you'd
have to failover to exactly *that* standby to guarantee consistency.

> In fact, on further reflection, allowing other transactions to see
> work before the committing transaction returns could lead to broken
> behavior if that viewing transaction took some action based on the
> that, the master crashed, recovery was done using a standby, and
> that standby hadn't persisted the transaction.  So this behavior is
> necessary for good behavior.

I fully agree to that.

Regards

Markus