Re: Improve LWLock tranche name visibility across backends - Mailing list pgsql-hackers

From Nathan Bossart
Subject Re: Improve LWLock tranche name visibility across backends
Date
Msg-id aRISKd2MEeIqRcOh@nathan
Whole thread Raw
In response to Re: Improve LWLock tranche name visibility across backends  (Sami Imseih <samimseih@gmail.com>)
Responses Re: Improve LWLock tranche name visibility across backends
List pgsql-hackers
On Mon, Nov 03, 2025 at 11:50:48AM -0600, Sami Imseih wrote:
>>> I am not sure we need to do anything about this.
>>
>> Or maybe we just avoid the tranche_id from leaking
>> in test_dsa_resowners() by making it a static variable
>> and checking if we have a valid tranche id before calling
>> LWLockNewTrancheId()? That is the proper pattern.
> 
> Like the attached.

It's probably a good idea to avoid tranche leaks, but IMHO there's room for
improvement in the DSM registry, too.  IIUC the problem is that the DSM
segment is still being added to the registry and found by other backends
despite the initialization callback failing.  My first instinct is that we
should keep track of whether the DSM segments/DSAs/dshash tables in the
registry have been fully initialized and to just ERROR in other backends
when attaching if they aren't.  That shouldn't really happen in practice,
but it'd be good to avoid the strange errors, anyway.

-- 
nathan



pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: Move SLRU_PAGES_PER_SEGMENT to pg_config_manual.h
Next
From: Heikki Linnakangas
Date:
Subject: Re: Move SLRU_PAGES_PER_SEGMENT to pg_config_manual.h