Subject: Re: Teach isolation tester about injection points in background workers

From: Srinath Reddy Sadipiralla <[email-masked]>
Date: Tue, 24 Mar 2026 16:25:47 +0530

Hi Antonin,

On Mon, Mar 23, 2026 at 12:52 PM Antonin Houska <[email-masked]> wrote:

> I hit a limitation of the isolation tester when trying to reproduce a bug
> in
> REPACK (CONCURRENTLY) [1]: it does not recognize that session is blocked
> due
> to background worker waiting on an injection point. This patch tries to fix
> that.
>

+1. I was thinking can we move the logic of checking if bg workers are the
reason of blocking the main backend
inside pg_isolation_test_session_is_blocked
to make it cleaner, and regarding "XXX Should we use a separate query for
that?"
i am confused here IIUC if we keep it as 1 query using UNION every time its
for sure
that both the queries will run, which can increase more execution time but
less libpq/socket
calls, but if we send as 2 queries if 1st query doesn't returns true we
have to go and
check the other query, so here if 2 queries ran then execution +
libpq/socket calls overhead,
so i am slightly inclined towards separating the queries , so that if 1st
gets satisfied then
we don't touch the 2nd query at all, please correct me if i am wrong here :)

-- 
Thanks,
Srinath Reddy Sadipiralla
EDB: https://www.enterprisedb.com/

---

From: Michael Paquier <[email-masked]>
Date: Wed, 25 Mar 2026 11:19:15 +0900

> we don't touch the 2nd query at all, please correct me if i am wrong here :)

Is there a benefit in this change outside the hypothetical REPACK
CONCURRENTLY?  Using separating queries may make more sense on
readability ground, at least.
--
Michael

---

From: Antonin Houska <[email-masked]>
Date: Mon, 30 Mar 2026 15:29:47 +0200

Michael Paquier <[email-masked]> wrote:

> CONCURRENTLY?

Not at the moment. Perhaps I shouldn't pursue this patch until there's an
injection point in the tree that needs that.

> Using separating queries may make more sense on readability ground, at
> least.

Agreed.

-- 
Antonin Houska
Web: https://www.cybertec-postgresql.com