Re: [COMMITTERS] pgsql: Use asynchronous connect API in libpqwalreceiver

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: pgsql-hackers@postgreSQL.org, Andrew Dunstan <andrew@dunslane.net>
Date: 2017-03-04T04:11:33Z
Lists: pgsql-hackers
Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
> On 3/3/17 19:16, Tom Lane wrote:
>> Peter Eisentraut <peter_e@gmx.net> writes:
>>> Use asynchronous connect API in libpqwalreceiver

>> Buildfarm member bowerbird has been failing in the pg_rewind test since
>> this patch went in.  It looks like it's failing to complete connections
>> from the standby; which suggests that something platform-specific is
>> missing from this commit, but I dunno what.

> Hmm, I wonder how widely tested the async connection API is on Windows
> at all.  I only see bowerbird and jacana running bin-check on Windows.

Yeah, I was wondering if this is just exposing a pre-existing bug.
However, the "normal" path operates by repeatedly invoking PQconnectPoll
(cf. connectDBComplete) so it's not immediately obvious how such a bug
would've escaped detection.

			regards, tom lane


Commits

  1. Fix WaitEventSetWait() to handle write-ready waits properly on Windows.

  2. Rewrite async-connection loop in libpqwalreceiver.c, once again.

  3. Use asynchronous connect API in libpqwalreceiver