Re: 8.3.0 Core with concurrent vacuum fulls - Mailing list pgsql-hackers

From Tom Lane
Subject Re: 8.3.0 Core with concurrent vacuum fulls
Date
Msg-id 23355.1204726612@sss.pgh.pa.us
Whole thread Raw
In response to Re: 8.3.0 Core with concurrent vacuum fulls  ("Pavan Deolasee" <pavan.deolasee@gmail.com>)
Responses Re: 8.3.0 Core with concurrent vacuum fulls
List pgsql-hackers
"Pavan Deolasee" <pavan.deolasee@gmail.com> writes:
> Why not just unconditionally finish the phase 2 as part of InitPostgres ?

You're jumping to a patch before we even understand what's happening.
In particular, if that's the problem, why has this not been seen before?
The fact that it's going through heap_page_prune doesn't seem very
relevant --- VACUUM FULL has certainly always had to invoke
CacheInvalidateHeapTuple someplace or other.  So I still want to see
the deadlock report ... we at least need to know which tables are
involved in the deadlock.

A separate line of thought is whether it's a good idea that
heap_page_prune calls the inval code inside a critical section.
That's what's turning an ordinary deadlock failure into a PANIC.
Even without the possibility of having to do cache initialization,
that's a lot of code to be invoking, and it has obvious failure
modes (eg, out of memory for the new inval list item).
        regards, tom lane


pgsql-hackers by date:

Previous
From: "Pavan Deolasee"
Date:
Subject: Re: 8.3.0 Core with concurrent vacuum fulls
Next
From: Tom Lane
Date:
Subject: Re: 8.3.0 Core with concurrent vacuum fulls