Re: Diagnostic comment in LogicalIncreaseXminForSlot

From: Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Diagnostic comment in LogicalIncreaseXminForSlot
Date: 2021-08-09 05:44:15
Message-ID: CAGEoWWSHUR5_B40mneLG7L9RC1LkeETFfB1_HgN28+omzEWLYw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Aug 7, 2021 at 11:40 AM Andres Freund <andres(at)anarazel(dot)de> wrote:

> Hi,
>
> On 2021-07-12 17:28:15 +0530, Ashutosh Bapat wrote:
> > On Mon, Jul 12, 2021 at 8:39 AM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
> wrote:
> >
> > > On Mon, Jul 5, 2021 at 12:54 PM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com
> >
> > > Today, again looking at this patch, I don't think doing elog inside
> > > spinlock is a good idea. We can either release spinlock before it or
> > > use some variable to remember that we need to write such an elog and
> > > do it after releasing the lock. What do you think?
> >
> >
> > The elog will be effective only under DEBUG1, otherwise it will be
> almost a
> > NOOP. I am wondering whether it's worth adding a bool assignment and move
> > the elog out only for DEBUG1. Anyway, will defer it to you.
>
> It's *definitely* not ok to do an elog() while holding a spinlock. Consider
> what happens if the elog tries to format the message and runs out of
> memory. Or if elog detects the stack depth is too deep. An ERROR would be
> thrown, and we'd loose track of the held spinlock.
>

Thanks for the clarification.

Amit,
I will provide the patch changed accordingly.

--
Best Wishes,
Ashutosh

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Mahendra Singh Thalor 2021-08-09 05:46:01 Re: "ERROR: cache lookup failed for function %d" while dropping function from another session
Previous Message Mahendra Singh Thalor 2021-08-09 05:37:13 "ERROR: cache lookup failed for function %d" while dropping function from another session