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

Reply via email to