Re: Standalone synchronous master

Jeff Janes <jeff.janes@gmail.com>

From: Jeff Janes <jeff.janes@gmail.com>
To: Andres Freund <andres@2ndquadrant.com>
Cc: "Joshua D. Drake" <jd@commandprompt.com>, Bruce Momjian <bruce@momjian.us>, Amit Kapila <amit.kapila16@gmail.com>, Hannu Krosing <hannu@2ndquadrant.com>, MauMau <maumau307@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Kevin Grittner <kgrittn@ymail.com>, Heikki Linnakangas <hlinnakangas@vmware.com>, Simon Riggs <simon@2ndquadrant.com>, Rajeev rastogi <rajeev.rastogi@huawei.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2014-01-10T22:47:13Z
Lists: pgsql-hackers
On Fri, Jan 10, 2014 at 2:33 PM, Andres Freund <andres@2ndquadrant.com>wrote:

> On 2014-01-10 14:29:58 -0800, Joshua D. Drake wrote:
> > db02 goes down. It doesn't matter why. It is down. db01 continues to
> accept
> > orders, allow people to log into the website and we can still service
> > accounts. The continuity of service continues.
>
> Why is that configuration advantageous over a async configuration is the
> question.


Because it is orders of magnitude less likely to lose transactions that
were reported to have been committed.  A permanent failure of the master is
almost guaranteed to lose transactions with async.  With auto-degrade, a
permanent failure of the master only loses reported-committed transactions
if it co-occurs with a temporary failure of the replica or the network,
lasting longer than the time out period.


Why, with those requirements, are you using a synchronous
> standby at all?
>

They aren't using synchronous standby, they are using asynchronous standby
because we fail to provide the choice they prefer, which is a compromise
between the two.

Cheers,

Jeff