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

From: Markus Wanner <markus(at)bluegap(dot)ch>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Aidan Van Dyk <aidan(at)highrise(dot)ca>, Simon Riggs <simon(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Re: [COMMITTERS] pgsql: Efficient transaction-controlled synchronous replication.
Date: 2011-03-18 09:27:13
Message-ID: 4D832571.5030808@bluegap.ch
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Hi,

sorry for being late to join that bike-shedding discussion.

On 03/07/2011 05:09 PM, Alvaro Herrera wrote:
> I think these terms are used inconsistenly enough across the industry
> that what would make the most sense would be to use the common term and
> document accurately what we mean by it, rather than relying on some
> external entity's definition, which could change (like wikipedia's).

I absolutely agree to Alvaro here.

The Wikipedia definition seems to only speak about one local and one
remote node. Requiring an ack from "at least one" remote node seems to
cover that.

Not even Wikipedia goes further in their definition and tries to explain
what 'synchronous replication' could mean in case we have more than two
nodes. A somewhat common expectation is, that all nodes would have to
ack. However, with such a requirement a single node failure brings your
cluster to a full stop. So this isn't a practical option.

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).

Others (like me) use "synchronous" or (lately rather) "eager" to mean
that only a majority of nodes need to send an ACK. I have to explain
what I mean every time.

In the end, I don't have a strong opinion either way, anymore. I'm
happy to think of the replication between the master and the one standby
that's sending an ACK first as "synchronous". (Even if those may well
be different standbies for different transactions).

Hope to have brought some light into this discussion.

Regards

Markus Wanner

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2011-03-18 12:10:46 pgsql: Remove bogus semicolons in recoveryPausesHere.
Previous Message Simon Riggs 2011-03-18 07:52:07 Re: [COMMITTERS] pgsql: Efficient transaction-controlled synchronous replication.

Browse pgsql-hackers by date

  From Date Subject
Next Message Markus Wanner 2011-03-18 09:51:36 Re: I am confused after reading codes of PostgreSQL three week
Previous Message Heikki Linnakangas 2011-03-18 08:48:09 Re: Allowing multiple concurrent base backups