pgstat: Use correct lock level in pgstat_drop_all_entries().

Andres Freund <andres@anarazel.de>

Commit: 4a736a161c306fcfed970e6b649f2f03f465ac24
Author: Andres Freund <andres@anarazel.de>
Date: 2022-04-16T21:44:58Z
Releases: 15.0
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

Files

Discussion