Re: Improve pg_sync_replication_slots() to wait for primary to advance

Ajin Cherian <itsajin@gmail.com>

From: Ajin Cherian <itsajin@gmail.com>
To: shveta malik <shveta.malik@gmail.com>
Cc: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, Ashutosh Sharma <ashu.coek88@gmail.com>, Amit Kapila <amit.kapila16@gmail.com>, PostgreSQL mailing lists <pgsql-hackers@postgresql.org>
Date: 2025-10-22T04:55:17Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Enhance slot synchronization API to respect promotion signal.

  2. Fix inconsistent elevel in pg_sync_replication_slots() retry logic.

  3. Refactor slot synchronization logic in slotsync.c.

  4. Fix intermittent BF failure in 040_standby_failover_slots_sync.

  5. Add retry logic to pg_sync_replication_slots().

  6. Fix LOCK_TIMEOUT handling in slotsync worker.

  7. Add slotsync skip statistics.

Attachments

On Wed, Oct 15, 2025 at 7:38 PM shveta malik <shveta.malik@gmail.com> wrote:
>
> On Wed, Oct 15, 2025 at 9:57 AM Ajin Cherian <itsajin@gmail.com> wrote:
> >
> >
> > Updated the patch with a tap test.
> > Attaching patch v17 which has a tap test to test the feature added.
> >
>
> Thanks for the patch. I noticed that in the case of API, we are
> passing 'some_slot_updated' as always false to
> wait_for_slot_activity(). Shouldn't we pass it as actual value just
> like slotsync worker does? There may be a case that in a given cycle,
> one of the temp slots is persisted or one of the persisted slots is
> updated, in such a case we should not double the naptime. The naptime
> doubling logic is only when there is no activity happening on primary.
>

I've modified this accordingly

On Wed, Oct 15, 2025 at 8:29 PM shveta malik <shveta.malik@gmail.com> wrote:
>
> On Wed, Oct 15, 2025 at 2:08 PM shveta malik <shveta.malik@gmail.com> wrote:
> >
> > On Wed, Oct 15, 2025 at 9:57 AM Ajin Cherian <itsajin@gmail.com> wrote:
> > >
> > >
> > > Updated the patch with a tap test.
> > > Attaching patch v17 which has a tap test to test the feature added.
> > >
> >
>
> Test also needs correction. It seems the existing test of 'Test
> logical failover slots corresponding to different plugins can be
> synced to the standby.' is disturbed. If it is already tested and need
> not be covered again, then comments need to be changed to clarify
> that; otherwise the test needs to be brought back.

I've modified the comments to reflect the new changes.

attaching patch v18 with the above changes.

regards,
Ajin Cherian
Fujitsu Australia