Re: Another reason why the recovery tests take a long time
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: pgsql-hackers@postgresql.org
Date: 2017-06-26T18:06:56Z
Lists: pgsql-hackers
Attachments
- walreceiver-restart-fix.patch (text/x-diff) patch
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. 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. regards, tom lane
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