Re: Exit walsender before confirming remote flush in logical replication
Japin Li <japinli@hotmail.com>
From: Japin Li <japinli@hotmail.com>
To: Alexander Korotkov <aekorotkov@gmail.com>
Cc: Andrey Silitskiy <a.silitskiy@postgrespro.ru>, Ronan Dunklau
<ronan@dunklau.fr>, Vitaly Davydov <v.davydov@postgrespro.ru>, "Hayato
Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, "Takamichi Osumi
(Fujitsu)" <osumi.takamichi@fujitsu.com>, "pgsql-hackers@postgresql.org"
<pgsql-hackers@postgresql.org>, "sawada.mshk@gmail.com"
<sawada.mshk@gmail.com>, "michael@paquier.xyz" <michael@paquier.xyz>,
"peter.eisentraut@enterprisedb.com" <peter.eisentraut@enterprisedb.com>,
"dilipbalaut@gmail.com" <dilipbalaut@gmail.com>, "andres@anarazel.de"
<andres@anarazel.de>, "amit.kapila16@gmail.com"
<amit.kapila16@gmail.com>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>,
Peter Smith <smithpb2250@gmail.com>, Greg Sabino Mullane
<htamfids@gmail.com>, Fujii Masao <masao.fujii@gmail.com>
Date: 2026-03-12T04:19:07Z
Lists: pgsql-hackers
Hi, Alexander
On Wed, 11 Mar 2026 at 16:24, Alexander Korotkov <aekorotkov@gmail.com> wrote:
> Hi!
>
> On Wed, Mar 4, 2026 at 10:47 AM Andrey Silitskiy
> <a.silitskiy@postgrespro.ru> wrote:
>> On Wed, 03 Mar 2026 Japin Li <japinli(at)hotmail(dot)com> wrote:
>> > At first glance, wal_sender_shutdown_timeout seems to have the wrong
>> > type.
>>
>> Fixed.
>
> I've revised this patch fixing grammar in commit message, comments and
> documentation.
>
> I think the current patch addresses all the main concerns raised in
> the thread. The patch doesn't unconditionally change the behavior: it
> introduces a new GUC, which could be set on per-connection basis, and
> also affects physical WAL senders. The GUC specifies timeout, which
> gives user a flexibility. The default value of the GUC is -1
> (disabled). So, no behavior change by default. Also, it doesn't
> require replication protocol change. New WalSndDoneImmediate() sends
> done message to the receiver just like WalSndDone(). So, existing
> clients should be OK.
Thanks for updating the patch.
1.
The shutdown_request_timestamp is used only in WalSndCheckShutdownTimeOut().
Would it make sense to declare it inside this function instead?
2.
+static void
+WalSndDoneImmediate()
+{
We should add `void` to the parameter list here to match the declaration:
>
> I'm going to push this if no objections.
>
> ------
> Regards,
> Alexander Korotkov
> Supabase
>
> [2. application/x-patch; v3-0001-Introduce-a-new-wal_sender_shutdown_timeout-GUC.patch]...
--
Regards,
Japin Li
ChengDu WenWu Information Technology Co., Ltd.
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Avoid blocking indefinitely while finishing walsender shutdown
- c0b24b32b0d3 19 (unreleased) landed
-
Add wal_sender_shutdown_timeout GUC to limit shutdown wait for replication
- a8f45dee9176 19 (unreleased) landed
-
pg_upgrade: Add --copy option
- 746915c68669 16.0 cited
-
Prevent possibility of panics during shutdown checkpoint.
- c6c333436491 10.0 cited
-
Support clean switchover.
- 985bd7d49726 9.4.0 cited