On 12/1/20 5:25 PM, Justin Pryzby wrote:
On Tue, Dec 01, 2020 at 03:57:24PM -0300, Alvaro Herrera wrote:

Another idea is if perform_work_item() were responsible for discarding
relations which disappear.  Currently it does this, which is racy since it
holds no lock.

That has the property that it remains contained in autovacuum.c, but no
other advantages I think.

It has the advantage that it moves all the try_open stuff out of brin.

I started implementing this, and then realized that the try_open stuff *has* to
be in the brin_summarize function, to handle the case that someone passes a
non-index, since it's SQL exposed.
So maybe we should use your LockOid patch now, and refactor in the future if we
add additional work-item types.

Thoughts on this, Álvaro? I can see that the first version of this patch was not ideal but the rework seems to have stalled. Since it is a bug perhaps it would be better to get something in as Justin suggests?

Regards,
--
-David
da...@pgmasters.net


Reply via email to