Re: First steps with 8.3 and autovacuum launcher - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: First steps with 8.3 and autovacuum launcher
Date
Msg-id 20071004183316.GB21453@alvh.no-ip.org
Whole thread Raw
In response to Re: First steps with 8.3 and autovacuum launcher  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: First steps with 8.3 and autovacuum launcher
Re: First steps with 8.3 and autovacuum launcher
List pgsql-hackers
Tom Lane escribió:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
> > Gregory Stark escribi�:
> >> 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 crazy idea is to have some sort of "blacklist" of tables in
> > shared memory.  Any autovacuum process would skip those tables.
> 
> The deadlock check idea sounds promising to me, not least because it
> avoids adding any cycles in performance-critical paths.  I'm not certain
> how easy it'd be to fold the idea into the checker though.  That
> logic is pretty complicated :-( and I'm not sure that it makes a
> consistent effort to visit every possible blocker.

The idea sounds interesting, but I am not at all sure how to fit it in
the deadlock code.

I am totally uninclined to mess with this stuff.  I am barely aware of
what exactly is it doing; I don't have the slightest idea how to modify
it to cancel autovacs.  Furthermore it sounds very much like a layering
violation (what is deadlock.c doing with autovac processes anyway).

-- 
Alvaro Herrera                        http://www.advogato.org/person/alvherre
"Pensar que el espectro que vemos es ilusorio no lo despoja de espanto,
sólo le suma el nuevo terror de la locura" (Perelandra, CSLewis)


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Not *quite* there on ecpg fixes
Next
From: Simon Riggs
Date:
Subject: Re: First steps with 8.3 and autovacuum launcher