Re: Why does VACUUM FULL bother locking pages?

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Why does VACUUM FULL bother locking pages?
Дата
Msg-id 20050922143641.GA30584@surnet.cl
обсуждение исходный текст
Ответ на Re: Why does VACUUM FULL bother locking pages?  ("Simon Riggs" <simon@2ndquadrant.com>)
Ответы Re: Why does VACUUM FULL bother locking pages?  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Re: Why does VACUUM FULL bother locking pages?  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Why does VACUUM FULL bother locking pages?  (Simon Riggs <simon@2ndquadrant.com>)
Список pgsql-hackers
On Fri, Sep 16, 2005 at 11:50:21PM -0700, Simon Riggs wrote:
> > Alvaro Herrera wrote
> > The only caller of both is
> > repair_frag, whose only caller in turn is full_vacuum_rel.
> 
> ...bgwriter still needs to access blocks. The WAL system relies on the
> locking behaviour for recoverability, see comments in LockBuffer() and
> SyncOneBuffer().

Oh, certainly!  In this case, may I point out that scan_heap() does not
bother locking pages, mentioning that "we assume that holding exclusive
lock on the relation will keep other backends from looking at the page".
In particular, it calls PageRepairFragmentation which runs with the page
unlocked AFAICT.

Seems like a bug to me.

-- 
Alvaro Herrera                 http://www.amazon.com/gp/registry/CTMLCN8V17R4
"Now I have my system running, not a byte was off the shelf;
It rarely breaks and when it does I fix the code myself.
It's stable, clean and elegant, and lightning fast as well,
And it doesn't cost a nickel, so Bill Gates can go to hell."


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Greg Stark
Дата:
Сообщение: Re: feature proposal ...
Следующее
От: Tom Lane
Дата:
Сообщение: Re: feature proposal ...