Re: Assertion failure on PG15 with modified test_shm_mq test

Поиск
Список
Период
Сортировка
От Kyotaro Horiguchi
Тема Re: Assertion failure on PG15 with modified test_shm_mq test
Дата
Msg-id 20220824.130500.2262022953686351752.horikyota.ntt@gmail.com
обсуждение исходный текст
Ответ на Re: Assertion failure on PG15 with modified test_shm_mq test  (Pavan Deolasee <pavan.deolasee@gmail.com>)
Список pgsql-hackers
At Thu, 18 Aug 2022 16:58:24 +0530, Pavan Deolasee <pavan.deolasee@gmail.com> wrote in 
> Hi,
> 
> On Thu, Aug 18, 2022 at 5:38 AM Andres Freund <andres@anarazel.de> wrote:
> 
> > We can't move pgstat shutdown into on_dsm callback because that's too late
> > to
> > allocate *new* dsm segments, which we might need to do while flushing
> > out pending stats.
> >
> > See
> > https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=fa91d4c91f28f4819dc54f93adbd413a685e366a
> > for a way to avoid the problem.
> >
> >
> Thanks for the hint. I will try that approach. I wonder though if there is
> something more we can do. For example, would it make sense to throw a
> WARNING and avoid segfault if pgstat machinery is already shutdown? Just
> worried if the code can be reached from multiple paths and testing all of
> those would be difficult for extension developers, especially given this
> may happen in error recovery path.

I'm not sure how extensions can face this problem, but..

pgstat is designed not to lose reported numbers. The assertion is
manifets that intention.  It is not enabled on non-assertion builds
and pgstat enters undefined state then maybe crash after the assertion
point.  On the other hand I don't think we want to perform the same
check for the all places the assertion exists on non-assertion builds.

We cannot simply replace the assertion with ereport().

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: ecpg assertion on windows
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: [PATCH] Expose port->authn_id to extensions and triggers