Re: pgsql: Fix bogus loop logic in 013_crash_restart test'spump_until subr - Mailing list pgsql-committers

From Thomas Munro
Subject Re: pgsql: Fix bogus loop logic in 013_crash_restart test'spump_until subr
Date
Msg-id CAEepm=0rtoT5NaMGShGUbeB0nW7_jDxqgJT4oEyfMU35z9Msqg@mail.gmail.com
Whole thread Raw
In response to pgsql: Fix bogus loop logic in 013_crash_restart test's pump_untilsubr  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-committers
On Mon, Aug 13, 2018 at 10:05 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Fix bogus loop logic in 013_crash_restart test's pump_until subroutine.
>
> The pump_nb() step might've already received the desired data, so we must
> check for that at the top of the loop not the bottom.  Otherwise, the
> call to pump() will sit with nothing to do until the timeout elapses.
> pump_until then falls out with apparent success ... but the timeout has
> been used up, causing the next call of pump_until to report a timeout
> failure.  I believe this explains the intermittent timeout failures
> we've seen in the buildfarm ever since this test went in.  I was able
> to reproduce the problem on gaur semi-repeatably, and this appears to
> fix it.

Oh, thank you!  Occasional failures fitting this description had been
vexing me for a while in the cfbot results.

-- 
Thomas Munro
http://www.enterprisedb.com


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Revert "Distinguish printf-like functions that support %m fromt
Next
From: Andrew Gierth
Date:
Subject: pgsql: Avoid query-lifetime memory leaks in XMLTABLE (bug #15321)