On 2015-08-11 15:07:15 -0700, Jeff Janes wrote:
> When a user backend (as opposed to vacuum or autoanalyze) gets burdened
> with cleaning up the GIN pending list, it does not
> call CHECK_FOR_INTERRUPTS().
> 
> Since cleaning does a lot of random IO, it can take a long time and it is
> not nice to be uninterruptable.

Agreed.

> The attached patch adds an else branch to call CHECK_FOR_INTERRUPTS().
> 
> But I think we could instead just call vacuum_delay_point unconditionally.
> It calls CHECK_FOR_INTERRUPTS(), and if not in a throttled vacuum it does
> nothing else.  (That is how ANALYZE handles it.)

Hm, I find that not exactly pretty. I'd rather just add an unconditional
CHECK_FOR_INTERRUPTS to the function.

Greetings,

Andres Freund


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to