Re: pgsql: reindexdb: Add the index-level REINDEX with multiple jobs - Mailing list pgsql-hackers

From Alexander Korotkov
Subject Re: pgsql: reindexdb: Add the index-level REINDEX with multiple jobs
Date
Msg-id CAPpHfdteHycyc2WjXx06kseek3YO_Yaii158i3wOkwm82=HMyg@mail.gmail.com
Whole thread Raw
In response to Re: pgsql: reindexdb: Add the index-level REINDEX with multiple jobs  (Álvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: pgsql: reindexdb: Add the index-level REINDEX with multiple jobs
List pgsql-hackers
On Fri, Mar 7, 2025 at 8:20 PM Álvaro Herrera <alvherre@alvh.no-ip.org> wrote:
>
> On 2024-Mar-25, Alexander Korotkov wrote:
>
> > reindexdb: Add the index-level REINDEX with multiple jobs
> >
> > Straight-forward index-level REINDEX is not supported with multiple jobs as
> > we cannot control the concurrent processing of multiple indexes depending on
> > the same relation.  Instead, we dedicate the whole table to certain reindex
> > job.  Thus, if indexes in the lists belong to different tables, that gives us
> > a fair level of parallelism.
>
> I tested this, because of a refactoring suggestion [1] and I find that
> it's rather completely broken.

The code was written with assumption that running
run_reindex_command() with async == true can schedule a number of
queries for a connection.  But actually that's not true and everything
is broken.

------
Regards,
Alexander Korotkov
Supabase



pgsql-hackers by date:

Previous
From: Alexander Korotkov
Date:
Subject: Re: pgsql: reindexdb: Add the index-level REINDEX with multiple jobs
Next
From: Alexander Korotkov
Date:
Subject: Re: pg_atomic_compare_exchange_*() and memory barriers