From: | Simon Riggs <simon(at)2ndquadrant(dot)com> |
---|---|
To: | Heikki Linnakangas <heikki(at)enterprisedb(dot)com> |
Cc: | Alvaro Herrera <alvherre(at)commandprompt(dot)com>, pgsql-patches(at)postgresql(dot)org |
Subject: | Re: Autovacuum cancellation |
Date: | 2007-10-27 22:22:40 |
Message-ID: | 1193523760.4242.628.camel@ebony.site |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers pgsql-patches |
On Fri, 2007-10-26 at 10:32 +0100, Heikki Linnakangas wrote:
> Alvaro Herrera wrote:
> > /*
> > * Look for a blocking autovacuum. There will only ever
> > * be one, since the autovacuum workers are careful
> > * not to operate concurrently on the same table.
> > */
>
> I think that's a bit unaccurate. You could have multiple autovacuum
> workers operating on different tables participating in a deadlock. The
> reason that can't happen is that autovacuum never holds a lock while
> waiting for another.
I wrote that code comment; as you say it is true only when there are at
least 4 processes in the lock graph where 2+ normal backends are
deadlocking and there are 2+ autovacuums holding existing locks. The
comment should have said "If blocking is caused by an autovacuum process
then ... (there will)".
The blocking_autovacuum_proc doesn't react unless there are no hard
deadlocks, so the code works.
--
Simon Riggs
2ndQuadrant http://www.2ndQuadrant.com
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2007-10-27 22:31:02 | Re: Autovacuum cancellation |
Previous Message | User Kostas | 2007-10-27 22:18:08 | pgtreelib - pgtreelib: |
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2007-10-27 22:31:02 | Re: Autovacuum cancellation |
Previous Message | Simon Riggs | 2007-10-27 22:15:12 | Re: Autovacuum cancellation |
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2007-10-27 22:31:02 | Re: Autovacuum cancellation |
Previous Message | Simon Riggs | 2007-10-27 22:15:12 | Re: Autovacuum cancellation |