Re: pg14b1 stuck in lazy_scan_prune/heap_page_prune of pg_statistic

Justin Pryzby <pryzby@telsasoft.com>

From: Justin Pryzby <pryzby@telsasoft.com>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Matthias van de Meent <boekewurm+postgres@gmail.com>, pgsql-hackers@lists.postgresql.org, Masahiko Sawada <sawada.mshk@gmail.com>, Andres Freund <andres@anarazel.de>
Date: 2021-06-09T00:50:39Z
Lists: pgsql-hackers
On Tue, Jun 08, 2021 at 05:44:15PM -0700, Peter Geoghegan wrote:
> On Tue, Jun 8, 2021 at 5:11 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > I wonder if this is a variant of the problem shown at
> >
> > https://www.postgresql.org/message-id/2591376.1621196582%40sss.pgh.pa.us
> >
> > where maybe_needed was visibly quite insane.  This value is
> > less visibly insane, but it's still wrong.  It might be
> > interesting to try running this test case with the extra
> > assertions I proposed there, to try to narrow down where
> > it's going off the rails.
> 
> Oh yeah. Justin didn't say anything about upgrading using pg_upgrade
> (just something about upgrading the kernel).
> 
> Did you use pg_upgrade here, Justin?

Yes.

The kernel upgrade was going to be my hand-waving dismissal of the issue when I
saw someting waiting on a futex.  (Since a few years ago Tom had to remind me
about an old Linux futex bug which we hit after upgrading to v12 on a
customer's server - they like to avoid maintenance at all costs).

-- 
Justin



Commits

  1. Deduplicate choice of horizon for a relation procarray.c.

  2. Use correct horizon when vacuuming catalog relations.

  3. Truncate line pointer array during VACUUM.

  4. Remove tupgone special case from vacuumlazy.c.

  5. Refactor lazy_scan_heap() loop.

  6. snapshot scalability: Don't compute global horizons while building snapshots.