Re: pgsql: Teach DSM registry to ERROR if attaching to an uninitialized ent

Nathan Bossart <nathandbossart@gmail.com>

From: Nathan Bossart <nathandbossart@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-11-26T21:21:13Z
Lists: pgsql-hackers
On Tue, Nov 25, 2025 at 07:13:03PM -0500, Robert Haas wrote:
> On Tue, Nov 25, 2025 at 4:16 PM Nathan Bossart <nathandbossart@gmail.com> wrote:
>> My tests seem happy, so I will plan on committing these patches tomorrow.
>> The only difference in v4 is that pg_get_dsm_registry_allocations() will no
>> longer show partially-initialized entries.  I thought that was the best
>> option in this case because such entries shouldn't have any allocated
>> memory, and retrying GetNamed*() would set *found to false.
> 
> Without actually opening the new patch files, that seems OK to me. I
> think the important thing about such a view is that it shouldn't make
> any state changes; it should just show how things are. In my ideal
> world, it would probably show partially-initialized entires in some
> distinguishable way, like with a null size. But leaving them out is
> also defensible. The thing that I think really matters for failure
> cases is the ability to retry whatever's gone wrong, either to get it
> fixed or to see the error, and the other changes already accomplish
> that goal, so I'm happy.

Committed, thanks for reviewing.

-- 
nathan



Commits

  1. Teach DSM registry to retry entry initialization if needed.

  2. Revert "Teach DSM registry to ERROR if attaching to an uninitialized entry."

  3. Teach DSM registry to ERROR if attaching to an uninitialized entry.