v3-0002-Add-injection-point-for-OOM-failure-emulation.patch
text/x-diff
Filename: v3-0002-Add-injection-point-for-OOM-failure-emulation.patch
Type: text/x-diff
Part: 1
Patch
Format: format-patch
Series: patch v3-0002
Subject: Add injection point for OOM failure emulation
| File | + | − |
|---|---|---|
| src/backend/utils/activity/pgstat_shmem.c | 4 | 0 |
From 08178c5820364143bc039717a4ac98a27c0a4cdb Mon Sep 17 00:00:00 2001
From: Michael Paquier <michael@paquier.xyz>
Date: Thu, 4 Sep 2025 16:19:03 +0900
Subject: [PATCH v3 2/2] Add injection point for OOM failure emulation
---
src/backend/utils/activity/pgstat_shmem.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/backend/utils/activity/pgstat_shmem.c b/src/backend/utils/activity/pgstat_shmem.c
index 8f8b57e8ee8a..c48a52db1e88 100644
--- a/src/backend/utils/activity/pgstat_shmem.c
+++ b/src/backend/utils/activity/pgstat_shmem.c
@@ -14,6 +14,7 @@
#include "pgstat.h"
#include "storage/shmem.h"
+#include "utils/injection_point.h"
#include "utils/memutils.h"
#include "utils/pgstat_internal.h"
@@ -317,6 +318,9 @@ pgstat_init_entry(PgStat_Kind kind,
pg_atomic_init_u32(&shhashent->generation, 0);
shhashent->dropped = false;
+ if (IS_INJECTION_POINT_ATTACHED("pgstat-init-entry-oom"))
+ return NULL;
+
chunk = dsa_allocate_extended(pgStatLocal.dsa,
pgstat_get_kind_info(kind)->shared_size,
DSA_ALLOC_ZERO | DSA_ALLOC_NO_OOM);
--
2.51.0