Re: pgsql: Change the way that LWLocks for extensions are allocated. - Mailing list pgsql-committers

From Andres Freund
Subject Re: pgsql: Change the way that LWLocks for extensions are allocated.
Date
Msg-id 20160826220026.2fw6xj56qgd22wqi@alap3.anarazel.de
Whole thread Raw
In response to pgsql: Change the way that LWLocks for extensions are allocated.  (Robert Haas <rhaas@postgresql.org>)
List pgsql-committers
Hi,

On 2016-02-04 21:43:14 +0000, Robert Haas wrote:
> Change the way that LWLocks for extensions are allocated.
>
> The previous RequestAddinLWLocks() method had several disadvantages.
> First, the locks would be in the main tranche; we've recently decided
> that it's useful for LWLocks used for separate purposes to have
> separate tranche IDs.  Second, there wasn't any correlation between
> what code called RequestAddinLWLocks() and what code called
> LWLockAssign(); when multiple modules are in use, it could become
> quite difficult to troubleshoot problems where LWLockAssign() ran out
> of locks.  To fix, create a concept of named LWLock tranches which
> can be used either by extension or by core code.
>
> Amit Kapila and Robert Haas

I noticed that this code has no test coverage:

http://coverage.postgresql.org/src/backend/storage/lmgr/lwlock.c.gcov.html

It'd be good to add some, although I'm not entirely sure what the best
way is. Maybe add a simple pg_stat_statements test?

Andres


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Add a nonlocalized version of the severity field to client error
Next
From: Tom Lane
Date:
Subject: pgsql: Add macros to make AllocSetContextCreate() calls simpler and saf