Re: Handling GIN incomplete splits

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Handling GIN incomplete splits
Date: 2013-12-01 20:40:14
Message-ID: CAMkU=1xJ-j=YX19-MRba5eUaQik04zU62cAQcbiRZJZE9-BTZQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Nov 27, 2013 at 9:40 AM, Jeff Janes <jeff(dot)janes(at)gmail(dot)com> wrote:

> On Wed, Nov 13, 2013 at 8:49 AM, Heikki Linnakangas <
> hlinnakangas(at)vmware(dot)com> wrote:
>
>> Here's another part of my crusade against xlog cleanup routines. This
>> series of patches gets rid of the gin_cleanup() function, which is
>> currently used to finish splits of GIN b-tree pages, if the system crashes
>> (or an error occurs) between splitting a page and inserting its downlink to
>> the parent.
>>
>> The first three patches just move code around. IMHO they make the code
>> more readable, so they should be committed in any case. The meat is in the
>> fourth patch.
>>
>> Thoughts, objections?
>>
>> Alexander, I'm sorry if this conflicts with your GIN patches. Feel free
>> to post the latest versions of your patches against the current master,
>> ignoring patches. I can fix the bitrot. That said, I think these
>> refactorings will make your code look a little bit nicer too, so you might
>> want to rebase because of that anyway.
>
>
> Hi Heikki,
>
> The commit 04eee1fa9ee80dabf7 of this series causes a self-deadlock in the
> LWLock code during the operation below, with it trying to take
> an LW_EXCLUSIVE on a high, even-numbered lockid when it already holds the
> same lockid.
>
> CREATE INDEX planet_osm_ways_nodes ON planet_osm_ways USING gin (nodes)
> WITH (FASTUPDATE=OFF);
>
> It happens pretty reliably using osm2pgsql.
>
> I will try to come up with a simple reproducible demonstration, and stack
> trace, over the weekend.
>

Whatever the problem, it seems to have been fixed in ce5326eed386959aa,
"More GIN refactoring".

Cheers,

Jeff

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dean Rasheed 2013-12-01 20:40:18 Re: Re: [BUGS] BUG #7873: pg_restore --clean tries to drop tables that don't exist
Previous Message Andres Freund 2013-12-01 20:38:18 Re: Incomplete freezing when truncating a relation during vacuum