From: | Jeff Janes <jeff(dot)janes(at)gmail(dot)com> |
---|---|
To: | Heikki <hlinnaka(at)iki(dot)fi> |
Cc: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: All-zero page in GIN index causes assertion failure |
Date: | 2015-07-23 16:43:57 |
Message-ID: | CAMkU=1w0+whCvz40sW7ptJXQ8S5G_HW_JvDeTyR816JM9+1OOw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Jul 20, 2015 at 1:23 PM, Heikki Linnakangas <hlinnaka(at)iki(dot)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.
I haven't tried SP-GiST.
Cheers,
Jeff
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2015-07-23 17:26:56 | Re: TODO : Allow parallel cores to be used by vacuumdb [ WIP ] |
Previous Message | Robert Haas | 2015-07-23 16:21:09 | Re: Proposing COPY .. WITH PERMISSIVE |