Re: Autovacuum cancellation
От | Simon Riggs |
---|---|
Тема | Re: Autovacuum cancellation |
Дата | |
Msg-id | 1193523760.4242.628.camel@ebony.site обсуждение исходный текст |
Ответ на | Re: Autovacuum cancellation (Heikki Linnakangas <heikki@enterprisedb.com>) |
Ответы |
Re: Autovacuum cancellation
|
Список | 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
В списке pgsql-patches по дате отправления: