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: nagata@sraoss.co.jp, ranier.vf@gmail.com, pgsql-hackers@postgresql.org
Date: 2021-09-03T07:55:36Z
Lists: pgsql-hackers
At Thu, 2 Sep 2021 21:52:00 +0900, Fujii Masao <masao.fujii@oss.nttdata.com> wrote in 
> 
> 
> On 2021/09/02 16:26, Kyotaro Horiguchi wrote:
> > I believe errmsg_buf is an interface to emit error messages dedicated
> > to xlogreader that doesn't have an access to elog facility, and
> > xlogreader doesn't (or ought not to or expect to) suppose
> > non-xlogreader callback functions set the variable.  In that sense I
> > don't think theoriginally proposed patch is proper for the reason that
> > the non-xlogreader callback function may set errmsg_buf.  This is what
> > I meant by the word "modularity".
> > For that reason I avoided in my second proposal to call
> > XLogReaderValidatePageHeader() at all while not in standby mode,
> > because calling the validator function while in non-standby mode
> > results in the non-xlogreader function return errmsg_buf.  Of course
> > we can instead always consume errmsg_buf in the function but I don't
> > like to shadow the caller's task.
> 
> Understood. Thanks for clarifying this!
> 
> > Does that makes sense?
> 
> Yes, I'm fine with your latest patch.

Thanks. Maybe some additional comment is needed.

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



Commits

  1. Make recovery report error message when invalid page header is found.

  2. Fix scenario where streaming standby gets stuck at a continuation record.