Re: parallel vacuum comments
Masahiko Sawada <sawada.mshk@gmail.com>
From: Masahiko Sawada <sawada.mshk@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: "houzj.fnst@fujitsu.com" <houzj.fnst@fujitsu.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>,
Peter Geoghegan <pg@bowt.ie>, Andres Freund <andres@anarazel.de>
Date: 2021-12-02T12:31:02Z
Lists: pgsql-hackers
Attachments
- v4-0003-Add-regression-test-cases-for-parallel-vacuum.patch (application/octet-stream) patch v4-0003
- v4-0001-Refactor-parallel-vacuum-to-remove-bitmap-related.patch (application/octet-stream) patch v4-0001
- v4-0002-Move-parallel-vacuum-code-to-vacuumparallel.c.patch (application/octet-stream) patch v4-0002
On Tue, Nov 30, 2021 at 4:45 PM Masahiko Sawada <sawada.mshk@gmail.com> wrote: > > On Tue, Nov 30, 2021 at 3:00 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > On Tue, Nov 30, 2021 at 11:03 AM houzj.fnst@fujitsu.com > > <houzj.fnst@fujitsu.com> wrote: > > > > > > On Mon, Nov 29, 2021 11:38 AM Masahiko Sawada <sawada.mshk@gmail.com> wrote: > > > > > > > > > > 2) > > > + /* Reinitialize the parallel context to relaunch parallel workers */ > > > + if (!pvs->first_time) > > > > > > It seems the ParallelVacuumState::first_time was not initialized before ? > > > > > > > Yeah, I also notice this while looking at the patch. > > Thank you for the comments, Amit and Hou. > > > > > One more thing it seems the patch has removed even the existing error > > callback from parallel_vacuum_main. I suggested that we can enhance or > > add a new one if required in a separate patch but let's keep the > > current one as it is. > > Understood. > > > > > Can we think of splitting the patch in the following manner: (a) the > > patch to get rid of bitmap to represent whether particular index > > supports parallel vacuum and rename of functions (b) any other stuff > > to improve the current implementation, (c) move the parallel vacuum > > related code to a separate file? > > Okay, I'll split the patch and submit them. > I've attached updated patches. The first patch is the main patch for refactoring parallel vacuum code; removes bitmap-related code and renames function names for consistency. The second patch moves these parallel-related codes to vacuumparallel.c as well as common functions that are used by both lazyvacuum.c and vacuumparallel.c to vacuum.c. The third patch adds regression tests for parallel vacuum on different kinds of indexes with multiple index scans. Please review them. Regards, -- Masahiko Sawada EDB: https://www.enterprisedb.com/
Commits
-
Move parallel vacuum code to vacuumparallel.c.
- 8e1fae193864 15.0 landed
-
Move index vacuum routines to vacuum.c.
- cc8b25712b5e 15.0 landed
-
Improve parallel vacuum implementation.
- 22bd3cbe0c28 15.0 landed
-
Fix parallel amvacuumcleanup safety bug.
- c59278a1aa5e 15.0 landed
- f6162c020c88 14.1 landed
-
Simplify state managed by VACUUM.
- b4af70cb2103 14.0 cited