Re: Assert while autovacuum was executing

Поиск
Список
Период
Сортировка
От Peter Geoghegan
Тема Re: Assert while autovacuum was executing
Дата
Msg-id CAH2-WzmRmi7KVerZM6K-Q2OavDvHs-iDzCGPBQve_hi9XJXm0Q@mail.gmail.com
обсуждение исходный текст
Ответ на Assert while autovacuum was executing  (Jaime Casanova <jcasanov@systemguards.com.ec>)
Ответы Re: Assert while autovacuum was executing  (Amit Kapila <amit.kapila16@gmail.com>)
Список pgsql-hackers
On Sat, Jun 17, 2023 at 11:29 AM Jaime Casanova
<jcasanov@systemguards.com.ec> wrote:
> I have been testing 16beta1, last commit
> a14e75eb0b6a73821e0d66c0d407372ec8376105
> I just let sqlsmith do its magic before trying something else, and
> today I found a core with the attached backtrace.

The assertion that fails is the IsPageLockHeld assertion from commit 72e78d831a.

I think that this is kind of an odd assertion. It's also not justified
by any comments. Why invent this rule at all?

To be fair the use of page heavyweight locks in ginInsertCleanup() is
also odd. The only reason why ginInsertCleanup() uses page-level locks
here is to get the benefit of deadlock detection, and to be able to
hold the lock for a relatively long time if that proves necessary
(i.e., interruptibility). There are reasons to doubt that that's a
good design, but either way it seems fundamentally incompatible with
the rule enforced by the assertion.

--
Peter Geoghegan



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Jaime Casanova
Дата:
Сообщение: Assert while autovacuum was executing
Следующее
От: Tomas Vondra
Дата:
Сообщение: Re: [PATCH] ltree hash functions