On Mon, Mar 7, 2011 at 7:51 AM, Simon Riggs <[email protected]> wrote: > Efficient transaction-controlled synchronous replication. > If a standby is broadcasting reply messages and we have named > one or more standbys in synchronous_standby_names then allow > users who set synchronous_replication to wait for commit, which > then provides strict data integrity guarantees. Design avoids > sending and receiving transaction state information so minimises > bookkeeping overheads. We synchronize with the highest priority > standby that is connected and ready to synchronize. Other standbys > can be defined to takeover in case of standby failure. > > This version has very strict behaviour; more relaxed options > may be added at a later date.
Pretty cool! I'd appreciate very much your efforts and contributions. And,, I found one bug ;) You seem to have wrongly removed the check of max_wal_senders in SyncRepWaitForLSN. This can make the backend wait for replication even if max_wal_senders = 0. I could produce this problematic situation in my machine. The attached patch fixes this problem. Regards, -- Fujii Masao NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center
syncrep_check_max_wal_senders_v1.patch
Description: Binary data
-- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
