Re: Use streaming read I/O when enabling data checksums online

From: Xuneng Zhou <xunengzhou(at)gmail(dot)com>
To: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Cc: Daniel Gustafsson <daniel(at)yesql(dot)se>, cca5507 <cca5507(at)qq(dot)com>, Enrique Sanchez <enriqueesanchz(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Use streaming read I/O when enabling data checksums online
Date: 2026-08-24 13:06:20
Message-ID: CABPTF7WJGeHSFu9TmbCzVE63_V6WNmw_SPrDPoArTdBa_Okpkw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Andrey, all,

On Mon, Aug 24, 2026 at 8:32 PM Andrey Borodin <x4mmm(at)yandex-team(dot)ru> wrote:
>
> Hi ChangAo, Daniel, Enrique,
>
> On Mon, Jul 13, 2026 at 9:50 AM Daniel Gustafsson wrote:
> > Thanks for this work, I have it on my radar to review and commit for v20,
> > but will wait for the work of cleaning up and fixing the online checksums
> > code which is currrently ongoing for the beta period.
>
> I read v2 against the current online-checksum code and the earlier design
> thread. I did not find a correctness problem in the conversion.
> In particular, the fixed numblocks boundary is preserved, and ending the
> stream on abort releases the buffers read ahead by the stream.
>
> The main benefit of moving this path to ReadStream is that it can use the
> future direct I/O and asynchronous I/O infrastructure without double
> buffering. Enrique's results also show an immediate reduction in system
> calls and execution time.

I haven't looked into the details of this patch. It seems also helpful
to conduct some benchmarking for this patch on a simulated
high-latency storage as suggested by Andres [1]. It helps to tell the
story of performance winning more vividly.

[1] https://www.postgresql.org/message-id/dmf5ladi2amq656myv7zjl4pj4u3v2cp3azteliauifxizljej@bmwabkp5hdpi

--
Regards,
Xuneng Zhou
HighGo Software Co., Ltd.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Daniel Gustafsson 2026-08-24 13:12:11 Re: [PATCH] Fix use-after-free after failed pg_checksum_init
Previous Message Bertrand Drouvot 2026-08-24 13:04:19 Re: pgstat: Flush some statistics within running transactions, take 2