| From: | Alexander Korotkov <aekorotkov(at)gmail(dot)com> |
|---|---|
| To: | Xuneng Zhou <xunengzhou(at)gmail(dot)com> |
| Cc: | Jobin Augustine <jobin(dot)augustine(at)percona(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, pgsql-hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: test: avoid redundant standby catchup in 049_wait_for_lsn |
| Date: | 2026-11-14 11:00:11 |
| Message-ID: | CAPpHfdu6Wc268FiEvXMr75XS=BkNPYN0nj1+_N71b2gq2q4bZQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Sat, Nov 14, 2026 at 7:53 AM Xuneng Zhou <xunengzhou(at)gmail(dot)com> wrote:
> Thanks for looking into this!
>
> > Thanks to Xuneng for investigation, and thanks to Jobin for the
> > additional report.
> >
> > I actually don't like idea of new pg_current_wal_insert_end_lsn()
> > function for the following reasons:
> > 1) We should fix this for PG 19. But it's RC already, we should avoid
> > catversion bump if possible.
> > 2) There is probability that users would still use
> > pg_current_wal_insert_lsn() and hit to this problem.
> > 3) Additional compexity.
>
> Makes sense to me. I did not consider the potential issue of early-adapters..
>
> > I suggest that WAIT FOR LSN can normalize the LSN to be waited on its
> > side. There is no point one should wait for the LSN inside the page
> > header. The attached patch implements that. Optinions?
>
> Normalizing the LSN in ExecWaitStmt() before invoking WaitForLSN()
> seems good to me. It adds bits of extra cost which seems small and the
> WAIT does not sit in a hot path.
>
> The new test looks like it will fail on 32-bit systems, since it
> assumes 64-bit record and page header sizes. I'm wondering if we could
> use pg_switch_wal() instead? After a WAL switch, the insert LSN is
> just past the first segment page header, so size arithmetic is not
> needed. This only covers the long-header case, not ordinary pages, but
> that seems fine, since the mapping logic stays the same.
Good point, thank you!
Please, check v2 where pg_switch_wal() is used.
------
Regards,
Alexander Korotkov
Supabase
| Attachment | Content-Type | Size |
|---|---|---|
| v2-0001-Don-t-make-WAIT-FOR-LSN-depend-on-WAL-written-aft.patch | application/octet-stream | 7.1 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tatsuya Kawata | 2026-11-14 12:34:09 | Speed up hash join builds by linking tuples into buckets in groups |
| Previous Message | JoongHyuk Shin | 2026-11-14 10:53:39 | Re: [PATCH] Add recovery boundary WAL record for database and tablespace commands |