pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Fujii Masao <fujii@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Avoid sending duplicate WAL locations in standby status replies
Date: Thu, 26 Mar 2026 11:55:23 +0000
Message-ID: <E1w5jJ4-001XJZ-20@gemulon.postgresql.org> (raw)

Avoid sending duplicate WAL locations in standby status replies

Previously, when the startup process applied WAL and requested walreceiver
to send an apply notification to the primary, walreceiver sent a status reply
unconditionally, even if the WAL locations had not advanced since
the previous update.

As a result, the standby could send two consecutive status reply messages
with identical WAL locations even though wal_receiver_status_interval had
not yet elapsed. This could unexpectedly reset the reported replication lag,
making it difficult for users to monitor lag. The second message was also
unnecessary because it reported no progress.

This commit updates walreceiver to send a reply only when the apply location
has advanced since the last status update, even when the startup process
requests a notification.

Author: Fujii Masao <masao.fujii@gmail.com>
Reviewed-by: Shinya Kato <shinya11.kato@gmail.com>
Reviewed-by: Chao Li <li.evan.chao@gmail.com>
Discussion: https://postgr.es/m/CAOzEurTzcUrEzrH97DD7+Yz=HGPU81kzWQonKZvqBwYhx2G9_A@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/400a790a48eb7a1e76f23f9f6d8a6f7159395f65

Modified Files
--------------
src/backend/access/transam/xlogrecovery.c |  4 +-
src/backend/replication/walreceiver.c     | 74 ++++++++++++++++++-------------
src/include/replication/walreceiver.h     |  6 +--
3 files changed, 49 insertions(+), 35 deletions(-)



Message-ID: <E1w5jJ4-001XJZ-20@gemulon.postgresql.org>
Permalink:  ../E1w5jJ4-001XJZ-20@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1w5jJ4-001XJZ-20@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: fujii@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Avoid sending duplicate WAL locations in standby status replies
  In-Reply-To: <E1w5jJ4-001XJZ-20@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox