Re: "ERROR: could not read block 6 ...: read only 0 of 8192 bytes" after autovacuum cancelled - Mailing list pgsql-hackers

From Tom Lane
Subject Re: "ERROR: could not read block 6 ...: read only 0 of 8192 bytes" after autovacuum cancelled
Date
Msg-id 8543.1257520398@sss.pgh.pa.us
Whole thread Raw
In response to Re: "ERROR: could not read block 6 ...: read only 0 of 8192 bytes" after autovacuum cancelled  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: "ERROR: could not read block 6 ...: read only 0 of 8192 bytes" after autovacuum cancelled
List 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 by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: "ERROR: could not read block 6 ...: read only 0 of 8192 bytes" after autovacuum cancelled
Next
From: abindra@u.washington.edu
Date:
Subject: Re: Freebsd & autoconf-2.63