Re: All-zero page in GIN index causes assertion failure - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: All-zero page in GIN index causes assertion failure
Date
Msg-id 55B64C78.4030100@iki.fi
Whole thread Raw
In response to Re: All-zero page in GIN index causes assertion failure  (Jeff Janes <jeff.janes@gmail.com>)
Responses Re: All-zero page in GIN index causes assertion failure
List pgsql-hackers
On 07/23/2015 07:43 PM, Jeff Janes wrote:
> On Mon, Jul 20, 2015 at 1:23 PM, Heikki Linnakangas <hlinnaka@iki.fi> wrote:
>
>> I came up with the attached, for GIN and SP-GiST. Instead of WAL-logging
>> the page initialization in SP-GiST vacuum, I changed it so that it simply
>> leaves the page as all-zeroes, and adds it to the FSM. The code that grabs
>> a target page from the FSM handles that, and initializes the page anyway,
>> so that was simpler. This made the SP-GiST is-deleted flag obsolete, it's
>> no longer set, although the code still checks for it for
>> backwards-compatibility. (even that may actually be unnecessary, as a page
>> that's marked as deleted must also be empty, and wherever we check for the
>> deleted-flag, we also check for PageIsEmpty()))
>
> This patch, in conjunction with the LWLock deadlock patch, fixes all the
> issues I was having with GIN indexes in 9.5.

Thanks, I've pushed this, as well a fix to similar failure from B-tree 
vacuum that Amit Langote reported in the other thread.

- Heikki




pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Reduce ProcArrayLock contention
Next
From: Amit Langote
Date:
Subject: Re: All-zero page in GIN index causes assertion failure