Re: Speedup truncations of temporary relation forks
Fujii Masao <masao.fujii@oss.nttdata.com>
From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Daniil Davydov <3danissimo@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-06-02T03:45:59Z
Lists: pgsql-hackers
On 2025/05/31 23:23, Daniil Davydov wrote:
> Hi,
>
> On Sat, May 31, 2025 at 7:41 PM Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
>>
>> Here are a few review comments on the patch:
>>
>> + for (j = 0; j < nforks; j++)
>> {
>> - InvalidateLocalBuffer(bufHdr, true);
>> + if ((buf_state & BM_TAG_VALID) &&
>> + BufTagGetForkNum(&bufHdr->tag) == forkNum[j] &&
>> + bufHdr->tag.blockNum >= firstDelBlock[j])
>> + {
>> + InvalidateLocalBuffer(bufHdr, true);
>> + }
>>
>> It looks like the "buf_state & BM_TAG_VALID" check can be moved
>> outside the loop, along with the BufTagMatchesRelFileLocator() check.
>> That would avoid unnecessary looping.
>>
>> Also, should we add a "break" right after calling InvalidateLocalBuffer()?
>> Since the buffer has already been invalidated, continuing the loop
>> may not be necessary.
>
> Thanks for the review! I'll fix both remarks. Please see the v2 patch.
Thanks for updating the patch! I have no further comments.
Since both you and Dilip have confirmed the performance improvement by
the patch, probably we can mark this patch as Ready for Committer?
The actual commit will need to wait until development for v19 opens, though.
Regards,
--
Fujii Masao
NTT DATA Japan Corporation
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Speed up truncation of temporary relations.
- 78ebda66bf26 19 (unreleased) landed
-
Speedup truncations of relation forks.
- 6d05086c0a79 13.0 cited