From: | Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com> |
---|---|
To: | masao(dot)fujii(at)oss(dot)nttdata(dot)com |
Cc: | alvherre(at)alvh(dot)no-ip(dot)org, nagata(at)sraoss(dot)co(dot)jp, ranier(dot)vf(at)gmail(dot)com, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: corruption of WAL page header is never reported |
Date: | 2021-09-13 08:50:47 |
Message-ID: | 20210913.175047.315252329313870189.horikyota.ntt@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
At Mon, 13 Sep 2021 17:21:31 +0900 (JST), Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com> wrote in
> At Mon, 13 Sep 2021 14:56:11 +0900, Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Nancarrow | 2021-09-13 09:06:06 | Re: Skipping logical replication transactions on subscriber side |
Previous Message | Etsuro Fujita | 2021-09-13 08:45:47 | Re: Doc: Extra type info on postgres-fdw option import_generated in back branches |