pgstat: Acquire lock when reading variable-numbered stats
authorAndres Freund <andres@anarazel.de>
Tue, 23 Aug 2022 03:16:50 +0000 (20:16 -0700)
committerAndres Freund <andres@anarazel.de>
Tue, 23 Aug 2022 03:16:50 +0000 (20:16 -0700)
commitcd063344fb801a90a40923a5b8aefe4eb8d80762
treea9248822b82059ddb2cd7b9f36856d6a1b180f81
parentba8321349bc02423aa4d49ebb5d579ec313cf930
pgstat: Acquire lock when reading variable-numbered stats

Somewhere during the development of the patch acquiring a lock during read
access to variable-numbered stats got lost. The missing lock acquisition won't
cause corruption, but can lead to reading torn values when accessing
stats. Add the missing lock acquisitions.

Reported-by: Greg Stark <stark@mit.edu>
Reviewed-by: "Drouvot, Bertrand" <bdrouvot@amazon.com>
Reviewed-by: Andres Freund <andres@anarazel.de>
Author: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Discussion: https://postgr.es/m/CAM-w4HMYkM_DkYhWtUGV+qE_rrBxKOzOF0+5faozxO3vXrc9wA@mail.gmail.com
Backpatch: 15-
src/backend/utils/activity/pgstat.c
src/backend/utils/activity/pgstat_shmem.c
src/include/utils/pgstat_internal.h