Re: Skip vacuum log report code in lazy_scan_heap() if possible

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: "Bossart, Nathan" <bossartn(at)amazon(dot)com>
Cc: Greg Nancarrow <gregn4422(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Skip vacuum log report code in lazy_scan_heap() if possible
Date: 2021-12-03 00:53:22
Message-ID: Yalqgvj+JFdYS8pp@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Dec 02, 2021 at 10:22:25PM +0000, Bossart, Nathan wrote:
> Since I have no further comments, I went ahead and marked this once as
> ready-for-committer.

Well, as you say, lazy_scan_heap() is only run once per relation, so
that's not a hot code path. Looking at the callers of
message_level_is_interesting(), we apply that also in areas where a
lot of unnecessary work would be involved, like the drop of object
dependencies or ProcSleep() (I recall that there were profiles where
standby replies in walsender.c could show up). And based on the
amount of unnecessary work done at the end of lazy_scan_heap(), I'd
say that this is worth skipping, so let's do it.

There is always the argument that one may blindly add some logic at
the end of lazy_scan_heap(), causing it to be skipped depending on the
configuration, but that's unlikely going to happen after the activity
is logged, so I am fine to apply what you have here. Let's wait a bit
to see if others have any objections, first.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2021-12-03 01:02:56 Re: should we document an example to set multiple libraries in shared_preload_libraries?
Previous Message Bossart, Nathan 2021-12-03 00:45:56 Re: should we document an example to set multiple libraries in shared_preload_libraries?