RE: [Patch] add new parameter to pg_replication_origin_session_setup
Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>
From: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
To: 'shveta malik' <shveta.malik@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>, "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>, Doruk Yilmaz <doruk@mixrank.com>
Date: 2026-01-14T03:43:47Z
Lists: pgsql-hackers
Attachments
- v5-0001-Fix-unintended-drop-of-active-replication-origins.patch (application/octet-stream) patch v5-0001
Dear Shveta,
> 1)
> +step s1_reset: SELECT pg_replication_origin_session_reset();
>
> After the above step, please add a step to attempt dropping the
> replication origin. The original issue was that once s1 releases the
> origin, it becomes eligible for dropping, so the test should
> explicitly verify this behavior.
I think it is bit difficult because pg_replication_origin_drop() has PID in the
ERROR message. Also, this patch prevents first process resets the origin, i.e.,
the exact same situation won't happen anymore. Not fixed.
> 2)
> Also before the above step, please add a step where s0 tries to reset
> the origin while s1 is still acquiring it. It is needed to cover the
> path where s0 should fail to release origin.
The step has already existed, see below.
```
step s0_reset: SELECT pg_replication_origin_session_reset();
ERROR: cannot reset replication origin with ID 1 because it is still in use by other processes
step s1_reset: SELECT pg_replication_origin_session_reset();
pg_replication_origin_session_reset
-----------------------------------
(1 row)
```
Others are corrected and adjusted by me, see the attached.
0001 and 0002 are combined because no one claimed them.
Best regards,
Hayato Kuroda
FUJITSU LIMITED
Commits
-
Refactor replorigin_session_setup() for better readability.
- 735e8fe68535 19 (unreleased) landed
-
Prevent unintended dropping of active replication origins.
- e385a4e2fd8e 19 (unreleased) landed
-
Add optional pid parameter to pg_replication_origin_session_setup().
- 5b148706c5c8 19 (unreleased) landed