Re: corruption of WAL page header is never reported - Mailing list pgsql-hackers

From Kyotaro Horiguchi
Subject Re: corruption of WAL page header is never reported
Date
Msg-id 20210913.175047.315252329313870189.horikyota.ntt@gmail.com
Whole thread Raw
In response to Re: corruption of WAL page header is never reported  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
List pgsql-hackers
At Mon, 13 Sep 2021 17:21:31 +0900 (JST), Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote in 
> At Mon, 13 Sep 2021 14:56:11 +0900, Fujii Masao <masao.fujii@oss.nttdata.com> wrote in 
> > 
> > 
> > On 2021/09/13 11:00, Kyotaro Horiguchi wrote:
> > > The point here is "retry this page, not this record", so "we don't
> > > need
> > > to retry immediately" looks a bit ambiguous. So how about something
> > > like this?
> > > Note that we don't do this while not in standby mode because we don't
> > > need to avoid retrying this entire record even if the page header is
> > > not valid. Instead, ReadPageInternal() is responsible for validating
> > > the page header in that case.
> > 
> > You mean that, while not in standby mode, we need to retry reading
> > the entire record if the page head is invalid? I was thinking that
> > we basically give up replaying further records in that case becase
> > we're not in standby mode.

Sorry, my brain can be easily twisted..

> I wrote "while not in standby mode, we don't need to avoid retry the
> entire record" but that doesn't mean the inversion "while in standby
> mode, we need to do avoid that". In the first place retry doesn't
> happen while not in standby mode.  I don't come up with a nice
> phrasing but something like this works?

Mmm. Something's got wrong badly...

I wrote "we don't need to avoid retry the entire record" but that
doesn't mean "we need to retry the entire record".  That simply means
"we don't care if retry happens or not."

In the first place retry doesn't happen while not in standby mode.  I
don't come up with a nice phrasing but something like this works?

> Note that we don't do this while not in standby mode because this is
> required only to avoid retrying this entire record for an invalid page
> header while in standby mode. Instead, ReadPageInternal() is
> responsible for validating the page header in that case.

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



pgsql-hackers by date:

Previous
From: Etsuro Fujita
Date:
Subject: Re: Doc: Extra type info on postgres-fdw option import_generated in back branches
Next
From: Greg Nancarrow
Date:
Subject: Re: Skipping logical replication transactions on subscriber side