Disable vacuum page skipping in selected test cases.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 20 Jan 2021 16:49:29 +0000 (11:49 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 20 Jan 2021 16:49:29 +0000 (11:49 -0500)
commitc2dc1a79767a0f947e1145f82eb65dfe4360d25f
treeb43755caa6f693d6967ed7c907eae42396a1991b
parent6b4d3046f422c2682365924b515c7588d5a3e651
Disable vacuum page skipping in selected test cases.

By default VACUUM will skip pages that it can't immediately get
exclusive access to, which means that even activities as harmless
and unpredictable as checkpoint buffer writes might prevent a page
from being processed.  Ordinarily this is no big deal, but we have
a small number of test cases that examine the results of VACUUM's
processing and therefore will fail if the page of interest is skipped.
This seems to be the explanation for some rare buildfarm failures.
To fix, add the DISABLE_PAGE_SKIPPING option to the VACUUM commands
in tests where this could be an issue.

In passing, remove a duplicated query in pageinspect/sql/page.sql.

Back-patch as necessary (some of these cases are as old as v10).

Discussion: https://postgr.es/m/413923.1611006484@sss.pgh.pa.us
contrib/amcheck/expected/check_heap.out
contrib/amcheck/sql/check_heap.sql
contrib/amcheck/t/001_verify_heapam.pl
contrib/pageinspect/expected/page.out
contrib/pageinspect/sql/page.sql
contrib/pg_visibility/expected/pg_visibility.out
contrib/pg_visibility/sql/pg_visibility.sql