Re: MultiXact\SLRU buffers configuration

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: "Andrey M. Borodin" <x4mmm@yandex-team.ru>, vignesh C <vignesh21@gmail.com>, Andrew Borodin <amborodin86@gmail.com>, i.lazarev@postgrespro.ru, Yura Sokolov <y.sokolov@postgrespro.ru>, Andres Freund <andres@anarazel.de>, Thomas Munro <thomas.munro@gmail.com>, Gilles Darold <gilles@darold.net>, Alexander Korotkov <aekorotkov@gmail.com>, Anastasia Lubennikova <a.lubennikova@postgrespro.ru>, Daniel Gustafsson <daniel@yesql.se>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, pgsql-hackers mailing list <pgsql-hackers@postgresql.org>
Date: 2024-08-21T03:46:31Z
Lists: pgsql-hackers
On Tue, Aug 20, 2024 at 08:13:12PM -0400, Alvaro Herrera wrote:
> I don't understand what do the inj_stats_enabled stuff have to do with
> this patch.  I suspect it's a git operation error, ie., you seem to have
> squashed two different things together.

Sorry, I should have split that for clarity (one patch for the GUC,
one to change the test to use CACHED/LOAD).  It is not an error
though: if we don't have a controlled way to disable the stats of the
module, then the test would fail when calling the cached callback
because we'd try to allocate some memory for the dshash entry in
pgstats.

The second effect of initializing the shmem state of the module with
shared_preload_libraries is condition variables are set up for the
sake if the test, removing the dependency to the SQL load() call.
Both are OK, but I'd prefer introducing one use case for these two
macros in the tree, so as these can be used as a reference in the
future when developing new tests.
--
Michael

Commits

  1. Rework new SLRU test with injection points

  2. injection_point: Add injection_points.stats

  3. injection_points: Add initialization of shmem state when loading module

  4. Add injection-point test for new multixact CV usage

  5. Use conditional variable to wait for next MultiXact offset

  6. Improve performance of subsystems on top of SLRU

  7. Adjust VACUUM hastup LP_REDIRECT comments.

  8. Test replay of regression tests, attempt II.