Re: All-zero page in GIN index causes assertion failure
Heikki Linnakangas <hlinnaka@iki.fi>
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Jeff Janes <jeff.janes@gmail.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>,
Amit Langote <amitlangote09@gmail.com>
Date: 2015-07-27T15:21:28Z
Lists: 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
Commits
-
Close some holes in BRIN page assignment
- fc0a6402306d 9.5.0 landed
- ccc4c074994d 9.6.0 landed