Re: Strengthen pg_waldump's --save-fullpage tests

From: "Drouvot, Bertrand" <bertranddrouvot(dot)pg(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>, Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Strengthen pg_waldump's --save-fullpage tests
Date: 2023-01-10 16:25:44
Message-ID: c1de26d9-324b-66b4-2cdd-5824dcb5b9d0@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Hayato Kuroda (Fujitsu) 2023-01-10 16:26:00 RE: [Proposal] Add foreign-server health checks infrastructure
Previous Message 斯波隼斗 2023-01-10 16:25:06 can while loop in ClockSweepTick function be kind of infinite loop in some cases?