Re: Confine vacuum skip logic to lazy_scan_skip

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Melanie Plageman <melanieplageman(at)gmail(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>
Subject: Re: Confine vacuum skip logic to lazy_scan_skip
Date: 2024-03-06 19:55:21
Message-ID: 1eeccf12-d5d1-4b7e-b88b-7342410129d7@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 27/02/2024 21:47, Melanie Plageman wrote:
> The attached v5 has some simplifications when compared to v4 but takes
> largely the same approach.
>
> 0001-0004 are refactoring

I'm looking at just these 0001-0004 patches for now. I like those
changes a lot for the sake of readablity even without any of the later
patches.

I made some further changes. I kept them as separate commits for easier
review, see the commit messages for details. Any thoughts on those changes?

I feel heap_vac_scan_get_next_block() function could use some love.
Maybe just some rewording of the comments, or maybe some other
refactoring; not sure. But I'm pretty happy with the function signature
and how it's called.

BTW, do we have tests that would fail if we botched up
heap_vac_scan_get_next_block() so that it would skip pages incorrectly,
for example? Not asking you to write them for this patch, but I'm just
wondering.

--
Heikki Linnakangas
Neon (https://neon.tech)

Attachment Content-Type Size
v6-0001-lazy_scan_skip-remove-unneeded-local-var-nskippab.patch text/x-patch 1.7 KB
v6-0002-Add-lazy_scan_skip-unskippable-state-to-LVRelStat.patch text/x-patch 15.8 KB
v6-0003-Confine-vacuum-skip-logic-to-lazy_scan_skip.patch text/x-patch 14.0 KB
v6-0004-Remove-unneeded-vacuum_delay_point-from-heap_vac_.patch text/x-patch 1.0 KB
v6-0005-Remove-unused-skipping_current_range-field.patch text/x-patch 812 bytes
v6-0006-Move-vmbuffer-back-to-a-local-varible-in-lazy_sca.patch text/x-patch 10.4 KB
v6-0007-Rename-skip_state.patch text/x-patch 5.0 KB
v6-0008-Track-current_block-in-the-skip-state.patch text/x-patch 4.2 KB
v6-0009-Comment-whitespace-cleanup.patch text/x-patch 4.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Korotkov 2024-03-06 19:55:46 Re: Transaction timeout
Previous Message Stephen Frost 2024-03-06 19:28:44 Re: Provide a pg_truncate_freespacemap function