Hi,
On Tuesday, July 24, 2012 07:48:27 PM Robert Haas wrote:
> 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.
Very, very, very quick guess: The relation extension lock?
> Thoughts? Anybody else have this problem?
I have seen spuriously high occurances of that message before, but I never
really investigated it.
Andres
--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services