Re: Reproducible GIST index corruption under concurrent updates

From: Duncan Sands <duncan(dot)sands(at)deepbluecap(dot)com>
To: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: Reproducible GIST index corruption under concurrent updates
Date: 2021-01-20 08:23:14
Message-ID: 55ea6133-f2d1-0cc5-8ce5-333e373164ba@deepbluecap.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

> The comment change was correct, but the condition used &&. Should've been ||.
> There is another copy of basically the same condition earlier in the function
> that was changed correctly, but I blundered this one. Oops.
>
> The attached patch fixes this. I also added an assertion to the
> gistplacetopage() function, to check that we never try to insert on a deleted
> page. This bug could've made that happen too, although in this case the problem
> was a concurrent split, not a deletion. I'll backpatch and push this tomorrow.
>
> Many thanks for the easy reproducer script, Duncan!

No problem Heikki, thanks for the quick fix.

Best wishes, Duncan.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Heikki Linnakangas 2021-01-20 10:04:23 Re: Reproducible GIST index corruption under concurrent updates
Previous Message Michael Paquier 2021-01-20 07:24:47 Re: BUG #16825: When building on Windows, cl /? retrun 'x64' not AMD64 and the build does not create x64 environment