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