From: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
---|---|
To: | Duncan Sands <duncan(dot)sands(at)deepbluecap(dot)com>, 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 10:04:23 |
Message-ID: | b9cee27d-0ce9-7708-d197-580f62e5dab7@iki.fi |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On 20/01/2021 10:23, Duncan Sands wrote:
>> 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.
Pushed as commit 6b4d3046f4, and backpatched down to version 12, where
this bug was introduced. It will appear in the next minor release.
- Heikki
From | Date | Subject | |
---|---|---|---|
Next Message | christian | 2021-01-20 12:37:46 | Bug Report | Using ts_headline with the <-> operator |
Previous Message | Duncan Sands | 2021-01-20 08:23:14 | Re: Reproducible GIST index corruption under concurrent updates |