pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Noah Misch <noah@leadboat.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>
Cc: pgsql-hackers@postgresql.org, Tom Lane <tgl@sss.pgh.pa.us>
Cc: Smolkin Grigory <smallkeen@gmail.com>
Subject: Re: race condition in pg_class
Date: Wed, 12 Jun 2024 12:32:23 -0700
Message-ID: <20240612193223.fe.nmisch@google.com> (raw)
In-Reply-To: <CA+TgmoZdSOzXBO83qEUTe2jMQ92Ss3St8C1c59N2PPsTQ0T2Pg@mail.gmail.com>
References: <20231102030915.d3.nmisch@google.com>
	<20240512232923.aa.nmisch@google.com>
	<20240605181706.fe.nmisch@google.com>
	<CA+TgmobfMU5pdXP36D5iAwxV5WKE_vuDLtp_1QyH+H5jMMt21g@mail.gmail.com>
	<ZmJENQ1BiMoStBPD@paquier.xyz>
	<CA+TgmoZ_Qezv0+AXN4s=OumQwvo9cf+1e+BA=y42WKth+QQK+A@mail.gmail.com>
	<20240611021927.30.nmisch@google.com>
	<ZmfUgRBbyLIGoHyM@paquier.xyz>
	<20240612175452.de.nmisch@google.com>
	<CA+TgmoZdSOzXBO83qEUTe2jMQ92Ss3St8C1c59N2PPsTQ0T2Pg@mail.gmail.com>

On Wed, Jun 12, 2024 at 02:08:31PM -0400, Robert Haas wrote:
> On Wed, Jun 12, 2024 at 1:54 PM Noah Misch <noah@leadboat.com> wrote:
> > If I were making a list of changes always welcome post-beta, it wouldn't
> > include adding wait event types.  But I don't hesitate to add one if it
> > unblocks a necessary test for a bug present in all versions.
> 
> However, injection points themselves are not present in all versions,
> so even if we invent a new wait-event type, we'll have difficulty
> testing older versions, unless we're planning to back-patch all of
> that infrastructure, which I assume we aren't.

Right.  We could put the injection point tests in v18 only instead of v17+v18.
I feel that would be an overreaction to a dispute about names that show up
only in tests.  Even so, I could accept that.

> Personally, I think the fact that injection point wait events were put
> under Extension is a design mistake that should be corrected before 17
> is out of beta.

Works for me.  I don't personally have a problem with the use of Extension,
since it is a src/test/modules extension creating them.

> > Here's what I'm reading for each person's willingness to tolerate each option:
> >
> > STRATEGY                        | Paquier | Misch | Haas
> > --------------------------------------------------------
> > new "Injection Point" wait type | maybe   | yes   | yes
> > INJECTION_POINT(...) naming     | yes     | yes   | unknown
> > isolation spec says event names | yes     | no    | unknown
> >
> > Corrections and additional strategy lines welcome.  Robert, how do you judge
> > the lines where I've listed you as "unknown"?
> 
> I'd tolerate INJECTION_POINT() if we had no other option but I think
> it's clearly inferior. Does the last line refer to putting the
> specific wait event names in the isolation spec file? If so, I'd also
> be fine with that.

Yes, the last line does refer to that.  Updated table:

STRATEGY                        | Paquier | Misch | Haas
--------------------------------------------------------
new "Injection Point" wait type | maybe   | yes   | yes
INJECTION_POINT(...) naming     | yes     | yes   | no
isolation spec says event names | yes     | no    | yes

I find that's adequate support for the first line.  If there are no objections
in the next 24hr, I will implement that.





view thread (86+ messages)  latest in thread

Message-ID: <20240612193223.fe.nmisch@google.com>
Permalink:  ../20240612193223.fe.nmisch@google.com/
Also on:    postgresql.org/message-id/20240612193223.fe.nmisch@google.com

 · 

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: noah@leadboat.com, robertmhaas@gmail.com, michael@paquier.xyz, tgl@sss.pgh.pa.us, smallkeen@gmail.com
  Subject: Re: race condition in pg_class
  In-Reply-To: <20240612193223.fe.nmisch@google.com>

* 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