From: | Noah Misch <noah(at)leadboat(dot)com> |
---|---|
To: | Michael Paquier <michael(at)paquier(dot)xyz> |
Cc: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Weird test mixup |
Date: | 2024-05-06 21:23:24 |
Message-ID: | 20240506212324.2e.nmisch@google.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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 | Content-Type | Size |
---|---|---|
inplace030-inj-exit-race-v1.patch | text/plain | 3.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Jacob Champion | 2024-05-06 21:23:38 | [PATCH] pg_stat_activity: make slow/hanging authentication more visible |
Previous Message | Tom Lane | 2024-05-06 21:18:31 | Re: Incorrect explain output for updates/delete operations with returning-list on partitioned tables |