Re: First steps with 8.3 and autovacuum launcher
Heikki Linnakangas <heikki@enterprisedb.com>
From: Heikki Linnakangas <heikki@enterprisedb.com>
To: Gregory Stark <stark@enterprisedb.com>
Cc: Alvaro Herrera <alvherre@commandprompt.com>, Guillaume Smet <guillaume.smet@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, "Matthew T. O'Connor" <matthew@zeut.net>, Simon Riggs <simon@2ndquadrant.com>, Stefan Kaltenbrunner <stefan@kaltenbrunner.cc>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2007-10-04T15:45:46Z
Lists: pgsql-hackers
Gregory Stark wrote: > "Alvaro Herrera" <alvherre@commandprompt.com> writes: > >> Hmm, it looks like the race condition Heikki mentioned is the culprit. >> We need a way to stop future analyzes from starting. Back to the >> drawing board ... > > A crazy idea I just had -- what if you roll this into the deadlock check? So > after waiting on the lock for 1s it wakes up, finds that the holder it's > waiting on is an autovacuum process and cancels it instead of finding no > deadlock. Another idea would be to make no changes to the relation_openrv call, but have autovacuum periodically check if anyone's blocked waiting on its locks, and commit suicide (or set cost delay to zero) if so. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com