Re: Change pg_last_xlog_receive_location not to move backwards

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Stephen Frost <sfrost(at)snowman(dot)net>
Cc: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Change pg_last_xlog_receive_location not to move backwards
Date: 2011-02-11 17:31:57
Message-ID: AANLkTim4tzTL58Ap4pnc1XWyNmusacaBW01gPzYEqkwE@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Feb 11, 2011 at 12:25 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Fri, Feb 11, 2011 at 11:52 AM, Stephen Frost <sfrost(at)snowman(dot)net> wrote:
>> Fujii, all,
>>
>> * Fujii Masao (masao(dot)fujii(at)gmail(dot)com) wrote:
>>> That logic exists because we'd like to check that newly-received WAL
>>> data is consistent with previous one by validating the header of new
>>> WAL file. So since we need the header of new WAL file, we retreat the
>>> replication starting location to the beginning of the WAL file when
>>> reconnecting to the primary.
>>
>> Thanks for that explanation, but I can't help but wonder why it doesn't
>> make more sense to introduce a new variable to track the value you want
>> rather than reusing an existing one and then adding a variable to
>> represent what the old variable was already doing.
>
> +1.
>
> It seems like there may be some more significant changes in this area
> needed; however, for now I think the best fix is the one with the
> least chance of breaking anything.

Actually... wait a minute. Now that I'm thinking about this a little
more, I'm not so convinced. If we leave this the way is, and just
paper over the problem using the method Stephen and I both had in
mind, then we could be streaming from a position that precedes the
so-called "current" position. And worse, the newly introduced replies
to the master will still show the position going backward, so the
master will reflect a position that is earlier that the position the
slave reports for itself, not because of any real difference but
because of a reporting difference. That sure doesn't seem good.

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2011-02-11 17:34:43 Re: Careful PL/Perl Release Not Required
Previous Message Jeff Davis 2011-02-11 17:26:22 Re: Range Types: << >> -|- ops vs empty range