Re: [PATCH] Patch to compute Max LSN of Data Pages - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: [PATCH] Patch to compute Max LSN of Data Pages
Date
Msg-id 022e01cdc280$82d2ade0$887809a0$@kapila@huawei.com
Whole thread Raw
In response to Re: [PATCH] Patch to compute Max LSN of Data Pages  (Fujii Masao <masao.fujii@gmail.com>)
List pgsql-hackers
On Wednesday, November 14, 2012 9:12 PM Fujii Masao wrote:
> On Wed, Nov 14, 2012 at 5:35 PM, Amit Kapila <amit.kapila@huawei.com>
> wrote:
> > On Tuesday, November 13, 2012 10:17 PM Fujii Masao wrote:
> >> On Tue, Nov 13, 2012 at 1:23 PM, Amit kapila <amit.kapila@huawei.com>
> >> wrote:
> >> > On Monday, November 12, 2012 9:56 PM Alvaro Herrera wrote:
> >> > Robert Haas escribió:
> >> >> On Tue, Jul 31, 2012 at 8:09 AM, Amit kapila
> <amit.kapila@huawei.com>
> >> wrote:
> >> >
> >> >>> >> I think I can see all of those things being potentially
> useful.
> >> There
> >> >>> >> are a couple of pending patches that will revise the WAL
> format
> >
> >> >>> I wonder if we shouldn't make this a separate utility, rather
> than
> >> >>> something that is part of pg_resetxlog.  Anyone have a thought on
> >> that
> >> >>> topic?
> >> >
> >> >> That thought did cross my mind too.
> >> >
> >> We might be able to use this utility to decide whether we need to
> take
> >> a fresh backup from the master onto the standby, to start old master
> >> as new standby after failover.
> >>
> >> When starting new standby after failover, any data page in the
> standby
> >> must
> >> not precede the master. Otherwise, the standby cannot catch up with
> the
> >> master
> >> consistently. But, the master might write the data page corresponding
> to
> >> the WAL which has not been replicated to the standby yet. So, if
> >> failover happens
> >> before that WAL has been replicated, the data page in old master
> would
> >> precede
> >> new master (i.e., old standby), and in this case the backup is
> required.
> >> OTOH,
> >> if maximum LSN in data page in the standby is less than the master,
> the
> >> backup
> >> is not required.
> >
> > When new standby will start the replication (RequestXLogStreaming()),
> it
> > will
> > send the startpoint, so won't in above scenario that startpoint will
> be
> > ahead of new master
> > (or new master won't have that LSN) and replication will not be
> > eastablished?
>
> The startpoint is the heading LSN of the WAL file including the latest
> checkpoint record. Yes, there can be the case where the startpoint is
> ahead of new master. In this case, replication would fail to be
> established
> because of lack of requested WAL file.

Now user can use this utility to decide if new-standby has max LSN greater
than max LSN of new-master he needs to use fullback-up on new-standby. Is my
understanding right?

>OTOH, there can be the case
> where new master has already been ahead of the startpoint.

But in this case, there is no need for this utility. Right?
> > So now user may not be able to decide whether he needs to do
> incremental or
> > full backup from new master,
> > is this the case you are trying to point?
>
> Sorry, I could not parse this comment. Could you elaborate your concern
> again?

I wanted to understand the usecase mentioned by you for this utility.
As far as I can understand is that it will be used to decide that on
new-standby (old-master) whether a full backup is needed from
New-master(old-standby).
And that situation can occur when new-standby has startpoint LSN greater
than new-master?

With Regards,
Amit Kapila.




pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: WIP patch: add (PRE|POST)PROCESSOR options to COPY
Next
From: Tom Lane
Date:
Subject: Re: WIP patch: add (PRE|POST)PROCESSOR options to COPY