Re: Checkpoint start logging is done inside critical section

Поиск
Список
Период
Сортировка
От Amit Kapila
Тема Re: Checkpoint start logging is done inside critical section
Дата
Msg-id CAA4eK1+T7mF=Dm2-NOJ_t3-=Aj26t9z3VSZouUy0Swqm_p3SAw@mail.gmail.com
обсуждение исходный текст
Ответ на Checkpoint start logging is done inside critical section  (Ants Aasma <ants.aasma@eesti.ee>)
Ответы Re: Checkpoint start logging is done inside critical section
Список pgsql-hackers
On Thu, Oct 18, 2018 at 4:44 AM Ants Aasma <ants.aasma@eesti.ee> wrote:
>
> The LogCheckpointStart() call inside CreateCheckPoint() is done while
> inside a critical section. The elog call could trigger errors due to
> memory allocations or from a logging hook, resulting in a panic.
>

Yeah, but we use logging hook inside LWLockAcquire as well which is
also called inside critical section in the nearby code, not sure if we
can do anything about it.

> It
> seems better to postpone the logging until after the critical section
> is done. It's only a few lwlock acquisitions away and shouldn't make
> any material difference. Patch to do so is attached.
>

+1.  I think we should backpatch this as well.  I can take it forward
unless people have objections to it.


-- 
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com


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

Предыдущее
От: Amit Kapila
Дата:
Сообщение: Re: DSM robustness failure (was Re: Peripatus/failures)
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Checkpoint start logging is done inside critical section