On Fri, Mar 18, 2011 at 3:29 PM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
> On Fri, 2011-03-18 at 20:19 +0100, Markus Wanner wrote:
>> On 03/18/2011 05:19 PM, Simon Riggs wrote:
>> >>> Simon Riggs<simon(at)2ndQuadrant(dot)com> wrote:
>> >>>> In PostgreSQL other users cannot observe the commit until an
>> >>>> acknowledgement has been received.
>> On other nodes as well? To me that means the standby needs to hold back
>> COMMIT of an ACKed transaction, until receives a re-ACK from the master,
>> that it committed the transaction there. How else could the slave know
>> when to commit its ACKed transactions?
> We could do that easily enough, actually, if we wished.
> Do we wish?
Seems like it would be nice, but isn't it dreadfully expensive?
Wouldn't you need to prevent the slave from applying the WAL until the
master has released the sync rep waiters? You'd need a whole new
series of messages back and forth.
Since the current solution is intended to support data-loss-free
failover, but NOT to guarantee a consistent view of the world from a
SQL level, I doubt it's worth paying any price for this. Certainly in
the hot_standby=off case it's a nonissue. We might need to think
harder about it when and if someone impements an 'apply' level though,
because this would seem more of a concern in that case (though I
haven't thought through all the details).
The Enterprise PostgreSQL Company
In response to
pgsql-hackers by date
|Next:||From: Robert Haas||Date: 2011-03-18 21:19:23|
|Subject: Re: Sync Rep and shutdown Re: Sync Rep v19|
|Previous:||From: Robert Haas||Date: 2011-03-18 21:13:43|
|Subject: Re: 2nd Level Buffer Cache|
pgsql-committers by date
|Next:||From: Kevin Grittner||Date: 2011-03-18 21:24:03|
|Subject: Re: Re: [COMMITTERS] pgsql: Efficient transaction-controlled synchronous replication.|
|Previous:||From: Aidan Van Dyk||Date: 2011-03-18 21:08:11|
|Subject: Re: Re: [COMMITTERS] pgsql: Efficient transaction-controlled