Re: Strengthen pg_waldump's --save-fullpage tests - Mailing list pgsql-hackers

From Drouvot, Bertrand
Subject Re: Strengthen pg_waldump's --save-fullpage tests
Date
Msg-id c1de26d9-324b-66b4-2cdd-5824dcb5b9d0@gmail.com
Whole thread Raw
In response to Re: Strengthen pg_waldump's --save-fullpage tests  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Strengthen pg_waldump's --save-fullpage tests
List pgsql-hackers
Hi,

On 1/10/23 2:22 AM, Michael Paquier wrote:
> On Mon, Jan 09, 2023 at 08:30:00AM +0530, Bharath Rupireddy wrote:
>> A recent commit [1] added --save-fullpage option to pg_waldump to
>> extract full page images (FPI) from WAL records and save them into
>> files (one file per FPI) under a specified directory. While it added
>> tests to check the LSN from the FPI file name and the FPI file
>> contents, it missed to further check the FPI contents like the tuples
>> on the page. I'm attaching a patch that basically reads the FPI file
>> (saved by pg_waldump) contents and raw page from the table file (using
>> pageinspect extension) and compares the tuples from both of them. This
>> test ensures that the pg_waldump outputs the correct FPI. This idea is
>> also discussed elsewhere [2].
>>
>> Thoughts?
> 
> I am not sure that it is necessary to expand this set of tests to have
> dependencies on heap and pageinspect (if we do so, what of index AMs)
> and spend more cycles on that, while we already have something in
> place to cross-check ReadRecPtr with what's stored in the page header
> written on top of the block size.

I like the idea of comparing the full page (and not just the LSN) but
I'm not sure that adding the pageinspect dependency is a good thing.

What about extracting the block directly from the relation file and
comparing it with the one extracted from the WAL? (We'd need to skip the
first 8 bytes to skip the LSN though).

Regards,

-- 
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com



pgsql-hackers by date:

Previous
From: 斯波隼斗
Date:
Subject: can while loop in ClockSweepTick function be kind of infinite loop in some cases?
Next
From: "Hayato Kuroda (Fujitsu)"
Date:
Subject: RE: [Proposal] Add foreign-server health checks infrastructure