Re: making write location work (was: Efficient transaction-controlled synchronous replication)
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Simon Riggs <simon@2ndquadrant.com>, Fujii Masao <masao.fujii@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-03-23T18:25:51Z
Lists: pgsql-hackers
On Wed, Mar 23, 2011 at 12:44 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Robert Haas <robertmhaas@gmail.com> writes: >> Specifically, if we're not going to remove write location, then I >> think we need to apply something like the attached. > >> while (walrcv_receive(0, &type, &buf, &len)) >> XLogWalRcvProcessMsg(type, buf, len); > >> + /* Let the master know that we received some data. */ >> + XLogWalRcvSendReply(); > > What if we didn't actually receive any new data? The portion of the code immediately preceding what's included in the diff guards against that, and there is a second guard in XLogWalRcvSendReply(). -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company