| From: | Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> |
|---|---|
| To: | shveta malik <shveta(dot)malik(at)gmail(dot)com> |
| Cc: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: pg_upgrade: optimize replication slot caught-up check |
| Date: | 2026-02-04 00:41:07 |
| Message-ID: | CAD21AoAs1f-n9qWRhrBzFJ-K7Z-V3miHnKXXH-Do_=GzBfBAqw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Fri, Jan 30, 2026 at 6:09 PM shveta malik <shveta(dot)malik(at)gmail(dot)com> wrote:
>
> On Fri, Jan 30, 2026 at 1:34 PM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
> >
> > On Thu, Jan 29, 2026 at 8:31 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> > >
> > > On Fri, Jan 30, 2026 at 9:45 AM shveta malik <shveta(dot)malik(at)gmail(dot)com> wrote:
> > > >
> > > > On Fri, Jan 30, 2026 at 2:15 AM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
> > > > >
> > > > > On Wed, Jan 28, 2026 at 10:06 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> > > > > >
> > > > > > On Wed, Jan 28, 2026 at 2:06 AM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
> > > > > > >
> > > > > > > I missed fixing one place. Attached the new version.
> > > > > > >
> > > > > >
> > > > > > One question/comment on following change:
> > > > > > + bool use_fast_caught_up_check;
> > > > > > +
> > > > > > + logical_slot_infos_query = get_old_cluster_logical_slot_infos_query(cluster,
> > > > > > + &use_fast_caught_up_check);
> > > > > > +
> > > > > > upgrade_task_add_step(task,
> > > > > > logical_slot_infos_query,
> > > > > > process_old_cluster_logical_slot_infos,
> > > > > > true, NULL);
> > > > > > +
> > > > > > + /*
> > > > > > + * Check whether slots have consumed all WAL records efficiently by
> > > > > > + * using another query, if not during a live_check.
> > > > > > + */
> > > > > > + if (use_fast_caught_up_check && !user_opts.live_check)
> > > > > > + {
> > > > > >
> > > > > > Won't this lead to two steps to set caught_up for slots in PG19 and
> > > > > > following versions? If so, is it possible to use just one step even
> > > > > > for PG19 and following versions?
> > > > >
> > > > > Yes, it seems like a good simplification. I've updated the patch accordingly.
> > > > >
> > > >
> > > > At first glance it looks like a simplification, but on closer look, it
> > > > actually makes the code harder to follow and more prone to errors if
> > > > someone modifies it in the future.
> > > >
> > >
> > > I think that is primarily because of the way code is arranged by the
> > > patch. I think it would be better to construct a complete query
> > > separately for fast and non-fast checks. There will be some repeated
> > > parts but the chances of mistakes will be less and it would be easier
> > > to follow.
> >
> > Agreed. I've updated that function accordingly.
>
> LGTM.
Thank you for reviewing the patch!
I'm going to push the patch unless there are further review comments.
Regards,
--
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Masahiko Sawada | 2026-02-04 00:54:57 | Re: [PATCH] Add max_logical_replication_slots GUC |
| Previous Message | Michael Paquier | 2026-02-04 00:37:52 | Re: Remove unused isCommit parameter from AtEOXact_LocalBuffers |