Reducing walreceiver latency with a latch

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>

From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: PostgreSQL-development <pgsql-hackers@postgreSQL.org>
Date: 2010-09-13T11:40:15Z
Lists: pgsql-hackers

Attachments

Now that we have the wonderful latch facility, let's use it to reduce 
the delay between receiving a piece of WAL and applying in the standby. 
Currently, the startup process polls every 100ms to see if new WAL has 
arrived, which adds an average a 50 ms delay between a transaction 
commit in the master and it appearing as committed in a hot standby 
server. The latch patch eliminated a similar polling delay in walsender 
already, the attached patch does the same for walreceiver.

After this patch, there is no unnecessary delays in the streaming 
replication code path. Note that this is all still asynchronous, just 
with reduced latency.

This is pretty straightforward, but any comments?

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