Thread: recovery test error
As I was trying out the libpq perl wrapper on Windows, I encountered a failure in recovery test 002_archiving.pl from this query: SELECT size IS NOT NULL FROM pg_stat_file('c:/prog/postgresql/build/testrun/recovery/002_archiving/data/t_002_archiving_primary_data/archives/00000002.history') The test errored out because the file didn't exist. This was called by poll_query_until(), which is changed by the patch to use a libpq session rather than constantly forking psql. ISTM we should be passing true as a second parameter so we keep going if the file doesn't exist. Thoughts? cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com
On Tue, Jul 16, 2024 at 03:04:13PM -0400, Andrew Dunstan wrote: > This was called by poll_query_until(), which is changed by the patch to use > a libpq session rather than constantly forking psql. ISTM we should be > passing true as a second parameter so we keep going if the file doesn't > exist. > > Thoughts? Sounds like a good idea to me as this call could return ENOENT depending on the timing of the archiver pushing the new history file, as writeTimeLineHistory() at the end of recovery notifies the archiver but does not wait for the fact to happen (history files are prioritized, still there is a delay). -- Michael
Attachment
On 2024-07-16 Tu 7:45 PM, Michael Paquier wrote: > On Tue, Jul 16, 2024 at 03:04:13PM -0400, Andrew Dunstan wrote: >> This was called by poll_query_until(), which is changed by the patch to use >> a libpq session rather than constantly forking psql. ISTM we should be >> passing true as a second parameter so we keep going if the file doesn't >> exist. >> >> Thoughts? > Sounds like a good idea to me as this call could return ENOENT > depending on the timing of the archiver pushing the new history file, > as writeTimeLineHistory() at the end of recovery notifies the archiver > but does not wait for the fact to happen (history files are > prioritized, still there is a delay). Thanks. Done. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com