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