From 54fda18ca79d1ab2626c8c5a5177f462a43f4976 Mon Sep 17 00:00:00 2001 From: Tomas Vondra Date: Fri, 7 Mar 2025 20:19:29 +0100 Subject: [PATCH v20250310 2/5] simple post-rebase fixes - Update checks in PostmasterStateMachine to account for datachecksum workers, etc. - Remove pgstat_bestart() call - it would need to be _initial(), but I don't think it's needed. - Update vacuum_delay_point() call. - Cast PID to long in elog call (same as we do in postmaster.c) --- src/backend/postmaster/datachecksumsworker.c | 7 ++----- src/backend/postmaster/postmaster.c | 5 +++++ src/backend/utils/activity/pgstat_backend.c | 2 ++ 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/backend/postmaster/datachecksumsworker.c b/src/backend/postmaster/datachecksumsworker.c index de7a077f9c2..b30d5481b06 100644 --- a/src/backend/postmaster/datachecksumsworker.c +++ b/src/backend/postmaster/datachecksumsworker.c @@ -450,7 +450,7 @@ ProcessSingleRelationFork(Relation reln, ForkNumber forkNum, BufferAccessStrateg if (abort_requested) return false; - vacuum_delay_point(); + vacuum_delay_point(false); } pfree(relns); @@ -587,7 +587,7 @@ ProcessDatabase(DataChecksumsWorkerDatabase *db) db->dbname))); snprintf(activity, sizeof(activity) - 1, - "Waiting for worker in database %s (pid %d)", db->dbname, pid); + "Waiting for worker in database %s (pid %ld)", db->dbname, (long) pid); pgstat_report_activity(STATE_RUNNING, activity); status = WaitForBackgroundWorkerShutdown(bgw_handle); @@ -752,9 +752,6 @@ DataChecksumsWorkerLauncherMain(Datum arg) */ BackgroundWorkerInitializeConnectionByOid(InvalidOid, InvalidOid, 0); - /* Initialize backend status information */ - pgstat_bestart(); - enabling_checksums = DataChecksumsWorkerShmem->launch_enable_checksums; DataChecksumsWorkerShmem->launcher_running = true; DataChecksumsWorkerShmem->enabling_checksums = enabling_checksums; diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index d2a7a7add6f..2fc438987b5 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -2947,6 +2947,11 @@ PostmasterStateMachine(void) B_INVALID, B_STANDALONE_BACKEND); + /* also add checksumming processes */ + remainMask = btmask_add(remainMask, + B_DATACHECKSUMSWORKER_LAUNCHER, + B_DATACHECKSUMSWORKER_WORKER); + /* All types should be included in targetMask or remainMask */ Assert((remainMask.mask | targetMask.mask) == BTYPE_MASK_ALL.mask); } diff --git a/src/backend/utils/activity/pgstat_backend.c b/src/backend/utils/activity/pgstat_backend.c index a9343b7b59e..f4b2f3b91d8 100644 --- a/src/backend/utils/activity/pgstat_backend.c +++ b/src/backend/utils/activity/pgstat_backend.c @@ -292,6 +292,8 @@ pgstat_tracks_backend_bktype(BackendType bktype) case B_BG_WRITER: case B_CHECKPOINTER: case B_STARTUP: + case B_DATACHECKSUMSWORKER_LAUNCHER: + case B_DATACHECKSUMSWORKER_WORKER: return false; case B_AUTOVAC_WORKER: -- 2.48.1