Merlin Moncure <mmoncure(at)gmail(dot)com> writes:
> Basically, $subject says it all. It's pretty easy to reproduce:
> delete all the records from a large table and execute any sequentially
> scanning query before autocvacuum comes around and cleans the table
> up; the query will be uncancellable. This can result in fairly
> pathological behavior in i/o constrained systems because the query
> will bog itself down writing out hint bits for minutes or hours
> without any way to cancel or effective i/o throttling (unlike vacuum).
> IMO, this should be backpatched, and is likely fixed by injecting an
> interrupts check at a strategic location. But where? I was thinking
> in heapgetpage() but here are no checks elsehwere in heapam.c which is
> a red flag.
heapgetpage() seems like the most reasonable place to me, as there we'll
only be making the check once per page not once per tuple.
regards, tom lane
In response to
pgsql-bugs by date
|Next:||From: valgog||Date: 2012-05-22 21:36:23|
|Subject: BUG #6661: out-of-order XID insertion in KnownAssignedXids|
|Previous:||From: Robert Haas||Date: 2012-05-22 20:08:13|
|Subject: Re: BUG #6653: Service does not start in standby-mode|