On 03/07/2011 09:29 AM, Aidan Van Dyk wrote:
On Mon, Mar 7, 2011 at 2:21 PM, Andrew Dunstan<and...@dunslane.net> wrote:
For me, that's enough to call it "synchronous replication". It provides a
useful guarantee to the client. But you could argue for an even stricter
definition, requiring atomicity so that if a transaction is not successfully
replicated for any reason, including crash, it is rolled back in the master
too. That would require 2PC.
My worry is that the stricter definition is what many people will expect,
without reading the fine print.
They they are either already hosed or already using 2PC.
This is about expectations. The thing that worries me is that the use of
this term might cause some people NOT to use 2PC because they think they
are getting an equivalent guarantee, when in fact they are not. And
that's hardly unreasonable. Here for example is what wikipedia says
<http://en.wikipedia.org/wiki/Replication_%28computer_science%29>:
Synchronous replication - guarantees "zero data loss" by the means
of atomic write operation, i.e. write either completes on both sides
or not at all. Write is not considered complete until
acknowledgement by both local and remote storage.
cheers
andrew
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers