Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Justin Pryzby <pryzby(at)telsasoft(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations
Date: 2022-03-31 02:51:21
Message-ID: CAH2-Wz=45r+_UioDrKKWK5=fNFk1BXg41yg_it6h41Sea1NDYQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Mar 30, 2022 at 7:37 PM Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
> Yeah, a WARNING would be good here. I can write a new version of my
> patch series with a separation patch for that this evening. Actually,
> better make it a PANIC for now...

Attached is v14, which includes a new patch that PANICs like that in
vac_update_relstats() --- 0003.

This approach also covers manual VACUUMs, which isn't the case with
the failing assertion, which is in instrumentation code (actually
VACUUM VERBOSE might hit it).

I definitely think that something like this should be committed.
Silently ignoring system catalog corruption isn't okay.

--
Peter Geoghegan

Attachment Content-Type Size
v14-0003-PANIC-on-relfrozenxid-from-the-future.patch application/octet-stream 3.6 KB
v14-0001-Set-relfrozenxid-to-oldest-extant-XID-seen-by-VA.patch application/octet-stream 61.3 KB
v14-0002-Generalize-how-VACUUM-skips-all-frozen-pages.patch application/octet-stream 19.1 KB
v14-0004-vacuumlazy.c-Move-resource-allocation-to-heap_va.patch application/octet-stream 5.1 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2022-03-31 03:16:02 Re: ExecRTCheckPerms() and many prunable partitions
Previous Message Peter Geoghegan 2022-03-31 02:37:58 Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations