pgsql: pgstat: Use correct lock level in pgstat_drop_all_entries(). - Mailing list pgsql-committers

From Andres Freund
Subject pgsql: pgstat: Use correct lock level in pgstat_drop_all_entries().
Date
Msg-id E1nfqHO-000pxR-1q@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
pgstat: Use correct lock level in pgstat_drop_all_entries().

Previously we didn't, which lead to an assertion failure when resetting
partially loaded statistics. This was encountered on the buildfarm, for
as-of-yet unknown reasons.

Ttighten up a validity check when reading the stats file, verifying 'E'
signals the end of the file (rather than just stopping reading). That's then
used in a test appending to the stats file that crashed before the fix in
pgstat_drop_all_entries().

Reported by buildfarm animals mylodon and kestrel, via Tom Lane.

Discussion: https://postgr.es/m/1656446.1650043715@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/4a736a161c306fcfed970e6b649f2f03f465ac24

Modified Files
--------------
src/backend/utils/activity/pgstat.c       |  4 ++++
src/backend/utils/activity/pgstat_shmem.c |  2 +-
src/test/recovery/t/029_stats_restart.pl  | 30 ++++++++++++++++++++++++++++--
3 files changed, 33 insertions(+), 3 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: Re: pgsql: Fix some trailing whitespace in documentation files
Next
From: Thomas Munro
Date:
Subject: pgsql: Don't retry restore_command while reading ahead.