Re: Review: Patch for Synchronous Replication - Mailing list pgsql-rrreviewers

From Robert Haas
Subject Re: Review: Patch for Synchronous Replication
Date
Msg-id AANLkTinr53EV7tq0okdEavvaKmeGbXXY+ARe_9VMj9mt@mail.gmail.com
Whole thread Raw
In response to Review: Patch for Synchronous Replication  (Thom Brown <thom@linux.com>)
List pgsql-rrreviewers
Thom -

Just as a logistical note, reviews should be posted to -hackers.
-rrreviewers is for discussion of assigning reviewers, coordinating
who is doing what, etc.

...Robert

On Wed, Sep 29, 2010 at 6:29 PM, Thom Brown <thom@linux.com> wrote:
> This is a basic review of Fujii Masao's synchronous replication patch
> from http://archives.postgresql.org/message-id/AANLkTik2c3kV7HgJnM4MjkCWVG-QvDJXD3iR9TqsCnpP@mail.gmail.com
>
> Review Description
> ==================
> This patch extends existing asynchronous streaming replication with
> options to enable different levels of synchronous behaviour.  On the
> primary, the is a new standbys.conf file containing a manifest of
> standbys it seeks a form a confirmation from before committing
> transactions.  These contain standby name, level of synchronicity (if
> it wasn't a word, it is now), and a timeout value specifying how long
> the primary is willing to wait for confirmation before aborting the
> transaction.  On the standby, the new option "standby_name" has been
> added to publish a named identity of the standby server to the
> primary.
>
>
> Patch application
> =================
> The patch applies cleanly to HEAD.  All regression tests pass
> successfully as expected.
>
>
> Testing
> =======
> I configured the primary's standby.conf to provide synchronous
> replication to a single slave using fsync as it's replication level
> and a timeout of 100ms.  The wal_level was set to hot_standby in
> postgresql.conf.  The standby's recovery.conf had its standby_name
> value set to match that expected by the primary's standby.conf.  This
> is summarised as follows:
>
> ## primary postgresql.conf:
> wal_level = hot_standby
> max_wal_senders = 2
> wal_keep_segments = 2
>
> ## primary standbys.conf
> # STANDBY NAME    SYNCHRONOUS   TIMEOUT
> cougar            fsync           100ms
>
> ## primary pg_hba.conf
> # TYPE  DATABASE        USER            CIDR-ADDRESS            METHOD
> host    replication     postgres        192.168.102.17/32       trust
>
> ## standby postgresql.conf
> hot_standby = on
>
> ## standby recovery.conf
> standby_name = 'cougar'
> standby_mode = 'on'
> primary_conninfo = 'host=192.168.102.125 port=5432'
>
>
> Issues
> ======
>
> The primary started up fine and was accepting connections.  A base
> backup was taken for the standby, and after configuring the standby, I
> attempted to bring it up, but received the following error:
>
> postgres@cougar:~/project/data$ pg_ctl start
> server starting
> postgres@cougar:~/project/data$ LOG:  database system was shut down in
> recovery at 2010-09-29 22:52:24 BST
> LOG:  entering standby mode
> LOG:  redo starts at 0/1000020
> LOG:  record with zero length at 0/10000B0
> FATAL:  could not connect to the primary server: invalid connection
> option "standby_name"
>
> I believe I am using the correct parameter as I followed the
> additional documentation provided in the patch.
>
>
> Conclusion
> ==========
>
> It at least appears to me that it isn't functional in its current
> state, or there is setup information missing from the
> documentation.... or I've make a stupid mistake somewhere (likely).
>
> --
> Thom Brown
> Twitter: @darkixion
> IRC (freenode): dark_ixion
> Registered Linux user: #516935
>
> --
> Sent via pgsql-rrreviewers mailing list (pgsql-rrreviewers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-rrreviewers
>



--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company

pgsql-rrreviewers by date:

Previous
From: Thom Brown
Date:
Subject: Re: Review: Patch for Synchronous Replication
Next
From: KaiGai Kohei
Date:
Subject: I'd like to pick up a next patch