Re: Another reason why the recovery tests take a long time
Simon Riggs <simon@2ndquadrant.com>
From: Simon Riggs <simon@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2017-06-26T18:41:29Z
Lists: pgsql-hackers
On 26 June 2017 at 19:06, Tom Lane <tgl@sss.pgh.pa.us> wrote: > I wrote: >> So this looks like a pretty obvious race condition in the postmaster, >> which should be resolved by having it set a flag on receipt of >> PMSIGNAL_START_WALRECEIVER that's cleared only when it does start a >> new walreceiver. > > Concretely, I propose the attached patch. Together with reducing > wal_retrieve_retry_interval to 500ms, which I propose having > PostgresNode::init do in its standard postgresql.conf adjustments, > this takes the runtime of the recovery TAP tests down from 2m50s > (after the patches I posted yesterday) to 1m30s. Patch looks good > I think there's still gold to be mined, because "top" is still > showing pretty low CPU load over most of the run, but this is > lots better than 4m30s. Thanks for looking into this -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Reduce wal_retrieve_retry_interval in applicable TAP tests.
- df31a9fc66f1 9.6.4 landed
- 2710ccd782d0 10.0 landed
-
Don't lose walreceiver start requests due to race condition in postmaster.
- e96adaacdc8f 9.2.22 landed
- e5d494d78cf6 10.0 landed
- dc311b5bd3cf 9.5.8 landed
- cb59949f6ec6 9.3.18 landed
- a4d1ce095bbe 9.6.4 landed
- 47fec424cbc9 9.4.13 landed