pgsql: injection_points: Add proper locking when reporting fixed-variab

Started by Michael Paquier9 months ago1 messagescomitters
Jump to latest
#1Michael Paquier
michael@paquier.xyz

injection_points: Add proper locking when reporting fixed-variable stats

Contrary to its siblings for the archiver, the bgwriter and the
checkpointer stats, pgstat_report_inj_fixed() can be called
concurrently. This was causing an assertion failure, while messing up
with the stats.

This code is aimed at being a template for extension developers, so it
is not a critical issue, but let's be correct. This module has also
been useful for some benchmarking, at least for me, and that was how I
have discovered this issue.

Oversight in f68cd847fa40.

Author: Michael Paquier <michael@paquier.xyz>
Reviewed-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Reviewed-by: Chao Li <li.evan.chao@gmail.com>
Reviewed-by: wenhui qiu <qiuwenhuifx@gmail.com>
Discussion: /messages/by-id/aNnXbAXHPFUWPIz2@paquier.xyz
Backpatch-through: 18

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/3cc689f833b1c9c5b52f1fe07c0e0fd817e23c8b

Modified Files
--------------
src/test/modules/injection_points/injection_stats_fixed.c | 4 ++++
1 file changed, 4 insertions(+)