Re: Excessive number of replication slots for 12->14 logical replication

Ajin Cherian <itsajin@gmail.com>

From: Ajin Cherian <itsajin@gmail.com>
To: Masahiko Sawada <sawada.mshk@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, Peter Smith <smithpb2250@gmail.com>, "houzj.fnst@fujitsu.com" <houzj.fnst@fujitsu.com>, Hubert Lubaczewski <depesz@depesz.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2022-08-18T05:58:01Z
Lists: pgsql-bugs

Attachments

On Thu, Aug 18, 2022 at 3:46 PM Masahiko Sawada <sawada.mshk@gmail.com> wrote:
> Looks good.
>
> I have one minor comment:
>
> -                    * SUBREL_STATE_FINISHEDCOPY. The apply worker can also
> -                    * concurrently try to drop the origin and by this time
> -                    * the origin might be already removed. For these reasons,
> -                    * passing missing_ok = true.
> +                    * SUBREL_STATE_FINISHEDCOPY. So passing missing_ok = true.
>
> I think we should change "the apply worker" to "the tablesync worker"
> but should not remove this sentence. The fact that another process
> could concurrently try to drop the origin is still true.
>
> The rest looks good to me.
>

Updated as described.

regards,
Ajin Cherian
Fujitsu Australia

Commits

  1. Make the tablesync worker's replication origin drop logic robust.

  2. Drop replication origin slots before tablesync worker exits.

  3. Allow multiple xacts during table sync in logical replication.