Re: [HACKERS] [BUG FIX] Removing NamedLWLockTrancheArray - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: [HACKERS] [BUG FIX] Removing NamedLWLockTrancheArray
Date
Msg-id CAA4eK1J0DcZun00PwSiftvUjpGfD2zq8CYXv9RYtiJPGbraPTw@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] [BUG FIX] Removing NamedLWLockTrancheArray  (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>)
Responses Re: [HACKERS] [BUG FIX] Removing NamedLWLockTrancheArray  (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>)
List pgsql-hackers
On Fri, Mar 3, 2017 at 3:49 PM, Kyotaro HORIGUCHI
<horiguchi.kyotaro@lab.ntt.co.jp> wrote:
>> You can read about usage of LWLocks in extensions from below location:
>> https://www.postgresql.org/docs/devel/static/xfunc-c.html#idp86986416
>
> Thank you for the pointer. I understand that the document describes the only
> correct way to use LWLock in extensions  and using LWLockRegisterTranche  is
> a non-standard or prohibit way to do that.
>
> By the way, in the case of orafce, it uses LWLockRegisterTranche  directly
> but only when !found. So if any backend other than the creator of the shmem
> want to access tranche, the puch tranche is not found on the process and
> crashes. I think this is it.
>

Yeah and I think that is expected if you use LWLockRegisterTranche.
You might want to read comments in lwlock.h to know the reason behind
the same.

> If no other modules is installed, registeriing a tranche even if found will
> supress the crash but it is not a solution at all.
>
> At least for 9.6 or 10, orafce should do that following the documentation.
>

Agreed.

> But it still can crash from the problem by the separate
> NamedLWLockTrancheArray. (ID range check in LWLockInitialize would be
> useless if it is not used by extensions)
>

What exact problem are you referring here?



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



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] [COMMITTERS] pgsql: Use asynchronous connect API in libpqwalreceiver
Next
From: Peter Eisentraut
Date:
Subject: Re: [HACKERS] DROP SUBSCRIPTION and ROLLBACK