Re: "ERROR: could not read block 6 ...: read only 0 of 8192 bytes" after autovacuum cancelled

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: "ERROR: could not read block 6 ...: read only 0 of 8192 bytes" after autovacuum cancelled
Дата
Msg-id 20091106171814.GG3840@alvh.no-ip.org
обсуждение исходный текст
Ответ на Re: "ERROR: could not read block 6 ...: read only 0 of 8192 bytes" after autovacuum cancelled  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: "ERROR: could not read block 6 ...: read only 0 of 8192 bytes" after autovacuum cancelled
Список pgsql-hackers
Tom Lane wrote:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
> > Tom Lane wrote:
> >> I would argue that once we've truncated, it's too late to abort.  The
> >> interrupt facility should be disabled from just before issuing the
> >> truncate till after commit.  It would probably be relatively painless to
> >> do that with some manipulation of the interrupt holdoff stuff.
>
> > That cures my (admittedly simplistic) testcase.  The patch is a bit ugly
> > because the interrupts are held off in lazy_vacuum_rel and need to be
> > released by its caller.  I don't see any other way around the problem
> > though.
>
> I wonder whether we shouldn't extend this into VACUUM FULL too, to
> prevent cancel once it's done that internal commit.  It would fix
> the "PANIC: can't abort a committed transaction" problem V.F. has.

Hmm, it seems to work.  The attached is for 8.1.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

Вложения

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

Предыдущее
От: abindra@u.washington.edu
Дата:
Сообщение: Re: Freebsd & autoconf-2.63
Следующее
От: Tom Lane
Дата:
Сообщение: Re: "ERROR: could not read block 6 ...: read only 0 of 8192 bytes" after autovacuum cancelled