v1-0001-Fix-missing-initialization-of-delayChkptEnd_10.patch
application/octet-stream
Filename: v1-0001-Fix-missing-initialization-of-delayChkptEnd_10.patch
Type: application/octet-stream
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch v1-0001
Subject: Fix missing initialization of delayChkptEnd
| File | + | − |
|---|---|---|
| src/backend/storage/ipc/procarray.c | 1 | 0 |
| src/backend/storage/lmgr/proc.c | 4 | 2 |
From 8c7a35f44ab2a062d771d5ea1e9bdc47675d5408 Mon Sep 17 00:00:00 2001 From: "suyu.cmj" <mengjuan.cmj@alibaba-inc.com> Date: Wed, 7 Jun 2023 02:07:52 +0000 Subject: [PATCH] Fix missing initialization of delayChkptEnd Add initialization of delayChkptEnd to prevent new backend from using the previous value. --- src/backend/storage/ipc/procarray.c | 1 + src/backend/storage/lmgr/proc.c | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c index 70034fa3bc..5ab689c5da 100644 --- a/src/backend/storage/ipc/procarray.c +++ b/src/backend/storage/ipc/procarray.c @@ -638,6 +638,7 @@ ProcArrayClearTransaction(PGPROC *proc) /* redundant, but just in case */ pgxact->vacuumFlags &= ~PROC_VACUUM_STATE_MASK; pgxact->delayChkpt = false; + proc->delayChkptEnd = false; /* Clear the subtransaction-XID cache too */ pgxact->nxids = 0; diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c index e5370df019..0efee8411e 100644 --- a/src/backend/storage/lmgr/proc.c +++ b/src/backend/storage/lmgr/proc.c @@ -377,7 +377,8 @@ InitProcess(void) MyProc->databaseId = InvalidOid; MyProc->roleId = InvalidOid; MyProc->isBackgroundWorker = IsBackgroundWorker; - MyPgXact->delayChkpt = 0; + MyPgXact->delayChkpt = false; + MyProc->delayChkptEnd = false; MyPgXact->vacuumFlags = 0; /* NB -- autovac launcher intentionally does not set IS_AUTOVACUUM */ if (IsAutoVacuumWorkerProcess()) @@ -550,7 +551,8 @@ InitAuxiliaryProcess(void) MyProc->databaseId = InvalidOid; MyProc->roleId = InvalidOid; MyProc->isBackgroundWorker = IsBackgroundWorker; - MyPgXact->delayChkpt = 0; + MyPgXact->delayChkpt = false; + MyProc->delayChkptEnd = false; MyPgXact->vacuumFlags = 0; MyProc->lwWaiting = false; MyProc->lwWaitMode = 0; -- 2.19.1.6.gb485710b