Re: Confine vacuum skip logic to lazy_scan_skip

From: Melanie Plageman <melanieplageman(at)gmail(dot)com>
To: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Cc: Tomas Vondra <tomas(at)vondra(dot)me>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Noah Misch <noah(at)leadboat(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, "Andrey M(dot) Borodin" <x4mmm(at)yandex-team(dot)ru>
Subject: Re: Confine vacuum skip logic to lazy_scan_skip
Date: 2025-02-14 02:06:16
Message-ID: CAAKRu_Zbay2UeANcg-X455Q10nZJ_XH31Qph2wM4qDrZVa28JQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Feb 13, 2025 at 8:30 PM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
>
> On Thu, Feb 13, 2025 at 4:55 PM Melanie Plageman
> <melanieplageman(at)gmail(dot)com> wrote:
> >
> > We don't want to hang onto that pin for a
> > long time. But I can't move them to the bottom of the loop after we
> > release the buffer because some of the code paths don't make it that
> > far. I don't see a good way other than how I did it or special-casing
> > block 0. What do you think?
>
> How about adding 'vacrel->scanned_pages > 0' to the if statement?
> Which seems not odd to me.

Cool. I've done this in attached v19.

> Looking at the 0002 patch, it seems you reverted the change to the
> following comment:
>
> /*
> * Vacuum the Free Space Map to make newly-freed space visible on
> - * upper-level FSM pages. Note we have not yet processed blkno.
> + * upper-level FSM pages. Note we have not yet processed blkno+1.
> */
>
> I feel that the previous change I saw in v17 is clearer:

I've reverted to the old comment. Thanks

> The rest looks good to me.

Cool! I'll plan to push this tomorrow barring any objections.

- Melanie

Attachment Content-Type Size
v19-0001-Convert-heap_vac_scan_next_block-boolean-paramet.patch text/x-patch 6.1 KB
v19-0003-Use-streaming-read-I-O-in-VACUUM-s-third-phase.patch text/x-patch 4.3 KB
v19-0002-Use-streaming-read-I-O-in-VACUUM-s-first-phase.patch text/x-patch 11.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jonathan S. Katz 2025-02-14 02:08:21 Out-of-cycle release on 2025-02-20
Previous Message Masahiko Sawada 2025-02-14 01:29:43 Re: Confine vacuum skip logic to lazy_scan_skip