Re: Amcheck verification of GiST and GIN

From: Andrey Borodin <amborodin86(at)gmail(dot)com>
To: Jose Arthur Benetasso Villanova <jose(dot)arthur(at)gmail(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Andrey Borodin <x4mmm(at)yandex-team(dot)ru>, Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Amcheck verification of GiST and GIN
Date: 2022-11-28 01:07:40
Message-ID: CAAhFRxj5+7+38LeQe3v9EaQzXFDnu_p_PVrrOMg4fSPEy3CNDA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Nov 27, 2022 at 1:29 PM Andrey Borodin <amborodin86(at)gmail(dot)com> wrote:
>
> GiST verification checks only one invariant that can be verified if
> page locks acquired the same way as page split does.
> GIN does not require ShareLock because it does not check cross-level invariants.
>

I was wrong. GIN check does similar gin_refind_parent() to lock pages
in bottom-up manner and truly verify downlink-child_page invariant.

Here's v17. The only difference is that I added progress reporting to
GiST verification.
I still did not implement heapallindexed for GIN. Existence of pending
lists makes this just too difficult for a weekend coding project :(

Thank you!

Best regards, Andrey Borodin.

Attachment Content-Type Size
v17-0002-Add-gist_index_parent_check-function-to-verify-G.patch application/octet-stream 26.8 KB
v17-0003-Add-gin_index_parent_check-to-verify-GIN-index.patch application/octet-stream 32.6 KB
v17-0001-Refactor-amcheck-to-extract-common-locking-routi.patch application/octet-stream 28.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2022-11-28 01:08:36 Re: Allow file inclusion in pg_hba and pg_ident files
Previous Message David Rowley 2022-11-28 00:23:16 Re: Bug in row_number() optimization