Re: [Patch] add new parameter to pg_replication_origin_session_setup

shveta malik <shveta.malik@gmail.com>

From: shveta malik <shveta.malik@gmail.com>
To: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.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>, shveta malik <shveta.malik@gmail.com>
Date: 2026-01-14T04:08:55Z
Lists: pgsql-hackers
On Wed, Jan 14, 2026 at 9:13 AM Hayato Kuroda (Fujitsu)
<kuroda.hayato@fujitsu.com> wrote:
>
> 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.
>

Okay.

> > 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.
>

Okay, sorry I missed it somehow.

> ```
> 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.
>

Thanks. The patch LGTM.

thanks
Shveta



Commits

  1. Refactor replorigin_session_setup() for better readability.

  2. Prevent unintended dropping of active replication origins.

  3. Add optional pid parameter to pg_replication_origin_session_setup().