Re: pgsql: pg_surgery: Try to stabilize regression tests.

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Robert Haas <rhaas(at)postgresql(dot)org>
Cc: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: pg_surgery: Try to stabilize regression tests.
Date: 2020-09-20 13:39:05
Message-ID: 20200920133905.GA18931@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On Fri, Sep 18, 2020 at 05:27:06PM +0000, Robert Haas wrote:
> pg_surgery: Try to stabilize regression tests.
>
> According to buildfarm member sungazer, the behavior of VACUUM can be
> unstable in these tests even if we prevent autovacuum from running on
> the tables in question, apparently because even a manual vacuum can
> behave differently depending on whether anything else is running that
> holds back the global xmin. So use a temporary table instead, which
> as of commit a7212be8b9e0885ee769e8c55f99ef742cda487b enables
> vacuuming using a more aggressive cutoff.
>
> This approach can't be used for the regression test that involves a
> materialized view, but that test doesn't run vacuum, so it shouldn't
> be prone to this particular failure mode.
>
> Analysis by Tom Lane. Patch by Ashutosh Sharma and me.

rorqual has just reported an issue here:
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=rorqual&dt=2020-09-20%2011%3A20%3A11

vacuum freeze htab2;
+ERROR: cannot freeze committed xmax 23257
+CONTEXT: while scanning block 0 and offset 2 of relation "pg_temp_3.htab2"
-- unused TIDs should be skipped
select heap_force_kill('htab2'::regclass, ARRAY['(0, 2)']::tid[]);
-NOTICE: skipping tid (0, 2) for relation "htab2" because it is marked unused
--
Michael

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2020-09-20 13:47:17 pgsql: Fix whitespace
Previous Message Bruce Momjian 2020-09-20 03:19:53 Re: pgsql: Doc: fill in "major enhancements" list in v13 release notes.