Re: Synchronous replication - patch status inquiry
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Simon Riggs <simon@2ndQuadrant.com>
Cc: Dimitri Fontaine <dfontaine@hi-media.com>, Fujii Masao <masao.fujii@gmail.com>, Robert Haas <robertmhaas@gmail.com>, David Fetter <david@fetter.org>, Bruce Momjian <bruce@momjian.us>, fazool mein <fazoolmein@gmail.com>, pgsql-hackers@postgresql.org
Date: 2010-09-07T06:27:52Z
Lists: pgsql-hackers
On 06/09/10 17:14, Simon Riggs wrote: > On Mon, 2010-09-06 at 16:14 +0300, Heikki Linnakangas wrote: >>> >>> The standby is sending a stream of messages to the master with current >>> LSN positions at the time the message is sent. Given a synchronous >>> transaction, the master would wait until the feedback stream reports >>> that the current transaction is in the past compared to the streamed >>> last known synced one (or the same). >> >> That doesn't really answer the question: *when* does standby send back >> the acknowledgment? > > I think you should explain when you think this happens in your proposal. > > Are you saying that you think the standby should send back one message > for every transaction? That you do not think we should buffer the return > messages? For the sake of argument, yes that's what I was thinking. Now please explain how *you're* thinking it should work. > You seem to be proposing a design for responsiveness to a single > transaction, not for overall throughput. That's certainly a design > choice, but it wouldn't be my recommendation that we did that. Sure, if there's more traffic, you can combine things. For example, if one fsync in the standby flushes more than one commit record, you only need one acknowledgment for all of them. But don't dodge the question! -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com