Re: B-tree parent pointer and checkpoints - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: B-tree parent pointer and checkpoints
Date
Msg-id 201109051855.p85ItDs06048@momjian.us
Whole thread Raw
In response to Re: B-tree parent pointer and checkpoints  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Responses Re: B-tree parent pointer and checkpoints
List pgsql-hackers
Heikki Linnakangas wrote:
> On 11.03.2011 19:41, Tom Lane wrote:
> > Heikki Linnakangas<heikki.linnakangas@enterprisedb.com>  writes:
> >> On 11.03.2011 17:59, Tom Lane wrote:
> >>> But that will be fixed during WAL replay.
> >
> >> Not under the circumstances that started the original thread:
> >
> >> 1. Backend splits a page
> >> 2. Checkpoint starts
> >> 3. Checkpoint runs to completion
> >> 4. Crash
> >> (5. Backend never got to insert the parent pointer)
> >
> >> WAL replay starts at the checkpoint redo pointer, which is after the
> >> page split record, so WAL replay won't insert the parent pointer. That's
> >> an incredibly tight window to hit in practice, but it's possible in theory.
> >
> > Hmm.  It's not so improbable that checkpoint would start inside that
> > window, but that the parent insertion is still pending by the time the
> > checkpoint finishes is pretty improbable.
> >
> > How about just reducing the deletion-time ERROR for missing downlink to a LOG?
> 
> Well, the code that follows expects to have a valid parent page locked, 
> so you can't literally do just that. But yeah, LOG and aborting the page 
> deletion seems fine to me.

Did this get fixed?

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + It's impossible for everything to be true. +


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [GENERAL] pg_upgrade problem
Next
From: Bruce Momjian
Date:
Subject: Re: memory-related bugs