Wake up backends immediately when sync standbys decrease
Shinya Kato <shinya11.kato@gmail.com>
From: Shinya Kato <shinya11.kato@gmail.com>
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-01-30T06:59:42Z
Lists: pgsql-hackers
Attachments
- v1-0001-Wake-up-backends-immediately-when-sync-standbys-d.patch (application/octet-stream) patch v1-0001
Hi hackers, I have noticed an issue where backends waiting for synchronous replication are not woken up immediately when the number of required synchronous standbys is reduced in a multiple synchronous standby environment. When synchronous_standby_names is updated to require fewer standbys (for example, changing from "FIRST 2 (s1, s2)" to "FIRST 1 (s1)"), the backends currently waiting for replication remain blocked even after a config reload (SIGHUP). They are only released when a new message eventually arrives from a standby, despite the fact that the new requirements are already satisfied. The attached patch adds SyncRepReleaseWaiters() calls within walsender.c immediately after the configuration is reloaded and SyncRepInitConfig() is called. This ensures that any backends whose waiting conditions are now met by the new configuration are released without unnecessary delay. Thoughts? -- Best regards, Shinya Kato NTT OSS Center
Commits
-
Release synchronous replication waiters immediately on configuration changes.
- 21c1125d6606 19 (unreleased) landed