Thread: pgsql: Prevent instability in contrib/pageinspect's regression test.

pgsql: Prevent instability in contrib/pageinspect's regression test.

From
Tom Lane
Date:
Prevent instability in contrib/pageinspect's regression test.

pageinspect has occasionally failed on slow buildfarm members,
with symptoms indicating that the expected effects of VACUUM
FREEZE didn't happen.  This is presumably because a background
transaction such as auto-analyze was holding back global xmin.

We can work around that by using a temp table in the test.
Since commit a7212be8b, that will use an up-to-date cutoff xmin
regardless of other processes.  And pageinspect itself shouldn't
really care whether the table is temp.

Back-patch to v14.  There would be no point in older branches
without back-patching a7212be8b, which seems like more trouble
than the problem is worth.

Discussion: https://postgr.es/m/2892135.1668976646@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/e2933a6e11791191050cd925d52d34e785eece77

Modified Files
--------------
contrib/pageinspect/expected/page.out | 3 ++-
contrib/pageinspect/sql/page.sql      | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)


Re: pgsql: Prevent instability in contrib/pageinspect's regression test.

From
Andres Freund
Date:
Hi,

On 2022-11-21 15:51:05 +0000, Tom Lane wrote:
> Prevent instability in contrib/pageinspect's regression test.
> 
> pageinspect has occasionally failed on slow buildfarm members,
> with symptoms indicating that the expected effects of VACUUM
> FREEZE didn't happen.  This is presumably because a background
> transaction such as auto-analyze was holding back global xmin.
> 
> We can work around that by using a temp table in the test.
> Since commit a7212be8b, that will use an up-to-date cutoff xmin
> regardless of other processes.  And pageinspect itself shouldn't
> really care whether the table is temp.
> 
> Back-patch to v14.  There would be no point in older branches
> without back-patching a7212be8b, which seems like more trouble
> than the problem is worth.

Looks like a chunk of the buildfarm doesn't like this - presumably because
they use force_parallel_mode = regress. Seems ok to just force that to off in
this test?

Greetings,

Andres Freund



Re: pgsql: Prevent instability in contrib/pageinspect's regression test.

From
Tom Lane
Date:
Andres Freund <andres@anarazel.de> writes:
> Looks like a chunk of the buildfarm doesn't like this - presumably because
> they use force_parallel_mode = regress. Seems ok to just force that to off in
> this test?

Ugh ... didn't occur to me to try that.  I'll take a look.

            regards, tom lane