On Tue, May 17, 2016 at 9:29 AM, Albe Laurenz <laurenz.albe@xxxxxxxxxx> wrote: > That blog post seems ill-informed - that has nothing to do with > two-phase commit. > > The problem - that the server may commit a transaction, but the client > never receives the server's response - is independent of whether > two-phase commit is used or not. The author addresses this in a comment within the linked page: «The database may be consistent, but the system isn’t. A concurrent request to the db will get the answer “yes, the transaction has committed”, but the same request of the remote client gets “no, the transaction has not yet committed.” The system may eventuallybecome consistent, if the partition is healed and the acknowledgement reaches the client. But it isn’t consistent until that point. And the client can’t just wait indefinitely for acknowledgement–the commit request may not have reached the server, in which case the client would deadlock forever. Not to mention practical concerns (a customer and clerk aren’t going to wait very long for a credit card transaction to complete). Introducing timeouts then causes the temporary inconsistency to become permanent.» -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general