On Sat, 2007-10-27 at 23:22 +0100, Simon Riggs wrote:
> 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)".

Sorry...this should read "as you say it is **not** true".

-- 
  Simon Riggs
  2ndQuadrant  http://www.2ndQuadrant.com


---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to