Re: pgsql: Attempt to fix unstable regression tests, take 2

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: David Rowley <dgrowley(at)gmail(dot)com>
Cc: David Rowley <drowley(at)postgresql(dot)org>, pgsql-committers(at)lists(dot)postgresql(dot)org, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
Subject: Re: pgsql: Attempt to fix unstable regression tests, take 2
Date: 2020-03-31 23:59:57
Message-ID: 7770.1585699197@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

David Rowley <dgrowley(at)gmail(dot)com> writes:
> On Tue, 31 Mar 2020 at 15:55, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Now this *IS* autovacuum interference, but it's hardly autovacuum's fault:
>> the test script is supposing that autovac won't come in before it does a
>> manual analyze, and that's just unsafe on its face.

> Why would that matter?

Look again at the failure: the problem is that the test script is
populating a table, then doing an EXPLAIN and expecting to see
results corresponding to a *not*-ANALYZED table, then doing ANALYZE,
then expecting to see EXPLAIN results corresponding to the analyzed
state. It's the second step of that that is vulnerable to an
ill-timed auto analyze. The only way to prevent it is to disable
autovac altogether on the table, as I did a little while ago
at 0936d1b6f.

This is of course not like the cases we've actually seen so far
in the buildfarm, but it's a case that I produced once and it
would surely recur.

It will be interesting to see if 0936d1b6f really fixes the issue
altogether or the instability continues --- but if it does, then
autovacuum is not the problem.

regards, tom lane

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message David Rowley 2020-04-01 00:33:33 Re: pgsql: Attempt to fix unstable regression tests, take 2
Previous Message David Rowley 2020-03-31 23:44:09 Re: pgsql: Attempt to fix unstable regression tests, take 2