Robert Haas wrote:
> On Tue, Sep 6, 2011 at 9:45 AM, Heikki Linnakangas
> <heikki.linnakan...@enterprisedb.com> wrote:
> >> Do you really need to hold the page locks for all that time, or could
> >> you cheat? ?Like... release the locks on the split pages but then go
> >> back and reacquire them to clear the flag...
> >
> > Hmm, there's two issues with that:
> >
> > 1. While you're not holding the locks on the child pages, someone can step
> > onto the page and see that the MISSING_DOWNLINK flag is set, and try to
> > finish the split for you.
> >
> > 2. If you don't hold the page locked while you clear the flag, someone can
> > start and finish a checkpoint after you've inserted the downlink, and before
> > you've cleared the flag. You end up in a scenario where the flag is set, but
> > the page in fact *does* have a downlink in the parent.
> 
> It seems like both of these could be handled by making the code that
> repairs the damage insert the downlink into the parent only if it's
> not already present.

I am sorry to be dumping all these new open issues so late in the 9.1
cycle --- I only now got time to go back over my emails.  Many are from
March and later.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to