Re: elog(DEBUG2 in SpinLocked section.

Fujii Masao <masao.fujii@oss.nttdata.com>

From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Kyotaro Horiguchi <horikyota.ntt@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-06-02T10:24:16Z
Lists: pgsql-hackers

On 2020/06/02 17:42, Amit Kapila wrote:
> On Tue, Jun 2, 2020 at 2:05 PM Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
>>
>> On 2020/06/02 16:15, Kyotaro Horiguchi wrote:
>>> Hello.
>>>
>>> I noticed that UpdateSpillStats calls "elog(DEBUG2" within
>>> SpinLockAcquire section on MyWalSnd.  The lock doesn't protect rb and
>>> in the first place the rb cannot be modified during the function is
>>> running.
>>>
>>> It should be out of the lock section.
> 
> Right.
> 
>>
>> Thanks for the patch! It looks good to me.
>>
> 
> The patch looks good to me as well.  I will push this unless Fujii-San
> wants to do it.

Thanks! I pushed the patch.

Regards,

-- 
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION



Commits

  1. Fix instance of elog() called while holding a spinlock

  2. Don't call palloc() while holding a spinlock, either.

  3. Don't call elog() while holding spinlock.