Re: Implement waiting for wal lsn replay: reloaded

From: Xuneng Zhou <xunengzhou(at)gmail(dot)com>
To: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Álvaro Herrera <alvherre(at)kurilemu(dot)de>, pgsql-hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Michael Paquier <michael(at)paquier(dot)xyz>, jian he <jian(dot)universality(at)gmail(dot)com>, Tomas Vondra <tomas(at)vondra(dot)me>, Yura Sokolov <y(dot)sokolov(at)postgrespro(dot)ru>
Subject: Re: Implement waiting for wal lsn replay: reloaded
Date: 2025-11-16 13:30:08
Message-ID: CABPTF7VSFbiOVT5P==FivBkmMuL+UcW8NwmHO5JzGxVORDFnfA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi!

On Sun, Nov 16, 2025 at 8:09 PM Alexander Korotkov <aekorotkov(at)gmail(dot)com> wrote:
>
> On Sat, Nov 8, 2025 at 12:02 AM Alexander Korotkov <aekorotkov(at)gmail(dot)com> wrote:
> > On Wed, Nov 5, 2025 at 4:03 PM Xuneng Zhou <xunengzhou(at)gmail(dot)com> wrote:
> > > On Wed, Nov 5, 2025 at 5:51 PM Alexander Korotkov <aekorotkov(at)gmail(dot)com> wrote:
> > > > On Mon, Nov 3, 2025 at 5:13 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
> > > > > On 2025-11-03 16:06:58 +0100, Álvaro Herrera wrote:
> > > > > > On 2025-Nov-03, Alexander Korotkov wrote:
> > > > > >
> > > > > > > I'd like to give this subject another chance for pg19. I'm going to
> > > > > > > push this if no objections.
> > > > > >
> > > > > > Sure. I don't understand why patches 0002 and 0003 are separate though.
> > > > >
> > > > > FWIW, I appreciate such splits. Even if the functionality isn't usable
> > > > > independently, it's still different type of code that's affected. And the
> > > > > patches are each big enough to make that worthwhile for easier review.
> > > >
> > > > Thank you for the feedback, pushed.
> > >
> > > Thanks for pushing them!
> > >
> > > > > One thing that'd be nice to do once we have WAIT FOR is to make the common
> > > > > case of wait_for_catchup() use this facility, instead of polling...
> > > >
> > > > The draft patch for that is attached. WAIT FOR doesn't handle all the
> > > > possible use cases of wait_for_catchup(), but I've added usage when
> > > > it's appropriate.
> > >
> > > Interesting, could this approach be extended to the flush and other
> > > modes as well? I might need to spend some time to understand it before
> > > I can provide a meaningful review.
> >
> > I think we might end up extending WaitLSNType enum. However, I hate
> > inHeap and heapNode arrays growing in WaitLSNProcInfo as they are
> > allocated per process. I found that we could optimize WaitLSNProcInfo
> > struct turning them into simple variables because a single process can
> > wait only for a single LSN at a time. Please, check the attached
> > patch.
>
> Here is the updated patch integrating minor corrections provided by
> Xuneng Zhou off-list. I'm going to push this if no objections.
>
> ------
> Regards,
> Alexander Korotkov
> Supabase

LGTM. Thanks.

--
Best,
Xuneng

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Xuneng Zhou 2025-11-16 14:01:04 Re: Implement waiting for wal lsn replay: reloaded
Previous Message Xuneng Zhou 2025-11-16 13:25:39 Re: Implement waiting for wal lsn replay: reloaded