Re: Bugs in b-tree dead page removal

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: Bugs in b-tree dead page removal
Date: 2010-02-08 02:58:59
Message-ID: 24409.1265597939@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I wrote:
> And there's another problem: _bt_pagedel is designed to recurse
> in certain improbable cases, but I think this is flat out wrong
> when doing WAL replay --- if the original process did recurse
> then it will have emitted a WAL record for each deleted page,
> meaning replay would try to delete twice.

No, scratch that, I misread it: _bt_pagedel isn't invoked during
WAL replay, but for cleanup of incomplete deletions at termination
of WAL replay. So any recursing it has to do also corresponds to
actions that weren't in WAL. So that's OK.

I'm still concerned about the interlock against read-only
transactions though.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2010-02-08 03:09:01 Re: [HACKERS] Re: Faster CREATE DATABASE by delaying fsync (was 8.4.1 ubuntu karmic slow createdb)
Previous Message Tom Lane 2010-02-08 02:33:54 Bugs in b-tree dead page removal