| From: | João Rito <joaovictor(dot)rito(at)gmail(dot)com> |
|---|---|
| To: | vignesh C <vignesh21(at)gmail(dot)com> |
| Cc: | Greg Burd <greg(at)burd(dot)me>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Hayato Kuroda <kuroda(dot)hayato(at)fujitsu(dot)com>, shihao zhong <zhong950419(at)gmail(dot)com> |
| Subject: | Re: Hash index: stop registering pin-only bucket pages in WAL (remove REGBUF_NO_CHANGE) |
| Date: | 2026-11-13 14:48:30 |
| Message-ID: | CADMs5OMQ1c0CufbGzrZTn9ByX0tWCgHRPcPdg_OUsxR-Gh45TA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi Vignesh, Greg,
Thank you for v8, and for fixing the pg_waldump segment size problem I
hit with v7.
I tested v8-0001..0004 applied in order on current master
(77bba5454f), with cassert and injection points enabled (meson, Debian
12 in a container, ext4):
- recovery/061_hash_torn_primary_page: 9 subtests passed
- recovery/062_hash_vacuum_insert_crc: 4 subtests passed, none skipped
Passing the segment files from pg_walfile_name() works as expected,
and I did not see the "invalid WAL segment size" error again. No CRC
problem was reported either.
I only ran these two tests, once, on Linux ext4. I did not run
check-world or other platforms.
Thanks again for the work on this.
Best regards,
Joao Rito
Em sex., 13 de nov. de 2026 às 07:42, vignesh C <vignesh21(at)gmail(dot)com> escreveu:
>
> On Thu, 12 Nov 2026 at 21:43, Joao Rito <joaovictor(dot)rito(at)gmail(dot)com> wrote:
> >
> > Hi Greg,
> >
> > Thank you for the v7 patch and the new recovery test.
> >
> > I tested v7 on a local build. While running 061_hash_vacuum_insert_crc on
> > Linux (ext4, meson build), subtest 2 failed for me with:y
> >
> > pg_waldump: error: invalid WAL segment size in WAL file
> > "000000010000000000000002" (0 bytes)
> >
> > Both LSNs are in segment ...0001, and segment ...0002 is a zero-filled
> > 16 MB file. When --path is a directory, pg_waldump seems to read the
> > segment size from the first WAL file readdir() returns, so the result
> > depends on directory order (here 0002 came first).
> >
> > Passing the segment file for $start_lsn (for example from pg_walfile_name)
> > worked for me by hand. Subtest 3 passed and I saw no CRC problem. I did
> > not apply the change to the test and rerun it under meson.
>
> Thanks for the comment, this is addressed in the v8 version patch attached.
> Apart from that, the following changes were done:
> 1) prepared back branch patches for the 0001 patch.
> 2) The test 068 was renamed to the next available 061 test file.
> 3) Most of the test code was common in
> hash_torn_primary_page_delete_first and
> hash_torn_primary_page_standby, merged them to a single test
> 4) the test added along with 0001 was not passing with the first patch
> alone, fixed it so that the first patch can be committed separately.
>
> Regards,
> Vignesh
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Siddharth Kothari | 2026-11-13 14:58:44 | Re: [PATCH] Add RetrieveInstrumentation hook for CustomScan providers |
| Previous Message | Zsolt Parragi | 2026-11-13 14:39:10 | Re: compiler attribute alloc_size |