Re: Weird test mixup - Mailing list pgsql-hackers

From Noah Misch
Subject Re: Weird test mixup
Date
Msg-id 20240506212324.2e.nmisch@google.com
Whole thread Raw
In response to Re: Weird test mixup  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Weird test mixup
List pgsql-hackers
On Mon, May 06, 2024 at 10:03:37AM +0900, Michael Paquier wrote:
> On Thu, May 02, 2024 at 12:35:55PM -0700, Noah Misch wrote:
> > I should have given a simpler example:
> > 
> > s1: local-attach to POINT
> > s2: enter InjectionPointRun(POINT), yield CPU just before injection_callback()
> > s1: exit
> > s2: wake up and run POINT as though it had been non-local

Here's how I've patched it locally.  It does avoid changing the backend-side,
which has some attraction.  Shall I just push this?

> Hmm.  Even if you were to emulate that in a controlled manner, you
> would need a second injection point that does a wait in s2, which is
> something that would happen before injection_callback() and before
> scanning the local entry.  This relies on the fact that we're holding
> CPU in s2 between the backend shmem hash table lookup and the callback
> being called.

Right.  We would need "second-level injection points" to write a test for that
race in the injection point system.

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Incorrect explain output for updates/delete operations with returning-list on partitioned tables
Next
From: Jacob Champion
Date:
Subject: [PATCH] pg_stat_activity: make slow/hanging authentication more visible