Re: Exit walsender before confirming remote flush in logical replication

Поиск
Список
Период
Сортировка
От Andrey Silitskiy
Тема Re: Exit walsender before confirming remote flush in logical replication
Дата
Msg-id fa4f3713-3e9e-4e6d-8be1-4ca5e2fe8bff@postgrespro.ru
обсуждение исходный текст
Ответ на Re: Exit walsender before confirming remote flush in logical replication  (Alexander Korotkov <aekorotkov@gmail.com>)
Ответы Re: Exit walsender before confirming remote flush in logical replication
Re: Exit walsender before confirming remote flush in logical replication
Список pgsql-hackers
On Mar 29, 2026 Alexander Korotkov <aekorotkov(at)gmail(dot)com> wrote:
 > One possible idea why hand may happen for is is that
 > WalSndWaitForWal() has missing WalSndCheckShutdownTimeout() call.

On Mar 25, 2026 Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:
 > I tested wal_sender_shutdown_timeout under several configurations and
 > encountered a case where the primary shutdown got stuck, ...

Thanks for your help in finding the issue!

I reproduced the problem, in this configuration it turned out that the
walsender was not terminated by wal_sender_shutdown_timeout in
WalSndWaitForWal(), but only when the physical slot was checked for 
inactive flag,
which caused shutdown to hang.

Fix added to the latest patch. Added a perl test-case for this 
configuration.
It is worth noting that in this configuration, the second walsender may
terminate due to inactive slot before the wal_sender_shutdown_timeout
terminates the process, so the test checks timeout termination of only
one walsender.

Regards,
Andrey Silitskiy
Вложения

В списке pgsql-hackers по дате отправления: