Re: "ERROR: could not read block 6 ...: read only 0 of 8192 bytes" after autovacuum cancelled
| От | Tom Lane |
|---|---|
| Тема | Re: "ERROR: could not read block 6 ...: read only 0 of 8192 bytes" after autovacuum cancelled |
| Дата | |
| Msg-id | 8543.1257520398@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Re: "ERROR: could not read block 6 ...: read only 0 of 8192 bytes" after autovacuum cancelled (Alvaro Herrera <alvherre@commandprompt.com>) |
| Ответы |
Re: "ERROR: could not read block 6 ...: read only 0 of
8192 bytes" after autovacuum cancelled
|
| Список | pgsql-hackers |
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.
regards, tom lane
В списке pgsql-hackers по дате отправления: