Re: Do not fail WAL buffers read after on-disk xlog removal

From: shihao zhong <zhong950419(at)gmail(dot)com>
To: Kirill Reshke <reshkekirill(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Do not fail WAL buffers read after on-disk xlog removal
Date: 2026-10-25 15:19:02
Message-ID: CAGRkXqTe73SN1VU9YEcWDmTr1ncGnBo9v3-PdXb9T+Gp8+QZsg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Kirill,

The fix looks right to me. Your test fails 10 of 10 runs on master
and passes 10 of 10 with the fix.

A new walsender still fails, because its reader starts with
seg.ws_tli = 0, so the first read never uses the buffers. If I
terminate the paused walsender in your test, the receiver never
catches up, with or without the fix. Passing sendTimeLine fixes it
for me when wal_buffers is larger than a segment. Test and change
attached.

Also, the pg_stat_io check passes without the fix too, so I would drop
it. And since 16 never read from the buffers, I would keep this to
master.

Thanks,
Shihao

Attachment Content-Type Size
nocfbot-0001-reconnect-test.patch application/octet-stream 4.7 KB
nocfbot-0002-pass-sendTimeLine.patch application/octet-stream 871 bytes

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Baji Shaik 2026-10-25 15:23:54 Re: [PATCH] Fall back to serializing when parallel apply runs out of DSM segments
Previous Message Greg Burd 2026-10-25 14:28:26 Re: ZSTD TOAST compression, and an extensible compression method encoding