On Mon, Nov 27, 2023 at 4:08 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Mon, Nov 27, 2023 at 2:27 PM Zhijie Hou (Fujitsu)
> <houzj.fnst@fujitsu.com> wrote:
> >
> > Here is the updated version(v39_2) which include all the changes made in 0002.
> > Please use for review, and sorry for the confusion.
> >
>
> --- a/src/backend/replication/logical/launcher.c
> +++ b/src/backend/replication/logical/launcher.c
> @@ -8,20 +8,27 @@
> * src/backend/replication/logical/launcher.c
> *
> * NOTES
> - * This module contains the logical replication worker launcher which
> - * uses the background worker infrastructure to start the logical
> - * replication workers for every enabled subscription.
> + * This module contains the replication worker launcher which
> + * uses the background worker infrastructure to:
> + * a) start the logical replication workers for every enabled subscription
> + * when not in standby_mode.
> + * b) start the slot sync worker for logical failover slots synchronization
> + * from the primary server when in standby_mode.
>
> I was wondering do we really need a launcher on standby to invoke
> sync-slot worker. If so, why? I guess it may be required for previous
> versions where we were managing work for multiple slot-sync workers
> which is also questionable in the sense of whether launcher is the
> right candidate for the same but now with the single slot-sync worker,
> it doesn't seem worth having it. What do you think?
>
> --
Yes, earlier a manager process was needed to manage multiple slot-sync
workers and distribute load among them, but now that does not seem
necessary. I gave it a try (PoC) and it seems to work well. If there
are no objections to this approach, I can share the patch soon.
thanks
Shveta