From: | Robert Haas <rhaas(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: More synchronous replication tweaks. |
Date: | 2011-03-10 20:43:59 |
Message-ID: | E1PxmiF-0006UU-8P@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
More synchronous replication tweaks.
SyncRepRequested() must check not only the value of the
synchronous_replication GUC but also whether max_wal_senders > 0.
Otherwise, we might end up waiting for sync rep even when there's no
possibility of a standby ever managing to connect. There are some
existing cross-checks to prevent this, but they're not quite sufficient:
the user can start the server with max_wal_senders=0,
synchronous_standby_names='', and synchronous_replication=off and then
subsequent make synchronous_standby_names not empty using pg_ctl reload,
and then SET synchronous_standby=on, leading to an indefinite hang.
Along the way, rename the global variable for the synchronous_replication
GUC to match the name of the GUC itself, for clarity.
Report by Fujii Masao, though I didn't use his patch.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/b8bb8dbf20e13087f8e57ff4c42e81776ae5e545
Modified Files
--------------
src/backend/replication/syncrep.c | 2 +-
src/backend/utils/misc/guc.c | 2 +-
src/include/replication/syncrep.h | 5 +++--
3 files changed, 5 insertions(+), 4 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2011-03-10 20:44:33 | Re: pgsql: Efficient transaction-controlled synchronous replication. |
Previous Message | Robert Haas | 2011-03-10 20:04:57 | Re: [COMMITTERS] pgsql: Efficient transaction-controlled synchronous replication. |