| From: | Masahiko Sawada <msawada(at)postgresql(dot)org> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Stabilize 051_effective_wal_level.pl. |
| Date: | 2026-11-06 00:17:06 |
| Message-ID: | E1xP7di-00000000Nss-2stM@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Stabilize 051_effective_wal_level.pl.
Several tests in 051_effective_wal_level.pl quit a background psql
session that attached a local injection point and then immediately
start another session that attaches the same injection point. A local
injection point is detached only when its backend exits, and quitting
the background psql session doesn't wait for that. So if the old
backend is slow to exit, the new session fails to attach the injection
point because it is still defined, and the test times out waiting for
a backend to stop at it.
Fix by waiting for the old backend to disappear from pg_stat_activity
view after quitting the session. Detaching the injection point before
quitting isn't enough, because the exiting backend still detaches it
by name and could remove the one the next session has just attached.
Per buildfarm member melonworm.
Reported-by: Alexander Lakhin <exclusion(at)gmail(dot)com>
Author: Hayato Kuroda <kuroda(dot)hayato(at)fujitsu(dot)com>
Reviewed-by: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Discussion: https://postgr.es/m/8ccd0497-c914-47e2-804d-299b678863bf@gmail.com
Backpatch-through: 19
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/f1e25929e2ff234ee8d461b6918551943c75813a
Modified Files
--------------
src/test/recovery/t/051_effective_wal_level.pl | 37 +++++++++++++++++++++-----
1 file changed, 31 insertions(+), 6 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Masahiko Sawada | 2026-11-06 00:17:10 | pgsql: Stabilize 051_effective_wal_level.pl. |
| Previous Message | Tatsuo Ishii | 2026-11-06 00:05:30 | pgsql: Fix infinite loop in first_value()/nth_value() with IGNORE NULLS |