Re: Reducing walreceiver latency with a latch

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>

From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>, Thom Brown <thom@linux.com>
Date: 2010-09-14T08:51:01Z
Lists: pgsql-hackers

Attachments

On 14/09/10 05:02, Fujii Masao wrote:
> +	/*
> +	 * Walreceiver sets this latch every time new WAL has been received and
> +	 * fsync'd to disk, allowing startup process to wait for new WAL to
> +	 * arrive.
> +	 */
> +	Latch		receivedLatch;
>
> I think that this latch should be available for other than walreceiver -
> startup process communication. For example, backend - startup process
> communication, which can be used for requesting a failover via SQL function
> by users in the future. What about putting the latch in XLogCtl instead of
> WalRcv and calling OwnLatch at the beginning of the startup process instead
> of RequestXLogStreaming?

Yes, good point. I updated the patch along those lines, attached.

-- 
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com