Re: corruption of WAL page header is never reported
Kyotaro Horiguchi <horikyota.ntt@gmail.com>
From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: masao.fujii@oss.nttdata.com
Cc: alvherre@alvh.no-ip.org, nagata@sraoss.co.jp, ranier.vf@gmail.com,
pgsql-hackers@postgresql.org
Date: 2021-09-13T08:21:31Z
Lists: pgsql-hackers
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. 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? 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
Commits
-
Make recovery report error message when invalid page header is found.
- 7b03d3a3ba45 12.17 landed
- 5dc093eacef1 13.13 landed
- 2f13e8d9ec28 14.10 landed
- 68601985e699 15.0 landed
-
Fix scenario where streaming standby gets stuck at a continuation record.
- 066871980183 11.0 cited