From: Peter Geoghegan Date: Fri, 19 Aug 2022 00:34:12 +0000 (-0700) Subject: Initialize index stats during parallel VACUUM. X-Git-Tag: REL_15_BETA4~54 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=08c23f4204066aa86361eb6232d94284aa8dff00;p=thirdparty%2Fpostgresql.git Initialize index stats during parallel VACUUM. Initialize shared memory allocated for index stats to avoid a hard crash. This was possible when parallel VACUUM became confused about the current phase of index processing. Oversight in commit 8e1fae1938, which refactored parallel VACUUM. Author: Masahiko Sawada Reported-By: Justin Pryzby Discussion: https://postgr.es/m/20220818133406.GL26426@telsasoft.com Backpatch: 15-, the first version with the refactoring commit. --- diff --git a/src/backend/commands/vacuumparallel.c b/src/backend/commands/vacuumparallel.c index 1753da6c830..5c6f646eff9 100644 --- a/src/backend/commands/vacuumparallel.c +++ b/src/backend/commands/vacuumparallel.c @@ -317,6 +317,7 @@ parallel_vacuum_init(Relation rel, Relation *indrels, int nindexes, /* Prepare index vacuum stats */ indstats = (PVIndStats *) shm_toc_allocate(pcxt->toc, est_indstats_len); + MemSet(indstats, 0, est_indstats_len); for (int i = 0; i < nindexes; i++) { Relation indrel = indrels[i];