Skip site navigation (1) Skip section navigation (2)

Re: How should the waiting backends behave in sync rep?

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: How should the waiting backends behave in sync rep?
Date: 2011-03-09 17:06:02
Message-ID: (view raw or whole thread)
Lists: pgsql-hackers
On Tue, Mar 8, 2011 at 10:06 AM, Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:
> How should the backends waiting for replication behave when
> synchrnous_standby_names
> is set to '' and the configuration file is reloaded? Now they keep
> waiting for the ACK from the
> standby. But I think that it's more natural for them to get out of the
> wait state and complete
> the transaction in that case. If we'll change them in that way, we
> would no longer need
> something like "pg_ctl standalone" which I mentioned in another thread. Thought?

I think so.  Looking at assign_synchronous_standby_names, the
following code just looks wrong:

        if (doit && list_length(elemlist) > 0)
                sync_standbys_defined = true;

Once sync_standbys_defined becomes true, there's no way for it to ever
become false again.  That can't be right.  That means that if you
disable sync rep by zeroing out synchronous_standby_names, backends
that already existed at the time you made the change will continue to
act as though sync rep is enabled until they exit.

Robert Haas
The Enterprise PostgreSQL Company

In response to


pgsql-hackers by date

Next:From: Kevin GrittnerDate: 2011-03-09 17:30:49
Subject: Re: wrap alpha4 tomorrow ~9am Eastern (was: Alpha4 release blockers)
Previous:From: Robert HaasDate: 2011-03-09 17:00:46
Subject: Re: Update of replication/README

Privacy Policy | About PostgreSQL
Copyright © 1996-2015 The PostgreSQL Global Development Group