v24--v25-diff-for-0004.patch
text/x-patch
Filename: v24--v25-diff-for-0004.patch
Type: text/x-patch
Part: 5
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 v24
Subject: fixes for 0004
| File | + | − |
|---|---|---|
| src/backend/postmaster/autovacuum.c | 6 | 19 |
| src/test/modules/test_autovacuum/t/001_parallel_autovacuum.pl | 2 | 2 |
From deaf24759d8399f56d7e155758df7771f6ee628f Mon Sep 17 00:00:00 2001
From: Daniil Davidov <d.davydov@postgrespro.ru>
Date: Wed, 11 Mar 2026 17:53:09 +0700
Subject: [PATCH] fixes for 0004
---
src/backend/postmaster/autovacuum.c | 25 +++++--------------
.../t/001_parallel_autovacuum.pl | 4 +--
2 files changed, 8 insertions(+), 21 deletions(-)
diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c
index 869ca8f759b..7e994e88853 100644
--- a/src/backend/postmaster/autovacuum.c
+++ b/src/backend/postmaster/autovacuum.c
@@ -1410,18 +1410,7 @@ avl_sigusr2_handler(SIGNAL_ARGS)
static void
autovacuum_worker_before_shmem_exit(int code, Datum arg)
{
- int nreserved_old = av_nworkers_reserved;
-
AutoVacuumReleaseAllParallelWorkers();
-
- if (nreserved_old > 0)
- {
- elog(DEBUG2,
- ngettext("autovacuum worker before_shmem_exit: %d parallel worker has been released",
- "autovacuum worker before_shmem_exit: %d parallel workers has been released",
- nreserved_old - av_nworkers_reserved),
- nreserved_old - av_nworkers_reserved);
- }
}
/*
@@ -2507,20 +2496,12 @@ do_autovacuum(void)
}
PG_CATCH();
{
- int nreserved_workers = av_nworkers_reserved;
-
/*
* Parallel autovacuum can reserve parallel workers. Make sure
* that all reserved workers are released.
*/
AutoVacuumReleaseAllParallelWorkers();
- if (nreserved_workers > 0)
- ereport(DEBUG2,
- (errmsg("%d parallel autovacuum workers has been released after occured error",
- nreserved_workers),
- errhidecontext(true)));
-
/*
* Abort the transaction, start a new one, and proceed with the
* next table in our list.
@@ -3467,6 +3448,12 @@ AutoVacuumReleaseParallelWorkers(int nworkers)
/* Don't have to remember these workers anymore. */
av_nworkers_reserved -= nworkers;
+
+ elog(DEBUG2,
+ ngettext("autovacuum worker: %d parallel worker has been released",
+ "autovacuum worker: %d parallel workers has been released",
+ nworkers),
+ nworkers);
}
/*
diff --git a/src/test/modules/test_autovacuum/t/001_parallel_autovacuum.pl b/src/test/modules/test_autovacuum/t/001_parallel_autovacuum.pl
index 7f8b5a7b4d3..e5dacf59980 100644
--- a/src/test/modules/test_autovacuum/t/001_parallel_autovacuum.pl
+++ b/src/test/modules/test_autovacuum/t/001_parallel_autovacuum.pl
@@ -249,7 +249,7 @@ $log_start = $node->wait_for_log(
);
$log_start = $node->wait_for_log(
- qr/2 parallel autovacuum workers has been released after occured error/,
+ qr/autovacuum worker: 2 parallel workers has been released/,
$log_start
);
@@ -286,7 +286,7 @@ $node->safe_psql('postgres', qq{
});
$log_start = $node->wait_for_log(
- qr/autovacuum worker before_shmem_exit: 2 parallel workers has been released/,
+ qr/autovacuum worker: 2 parallel workers has been released/,
$log_start
);
--
2.43.0