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