Re: pgsql: Teach DSM registry to ERROR if attaching to an uninitialized ent
| От | Nathan Bossart |
|---|---|
| Тема | Re: pgsql: Teach DSM registry to ERROR if attaching to an uninitialized ent |
| Дата | |
| Msg-id | aSTNXyXnr9HYsLo6@nathan обсуждение исходный текст |
| Ответ на | Re: pgsql: Teach DSM registry to ERROR if attaching to an uninitialized ent (Robert Haas <robertmhaas@gmail.com>) |
| Ответы |
Re: pgsql: Teach DSM registry to ERROR if attaching to an uninitialized ent
|
| Список | pgsql-hackers |
On Mon, Nov 24, 2025 at 04:02:18PM -0500, Robert Haas wrote: > I haven't done a full review of this and I'm not sure whether you want > me to spend more time on it... I'd appreciate an eyeball check if you have the time. > I'm guessing that the reason why that doesn't easily work is > because you're relying on those locks to prevent multiple backends > from doing the same initialization? For GetNamedDSMSegment(), I bet we could avoid needing a PG_CATCH by taking the DSMRegistryLock exclusively when accessing the registry. But for GetNamedDSA() and GetNamedDSHash(), we want to keep the half-initialized entry so that we don't leak LWLock tranche IDs. I initially thought that might be okay, but if every backend is retrying, you could quickly run out of tranche IDs. -- nathan
В списке pgsql-hackers по дате отправления: