Re: parallel vacuum comments

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: "tanghy.fnst@fujitsu.com" <tanghy.fnst@fujitsu.com>
Cc: Masahiko Sawada <sawada.mshk@gmail.com>, "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-14T03:02:53Z
Lists: pgsql-hackers
On Tue, Dec 14, 2021 at 7:40 AM tanghy.fnst@fujitsu.com
<tanghy.fnst@fujitsu.com> wrote:
>
> On Monday, December 13, 2021 2:12 PM Masahiko Sawada <sawada.mshk@gmail.com> wrote:
> >
> > On Mon, Dec 13, 2021 at 2:09 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
> > >
> > > On Mon, Dec 13, 2021 at 10:33 AM Masahiko Sawada
> > <sawada.mshk@gmail.com> wrote:
> > > >
> > > > On Fri, Dec 10, 2021 at 9:08 PM Amit Kapila <amit.kapila16@gmail.com>
> > wrote:
> > > > >
> > > > > On Thu, Dec 9, 2021 at 6:05 PM Masahiko Sawada
> > <sawada.mshk@gmail.com> wrote:
> > > > > >
> > > > > > On Thu, Dec 9, 2021 at 7:44 PM Amit Kapila <amit.kapila16@gmail.com>
> > wrote:
> > > > > >
> > > > > > Agreed with the above two points.
> > > > > >
> > > > > > I've attached updated patches that incorporated the above comments
> > > > > > too. Please review them.
> > > > > >
> > > > >
> > > > > I have made the following minor changes to the 0001 patch: (a) An
> > > > > assert was removed from dead_items_max_items() which I added back. (b)
> > > > > Removed an unnecessary semicolon from one of the statements in
> > > > > compute_parallel_vacuum_workers(). (c) Changed comments at a few
> > > > > places. (d) moved all parallel_vacuum_* related functions together.
> > > > > (e) ran pgindent and slightly modify the commit message.
> > > > >
> > > > > Let me know what you think of the attached?
> > > >
> > > > Thank you for updating the patch!
> > > >
> > > > The patch also moves some functions, e.g., update_index_statistics()
> > > > is moved without code changes. I agree to move functions for
> > > > consistency but that makes the review hard and the patch complicated.
> > > > I think it's better to do improving the parallel vacuum code and
> > > > moving functions in separate patches.
> > > >
> > >
> > > Okay, I thought it might be better to keep all parallel_vacuum_*
> > > related functions together but we can keep that in a separate patch
> > > Feel free to submit without those changes.
> >
> > I've attached the patch. I've just moved some functions back but not
> > done other changes.
> >
>
> Thanks for your patch.
>
> I tested your patch and tried some cases, like large indexes, different types of indexes, it worked well.
>
> Besides, I noticed a typo as follows:
>
> +       /* Estimate size for index vacuum stats -- PARALLEL_VACUUM_KEY_STATS */
>
> "PARALLEL_VACUUM_KEY_STATS" should be "PARALLEL_VACUUM_KEY_INDEX_STATS".
>

Thanks, I can take care of this before committing. The v9-0001* looks
good to me as well, so, I am planning to commit that tomorrow unless I
see more comments or any objection to that. There is still pending
work related to moving parallel vacuum code to a separate file and a
few other pending comments that are still under discussion. We can
take care of those in subsequent patches. Do, let me know if you or
others think differently?

-- 
With Regards,
Amit Kapila.



Commits

  1. Move parallel vacuum code to vacuumparallel.c.

  2. Move index vacuum routines to vacuum.c.

  3. Improve parallel vacuum implementation.

  4. Fix parallel amvacuumcleanup safety bug.

  5. Simplify state managed by VACUUM.