V6_0002-Implements-logging-for-parallel-worker-usage-in-inde.patch

text/x-patch

Filename: V6_0002-Implements-logging-for-parallel-worker-usage-in-inde.patch
Type: text/x-patch
Part: 1
Message: Re: Logging parallel worker draught

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 0002
Subject: Implements logging for parallel worker usage in index builds
File+
src/backend/access/brin/brin.c 7 0
src/backend/access/nbtree/nbtsort.c 7 0
From 2ac1032e64e30c65863b76a4616fc509e7be6fe0 Mon Sep 17 00:00:00 2001
From: benoit <benoit.lobreau@dalibo.com>
Date: Tue, 8 Oct 2024 12:45:03 +0200
Subject: [PATCH 2/5] Implements logging for parallel worker usage in index
 builds

Two types of index are concerned: brin and btree.
---
 src/backend/access/brin/brin.c      | 7 +++++++
 src/backend/access/nbtree/nbtsort.c | 7 +++++++
 2 files changed, 14 insertions(+)

diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c
index 4289142e20b..a081974fe2c 100644
--- a/src/backend/access/brin/brin.c
+++ b/src/backend/access/brin/brin.c
@@ -2544,6 +2544,13 @@ _brin_end_parallel(BrinLeader *brinleader, BrinBuildState *state)
 	/* Shutdown worker processes */
 	WaitForParallelWorkersToFinish(brinleader->pcxt);
 
+	if (LoggingParallelWorkers(log_parallel_workers,
+							   brinleader->pcxt->nworkers_to_launch,
+							   brinleader->pcxt->nworkers_launched))
+		elog(LOG, "launched %i parallel workers (planned: %i)",
+			brinleader->pcxt->nworkers_launched,
+			brinleader->pcxt->nworkers_to_launch);
+
 	/*
 	 * Next, accumulate WAL usage.  (This must wait for the workers to finish,
 	 * or we might get incomplete data.)
diff --git a/src/backend/access/nbtree/nbtsort.c b/src/backend/access/nbtree/nbtsort.c
index 7aba852db90..db3f19bcf50 100644
--- a/src/backend/access/nbtree/nbtsort.c
+++ b/src/backend/access/nbtree/nbtsort.c
@@ -1614,6 +1614,13 @@ _bt_end_parallel(BTLeader *btleader)
 	/* Shutdown worker processes */
 	WaitForParallelWorkersToFinish(btleader->pcxt);
 
+	if (LoggingParallelWorkers(log_parallel_workers,
+							   btleader->pcxt->nworkers_to_launch,
+							   btleader->pcxt->nworkers_launched))
+		elog(LOG, "launched %i parallel workers (planned: %i)",
+			btleader->pcxt->nworkers_launched,
+			btleader->pcxt->nworkers_to_launch);
+
 	/*
 	 * Next, accumulate WAL usage.  (This must wait for the workers to finish,
 	 * or we might get incomplete data.)
-- 
2.47.0