Remove incomplete pgstats entry for allocation failure at startup

pgstat_init_entry() can fail after its hash entry has been inserted, in
which case the caller has to remove the entry, as done by
pgstat_get_entry_ref() since 8191e0c16a03.  pgstat_read_statsfile() was
not exactly doing that, leaving an entry that could still point to an
InvalidDsaPointer.

There are no consequences here, even after 8191e0c16a03.  The stats are
loaded from disk by the startup process, where an ERROR gets promoted to
a FATAL, cleaning up shared memory.  So this is mostly an argument of
consistency with the normal entry creation path, especially if someone
decides to downgrade this ERROR to a WARNING in pgstat_read_statsfile().

Author: Grigorev Jurij <[email protected]>
Discussion: 
https://postgr.es/m/[email protected]

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/c2bac0c0dbe31d1d027c5c53bc7f662b1bd0708d

Modified Files
--------------
src/backend/utils/activity/pgstat.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

Reply via email to