pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Andres Freund <andres@anarazel.de>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Subject: Re: PANIC: wrong buffer passed to visibilitymap_clear
Date: Sun, 11 Apr 2021 13:55:30 -0400
Message-ID: <2691724.1618163730@sss.pgh.pa.us> (raw)
In-Reply-To: <2691106.1618162892@sss.pgh.pa.us>
References: <2247102.1618008027@sss.pgh.pa.us>
	<20210409232739.sazp5p4xnnagrusa@alap3.anarazel.de>
	<20210409233203.3khg3s5iw34g4xrc@alap3.anarazel.de>
	<2644575.1618117467@sss.pgh.pa.us>
	<CAH2-WzmWOLaWhQgEC1BJN0JZpOCOwxCAhjmd2Nd4yh4wrqju8Q@mail.gmail.com>
	<2679216.1618156670@sss.pgh.pa.us>
	<CAH2-WzmJ7THDU3jPgRH8J++b+pSoOh8nfGZEhNHh+4=LFatDeg@mail.gmail.com>
	<CAH2-WzkCXg6RQJdc_7ZGHcKvyoJAfFu9R2ZVAiE9mCcOfaXJdQ@mail.gmail.com>
	<2689873.1618161194@sss.pgh.pa.us>
	<2691106.1618162892@sss.pgh.pa.us>

I wrote:
> I'm now inclined to think that we should toss every single line of that
> code, take RelationGetBufferForTuple out of the equation, and have just
> *one* place that rechecks for PageAllVisible having just become set.
> It's a rare enough case that optimizing it is completely not worth the
> code complexity and risk (er, reality) of hard-to-locate bugs.

Alternatively, we could do what you suggested and redefine things
so that one is only allowed to set the all-visible bit while holding
superexclusive lock; which again would allow an enormous simplification
in heap_update and cohorts.  Either way, it's hard to argue that
heap_update hasn't crossed the complexity threshold where it's
impossible to maintain safely.  We need to simplify it.

			regards, tom lane





view thread (25+ messages)  latest in thread

Message-ID: <2691724.1618163730@sss.pgh.pa.us>
Permalink:  ../2691724.1618163730@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/2691724.1618163730@sss.pgh.pa.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: tgl@sss.pgh.pa.us, pg@bowt.ie, andres@anarazel.de, pgsql-hackers@lists.postgresql.org
  Subject: Re: PANIC: wrong buffer passed to visibilitymap_clear
  In-Reply-To: <2691724.1618163730@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox