Re: admin control over cancelling autovacuum when blocked by a lock - Mailing list pgsql-admin

From Tom Lane
Subject Re: admin control over cancelling autovacuum when blocked by a lock
Date
Msg-id 19835.1556588662@sss.pgh.pa.us
Whole thread Raw
In response to Re: admin control over cancelling autovacuum when blocked by a lock  (John Lumby <johnlumby@hotmail.com>)
Responses Re: admin control over cancelling autovacuum when blocked by a lock  (Simon Riggs <simon@2ndquadrant.com>)
List pgsql-admin
John Lumby <johnlumby@hotmail.com> writes:
> On 04/29/2019 07:15 PM, Simon Riggs wrote:
>> Why would you want this?

> Because it greatly reduces rate of growth of certain indexes in some 
> workloads
> (based on test in which I modified the code to change the cancel to a 
> plain WARNING)

[ raised eyebrow... ]  Shouldn't do so, I think.  What exactly are you
doing that's causing the cancel?

> I *think* when an autovacuum worker is cancelled,  all or most of the work
> it did on its last table is undone  --  true?

If what's canceled is the final step of truncating off empty end pages
in the table, you shouldn't lose anything except the actual truncation.
And that's normally the only part that gets canceled, because it's the
only part that takes a strong lock.  If you're losing index cleanup
work, it suggests that you're repeatedly executing DDL that requires
exclusive lock on the table.  Maybe you could avoid doing that?

            regards, tom lane



pgsql-admin by date:

Previous
From: Tom Lane
Date:
Subject: Re: admin control over cancelling autovacuum when blocked by a lock
Next
From: Simon Riggs
Date:
Subject: Re: admin control over cancelling autovacuum when blocked by a lock