Re: Fix parallel vacuum buffer usage reporting - Mailing list pgsql-hackers

From Nazir Bilal Yavuz
Subject Re: Fix parallel vacuum buffer usage reporting
Date
Msg-id CAN55FZ0RQZHTe=UPGgYLJw06V6ZrtNVrj1egYMtu7__bWxA9=A@mail.gmail.com
Whole thread Raw
In response to Re: Fix parallel vacuum buffer usage reporting  (Masahiko Sawada <sawada.mshk@gmail.com>)
Responses Re: Fix parallel vacuum buffer usage reporting
Re: Fix parallel vacuum buffer usage reporting
List pgsql-hackers
Hi,

Thank you for working on this!

On Wed, 1 May 2024 at 06:37, Masahiko Sawada <sawada.mshk@gmail.com> wrote:
>
> Thank you for further testing! I've pushed the patch.

I realized a behaviour change while looking at 'Use pgBufferUsage for
block reporting in analyze' thread [1]. Since that change applies here
as well, I thought it is better to mention it here.

Before this commit, VacuumPageMiss did not count the blocks if its
read was already completed by other backends [2]. Now,
'pgBufferUsage.local_blks_read + pgBufferUsage.shared_blks_read'
counts every block attempted to be read; possibly double counting if
someone else has already completed the read. I do not know which
behaviour is correct but I wanted to mention this.

[1] https://postgr.es/m/CAO6_Xqr__kTTCLkftqS0qSCm-J7_xbRG3Ge2rWhucxQJMJhcRA%40mail.gmail.com

[2] In the WaitReadBuffers() function, see comment:
        /*
         * Skip this block if someone else has already completed it.  If an
         * I/O is already in progress in another backend, this will wait for
         * the outcome: either done, or something went wrong and we will
         * retry.
         */

-- 
Regards,
Nazir Bilal Yavuz
Microsoft



pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: consider -Wmissing-variable-declarations
Next
From: Michael Paquier
Date:
Subject: Re: Use pgBufferUsage for block reporting in analyze