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 <[email protected]> Reviewed-by: Shinya Kato <[email protected]> Reviewed-by: Chao Li <[email protected]> Discussion: https://postgr.es/m/CAOzEurTzcUrEzrH97DD7+Yz=hgpu81kzwqonkzvqbwyhx2g...@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(-)
