pgsql: Add injection-point test for new multixact CV usage
Add injection-point test for new multixact CV usage
Before commit a0e0fb1ba56f, multixact.c contained a case in the
multixact-read path where it would loop sleeping 1ms each time until
another multixact-create path completed, which was uncovered by any
tests. That commit changed the code to rely on a condition variable
instead. Add a test now, which relies on injection points and "loading"
thereof (because of it being in a critical section), per commit
4b211003ecc2.
Author: Andrey Borodin <x4mmm@yandex-team.ru>
Reviewed-by: Michaël Paquier <michael@paquier.xyz>
Discussion: /messages/by-id/0925F9A9-4D53-4B27-A87E-3D83A757B0E0@yandex-team.ru
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/768a9fd5535fddb781088b6f83132b9a1b1f5bd3
Modified Files
--------------
src/backend/access/transam/multixact.c | 5 ++
src/test/modules/test_slru/Makefile | 7 +-
src/test/modules/test_slru/meson.build | 9 ++
src/test/modules/test_slru/t/001_multixact.pl | 124 ++++++++++++++++++++++++++
src/test/modules/test_slru/test_multixact.c | 57 ++++++++++++
src/test/modules/test_slru/test_slru--1.0.sql | 6 ++
6 files changed, 207 insertions(+), 1 deletion(-)
On Tue, Aug 20, 2024 at 9:35 PM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
Add injection-point test for new multixact CV usage
Before commit a0e0fb1ba56f, multixact.c contained a case in the
multixact-read path where it would loop sleeping 1ms each time until
another multixact-create path completed, which was uncovered by any
tests. That commit changed the code to rely on a condition variable
instead. Add a test now, which relies on injection points and "loading"
thereof (because of it being in a critical section), per commit
4b211003ecc2.Author: Andrey Borodin <x4mmm@yandex-team.ru>
Reviewed-by: Michaël Paquier <michael@paquier.xyz>
Discussion: /messages/by-id/0925F9A9-4D53-4B27-A87E-3D83A757B0E0@yandex-team.ruBranch
------
masterDetails
-------
https://git.postgresql.org/pg/commitdiff/768a9fd5535fddb781088b6f83132b9a1b1f5bd3Modified Files
--------------
src/backend/access/transam/multixact.c | 5 ++
src/test/modules/test_slru/Makefile | 7 +-
src/test/modules/test_slru/meson.build | 9 ++
src/test/modules/test_slru/t/001_multixact.pl | 124 ++++++++++++++++++++++++++
src/test/modules/test_slru/test_multixact.c | 57 ++++++++++++
src/test/modules/test_slru/test_slru--1.0.sql | 6 ++
6 files changed, 207 insertions(+), 1 deletion(-)
It seems that header files aren't alphabetically ordered here.
#include "storage/proc.h"
#include "storage/procarray.h"
#include "utils/fmgrprotos.h"
+#include "utils/injection_point.h"
#include "utils/guc_hooks.h"
#include "utils/memutils.h"
------
Regards,
Alexander Korotkov
Supabase