From: | Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com> |
---|---|
To: | Noah Misch <noah(at)leadboat(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Use read streams in pg_visibility |
Date: | 2024-09-10 11:35:46 |
Message-ID: | CAN55FZ2Pf4fpF7tFEUfkoEZM2sV6OaM4F-1f9LOneyOL81SMNQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On Tue, 10 Sept 2024 at 00:32, Noah Misch <noah(at)leadboat(dot)com> wrote:
>
> Copying the vm file is a good technique. In my test runs, this does catch the
> "never detect" bug, but it doesn't catch the blkno bug. Can you make it catch
> both? It's possible my hand-patching to recreate the blkno bug is what went
> wrong, so I'm attaching what I used. It consists of
> v1-0002-Use-read-stream-in-pg_visibility-in-collect_corru.patch plus these
> fixes for the "never detect" bug from your v6-0002:
Your patch is correct. I wrongly assumed it would catch blockno bug,
the attached version catches it. I made blockno = 0 invisible and not
frozen before copying the vm file. So, in the blockno buggy version;
callback will skip that block but the main loop in the
collect_corrupt_items() will not skip it. I tested it with your patch
and there is exactly 1 blockno difference between expected and result
output.
--
Regards,
Nazir Bilal Yavuz
Microsoft
Attachment | Content-Type | Size |
---|---|---|
v7-0001-Add-tests-that-pg_check_-visible-frozen-report-co.patch | application/x-patch | 4.1 KB |
v7-0002-Optimize-pg_visibility-with-read-streams.patch | application/x-patch | 6.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Daniel Gustafsson | 2024-09-10 11:39:24 | Re: [PATCH] Fix small overread during SASLprep |
Previous Message | Amit Kapila | 2024-09-10 11:24:45 | Re: Conflict detection for update_deleted in logical replication |