From: | Melanie Plageman <melanieplageman(at)gmail(dot)com> |
---|---|
To: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
Cc: | David Rowley <dgrowleyml(at)gmail(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Andres Freund <andres(at)anarazel(dot)de> |
Subject: | Re: Streaming read-ready sequential scan code |
Date: | 2024-04-07 01:33:51 |
Message-ID: | CAAKRu_aU60EFTLnB86FY9NUT1KqjzjLC2u+DqBtBLWi_ZooFpQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sat, Apr 6, 2024 at 9:25 PM Thomas Munro <thomas(dot)munro(at)gmail(dot)com> wrote:
>
> I found a bug in read_stream.c that could be hit with Melanie's
> streaming seq scan patch with parallelism enabled and certain buffer
> pool conditions. Short version: there is an edge case where an "if"
> needed to be a "while", or we could lose a few blocks. Here's the fix
> for that, longer explanation in commit message.
Attached v13 0001 is your fix and 0002 is a new version of the
sequential scan streaming read user. Off-list Andres mentioned that I
really ought to separate the parallel and serial sequential scan users
into two different callbacks. I've done that in the attached. It
actually makes the code used by the callbacks nicer and more readable
anyway (putting aside performance). I was able to measure a small
performance difference as well.
I've also added a few comments and improved existing comments.
- Melanie
Attachment | Content-Type | Size |
---|---|---|
v13-0002-Use-streaming-IO-in-heapam-sequential-and-TID-ra.patch | text/x-patch | 12.9 KB |
v13-0001-Fix-bug-in-read_stream.c.patch | text/x-patch | 1.6 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2024-04-07 01:39:17 | Re: Flushing large data immediately in pqcomm |
Previous Message | Thomas Munro | 2024-04-07 01:25:11 | Re: Streaming read-ready sequential scan code |