On Mon, Nov 1, 2021 at 7:15 AM Masahiko Sawada <sawada.mshk@gmail.com> wrote:
>
> On Sun, Oct 31, 2021 at 6:21 AM Andres Freund <andres@anarazel.de> wrote:
>
> > - Imo it's pretty confusing to have functions like
> > lazy_parallel_vacuum_indexes() (in 13, renamed in 14) that "Perform index
> > vacuum or index cleanup with parallel workers.", based on
> > lps->lvshared->for_cleanup.
>
> Okay. We need to set lps->lvshared->for_cleanup to tell worker do
> either index vacuum or index cleanup. So it might be better to pass
> for_cleanup flag down to the functions in addition to setting
> lps->lvshared->for_cleanup.
>
But, we need this information in the parallel worker as well to know
whether to perform index vacuum or clean up, so I guess we need this
information in shared memory, no?
> >
> >
> > - I don't like some of the new names introduced in 14. E.g.
> > "do_parallel_processing" is way too generic.
>
> I listed the function names that probably needs to be renamed from
> that perspecti:
>
> * do_parallel_processing
> * do_serial_processing_for_unsafe_indexes
> * parallel_process_one_index
>
> Is there any other function that should be renamed?
>
>
> > - On a higher level, a lot of this actually doesn't seem to belong into
> > vacuumlazy.c, but should be somewhere more generic. Pretty much none of this
> > code is heap specific. And vacuumlazy.c is large enough without the parallel
> > code.
>
> I don't come with an idea to make them more generic. Could you
> elaborate on that?
>
Can we think of moving parallelism-related code to a different file
(say vacuumparallel.c)? At least that will reduce the footprint of
vacuumlazy.c.
--
With Regards,
Amit Kapila.