Re: Failure while inserting parent tuple to B-tree is not fun

From: Peter Geoghegan <pg(at)heroku(dot)com>
To: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Failure while inserting parent tuple to B-tree is not fun
Date: 2014-02-05 08:06:33
Message-ID: CAM3SWZT9+wjWwoynEApbMOCiBHBGEk+9jypu=b9xTUZOUxyO+w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Feb 4, 2014 at 11:56 PM, Heikki Linnakangas
<hlinnakangas(at)vmware(dot)com> wrote:
>> Since, as I mentioned, _bt_finish_split() ultimately unlocks *and
>> unpins*, it may not be the same buffer as before, so even with the
>> refactoring there are race conditions.
>
> Care to elaborate? Or are you just referring to the missing "buf = " ?

Yes, that's all I meant.

> Attached is a new version of the patch, with those issues fixed.
> btree-incomplete-split-4.patch is a complete patch against the latest
> fix-btree-page-deletion patch, and moveright-assign-fix.patch is just the
> changes to _bt_moveright, if you want to review just the changes since the
> previous patch I posted.

Cool. I'll take a good look at it tomorrow morning PST.

--
Peter Geoghegan

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2014-02-05 08:10:30 Re: Re: Misaligned BufferDescriptors causing major performance problems on AMD
Previous Message Heikki Linnakangas 2014-02-05 07:56:42 Re: Failure while inserting parent tuple to B-tree is not fun