canceling autovacuum task woes - Mailing list pgsql-hackers

From Robert Haas
Subject canceling autovacuum task woes
Date
Msg-id CA+TgmoaJqOJ=KK9HdX0R_JTzhYU0Gr3ZRKLqutGQwL5H20Z2Rw@mail.gmail.com
Whole thread Raw
Responses Re: canceling autovacuum task woes  (Andres Freund <andres@2ndquadrant.com>)
Re: canceling autovacuum task woes  (Steve Singer <ssinger@ca.afilias.info>)
Re: canceling autovacuum task woes  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-hackers
I am running into a lot of customer situations where the customer
reports that "canceling autovacuum task" shows up in the logs, and
it's unclear whether this is happening often enough to matter, and
even more unclear what's causing it.

Me: So, do you know what table it's getting cancelled on?
Customer: Nope.
Me: Are you running any DDL commands anywhere in the cluster?
Customer: Nope, absolutely none.
Me: Well you've got to be running something somewhere or it wouldn't
be having a lock conflict.
Customer: OK, well I don't know of any.  What should I do?

It would be awfully nice if the process that does the cancelling would
provide the same kind of reporting that we do for a deadlock: the
relevant lock tag, the PID of the process sending the cancel, and the
query string.

Personally, I'm starting to have a sneaky suspicion that there is
something actually broken here - that is, that there are lock
conflicts involve here other than the obvious one (SHARE UPDATE
EXCLUSIVE on the table) that are allowing autovac to get cancelled
more often than we realize.  But whether that's true or not, the
current logging is wholly inadequate.

Thoughts?  Anybody else have this problem?

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Atri Sharma
Date:
Subject: Re: Recent absence
Next
From: Fujii Masao
Date:
Subject: Re: 9.2 release schedule