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 aRIpWji1L87hhBVe@nathan
Whole thread Raw
In response to Re: Improve LWLock tranche name visibility across backends  (Nathan Bossart <nathandbossart@gmail.com>)
Responses Re: Improve LWLock tranche name visibility across backends
List pgsql-hackers
On Mon, Nov 10, 2025 at 10:49:58AM -0600, Nathan Bossart wrote:
> On Mon, Nov 10, 2025 at 10:26:17AM -0600, Nathan Bossart wrote:
>> 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.

0001 does this.  When applied, Alexander's reproduction steps fail with

    ERROR:  requested DSM segment failed initialization

This one should probably get back-patched to v17, where the DSM registry
was introduced.

> BTW if we really wanted to avoid leaking tranches in test_dsa, we'd need to
> store the ID in shared memory.  Your patch helps in the case where a single
> backend is repeatedly calling test_dsa_resowners(), but other backends
> would still allocate their own tranche.  I don't see a strong need to fix
> this on back-branches, given these functions run exactly once as part of a
> test, but fixing it on master seems worthwhile so that extension authors
> don't copy/paste this broken code.

0002 does this.

-- 
nathan

Attachment

pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: Move SLRU_PAGES_PER_SEGMENT to pg_config_manual.h
Next
From: Manni Wood
Date:
Subject: Re: Include extension path on pg_available_extensions