| From: | Nathan Bossart <nathandbossart(at)gmail(dot)com> |
|---|---|
| To: | Sami Imseih <samimseih(at)gmail(dot)com> |
| Cc: | Alexander Lakhin <exclusion(at)gmail(dot)com>, Rahila Syed <rahilasyed90(at)gmail(dot)com>, Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Improve LWLock tranche name visibility across backends |
| Date: | 2025-11-10 16:26:17 |
| Message-ID: | aRISKd2MEeIqRcOh@nathan |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Heikki Linnakangas | 2025-11-10 16:38:21 | Re: Move SLRU_PAGES_PER_SEGMENT to pg_config_manual.h |
| Previous Message | Heikki Linnakangas | 2025-11-10 16:24:23 | Re: Move SLRU_PAGES_PER_SEGMENT to pg_config_manual.h |