Re: wake up logical workers after ALTER SUBSCRIPTION
От | Nathan Bossart |
---|---|
Тема | Re: wake up logical workers after ALTER SUBSCRIPTION |
Дата | |
Msg-id | 20230103182155.GC204418@nathanxps13 обсуждение исходный текст |
Ответ на | Re: wake up logical workers after ALTER SUBSCRIPTION (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: wake up logical workers after ALTER SUBSCRIPTION
|
Список | pgsql-hackers |
On Tue, Jan 03, 2023 at 11:43:59AM +0530, Amit Kapila wrote: > On Wed, Dec 7, 2022 at 11:42 PM Nathan Bossart <nathandbossart@gmail.com> wrote: >> After sleeping on this, I think we can do better. IIUC we can simply check >> for AllTablesyncsReady() at the end of process_syncing_tables_for_apply() >> and wake up the logical replication workers (which should just consiѕt of >> setting the current process's latch) if we are ready for two_phase mode. > > How just waking up will help with two_phase mode? For that, we need to > restart the apply worker as we are doing at the beginning of > process_syncing_tables_for_apply(). Right. IIRC waking up causes the apply worker to immediately call process_syncing_tables_for_apply() again, which will then proc_exit(0) as appropriate. It might be possible to move the restart logic to the end of process_syncing_tables_for_apply() to avoid this extra wakeup. WDYT? -- Nathan Bossart Amazon Web Services: https://aws.amazon.com
В списке pgsql-hackers по дате отправления: