From: | Ajin Cherian <itsajin(at)gmail(dot)com> |
---|---|
To: | shveta malik <shveta(dot)malik(at)gmail(dot)com> |
Cc: | Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Improve pg_sync_replication_slots() to wait for primary to advance |
Date: | 2025-08-14 01:58:26 |
Message-ID: | CAFPTHDbFrsK9eqYowitgWisROXgYEAH7SZ6fHD0FZ19-8Hc54g@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Aug 13, 2025 at 2:47 PM shveta malik <shveta(dot)malik(at)gmail(dot)com> wrote:
>
> On Mon, Aug 11, 2025 at 1:37 PM Ajin Cherian <itsajin(at)gmail(dot)com> wrote:
> >
> > On Fri, Aug 8, 2025 at 11:22 PM Ashutosh Bapat
> > <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com> wrote:
> > >
> > >
> > > There's also a minor merge conflict because func.sgml is not split
> > > into multiple files.
> > >
> >
> > Yes, I fixed this.
> >
>
> Thanks for the patch. Please find a few comments:
>
> 1)
> We can merge refresh_remote_slots and fetch_remote_slots by passing an
> argument of remote_list. If no remote_list passed, fetch all failover
> slots, else extend the query and fetch only the listed ones.
>
Done.
> 2)
> We can get rid of 'sync_iterations' and the logic within, as I think
> there is no need to distinguish between slotsync and API in terms of
> logs.
>
Done.
> 3)
> sync_start_pending is not needed to be passed to
> update_and_persist_local_synced_slot(), as the output of this function
> is good enough to tell whether slot is persisted or not.
>
> 4)
> Also how about having sync-pending in SlotSyncCtxStruct. It can be set
> unconditionally by both slotsync and API, but will be used by API. I
> think it can simplify the code.
>
Done.
> 5)
> We can get rid of 'pending_sync_start_slots', as it is not being used anywhere.
>
Fixed.
> 6)
> Also we can mention in comments as to why we are using the old
> remote_slots list in refresh_remote_slots() during subsequent cycles
> of API rather than using only the pending-slot list.
Done.
Patch v6 attached.
regards,
Ajin Cherian
Fujitsu Australia
Attachment | Content-Type | Size |
---|---|---|
v6-0001-Improve-initial-slot-synchronization-in-pg_sync_r.patch | application/octet-stream | 24.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Smith | 2025-08-14 02:04:12 | Re: [WIP]Vertical Clustered Index (columnar store extension) - take2 |
Previous Message | Peter Geoghegan | 2025-08-14 01:51:43 | Re: index prefetching |