On Fri, 2011-02-18 at 10:41 -0500, Tom Lane wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
> > On Fri, Feb 18, 2011 at 10:09 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
> >> Make a hard state change from catchup to streaming mode.
> >> More useful state change for monitoring purposes, plus a
> >> required change for synchronous replication patch.
>
> > As far as I can see, this patch was not posted or discussed before
> > commit, and I'm not sure it's the behavior everyone wants. It has the
> > effect of preventing the system from ever going backwards from
> > "streaming" to "catchup". Is that what we want?
>
> That seems like a very bad idea from here. Being able to go back to
> catchup after loss of the streaming connection is essential for
> robustness. If we now have to restart the slave for that to happen,
> it's not an improvement.
If we lose the connection then we start another walsender process, so
that is a non-issue.
We need a hard state change at one particular point to avoid sync rep
requestors from hanging for hours when the standby is connected but a
long way from being caught up.
This was a part of my sync rep patch that it was easier to break out and
commit early. There has never been any comment or objection to this
concept and the same feature has existed in my patches for months.
-- Simon Riggs http://www.2ndQuadrant.com/books/PostgreSQL Development, 24x7 Support, Training and Services