On Mon, Nov 27, 2023 at 4:08 PM Amit Kapila <amit.kapil...@gmail.com> wrote: > > On Mon, Nov 27, 2023 at 2:27 PM Zhijie Hou (Fujitsu) > <houzj.f...@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