Re: amcheck verification for GiST

From: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
To: Peter Geoghegan <pg(at)bowt(dot)ie>
Cc: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: amcheck verification for GiST
Date: 2019-03-29 06:30:24
Message-ID: 79134101-8FF5-4525-BAC9-737DA5C7F423@yandex-team.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> 29 марта 2019 г., в 5:35, Peter Geoghegan <pg(at)bowt(dot)ie> написал(а):
>
> On Thu, Mar 28, 2019 at 10:08 AM Andrey Borodin <x4mmm(at)yandex-team(dot)ru> wrote:
>>>> Is this really needed? Isn't the ShareLock on the index sufficient? If so, why?
>>> There may be concurrent inserts? In GiST they can reorder items on page.
>>
>> Looks like I've tried to cope with same problem twice:
>> v3 of the patch used AccessShareLock and many locks with incorrect order.
>> We could use one of possible solutions: either use ShareLock, or rewrite scan to correct locking order.
>> But patches v4-v7 use both.
>
> It definitely has to be one or the other. The combination makes no sense.

Here's updated patch with AccessShareLock.
I've tried to stress this with combination of random inserts, vaccuums and checks. This process neither failed, nor deadlocked.
The patch intentionally contains one superflous line to make gist logically broken. This triggers regression test of amcheck.

Best regards, Andrey Borodin.

Attachment Content-Type Size
0001-GiST-verification-function-for-amcheck-v8.patch application/octet-stream 21.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nagaura, Ryohei 2019-03-29 06:52:41 RE: Timeout parameters
Previous Message Masahiko Sawada 2019-03-29 06:15:59 Re: New vacuum option to do only freezing