Remove extra Logging_collector check before calling SysLogger_Start()

Started by Bharath Rupireddyover 4 years ago5 messageshackers
Jump to latest
#1Bharath Rupireddy
bharath.rupireddyforpostgres@gmail.com

Hi,

It seems like there's an extra Logging_collector check before calling
SysLogger_Start(). Note that the SysLogger_Start() has a check to
return 0 if Logging_collector is off. This change is consistent with
the other usage of SysLogger_Start().

                /* If we have lost the log collector, try to start a new one */
-               if (SysLoggerPID == 0 && Logging_collector)
+               if (SysLoggerPID == 0)
                        SysLoggerPID = SysLogger_Start();

Attaching a tiny patch to fix. Thoughts?

Regards,
Bharath Rupireddy.

Attachments:

v1-0001-remove-extra-Logging_collector-check-before-SysLo.patchapplication/octet-stream; name=v1-0001-remove-extra-Logging_collector-check-before-SysLo.patchDownload+1-2
#2Daniel Gustafsson
daniel@yesql.se
In reply to: Bharath Rupireddy (#1)
Re: Remove extra Logging_collector check before calling SysLogger_Start()

On 3 Dec 2021, at 08:58, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> wrote:

It seems like there's an extra Logging_collector check before calling
SysLogger_Start(). Note that the SysLogger_Start() has a check to
return 0 if Logging_collector is off. This change is consistent with
the other usage of SysLogger_Start().

/* If we have lost the log collector, try to start a new one */
-               if (SysLoggerPID == 0 && Logging_collector)
+               if (SysLoggerPID == 0)
SysLoggerPID = SysLogger_Start();

I think the code reads clearer with the Logging_collector check left intact,
and avoiding a function call in this codepath doesn't hurt.

--
Daniel Gustafsson https://vmware.com/

#3Bharath Rupireddy
bharath.rupireddyforpostgres@gmail.com
In reply to: Daniel Gustafsson (#2)
Re: Remove extra Logging_collector check before calling SysLogger_Start()

On Fri, Dec 3, 2021 at 1:43 PM Daniel Gustafsson <daniel@yesql.se> wrote:

On 3 Dec 2021, at 08:58, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> wrote:

It seems like there's an extra Logging_collector check before calling
SysLogger_Start(). Note that the SysLogger_Start() has a check to
return 0 if Logging_collector is off. This change is consistent with
the other usage of SysLogger_Start().

/* If we have lost the log collector, try to start a new one */
-               if (SysLoggerPID == 0 && Logging_collector)
+               if (SysLoggerPID == 0)
SysLoggerPID = SysLogger_Start();

I think the code reads clearer with the Logging_collector check left intact,
and avoiding a function call in this codepath doesn't hurt.

In that case, can we remove if (!Logging_collector) within
SysLogger_Start() and have the check outside? This will save function
call costs in the other places too. The pgarch_start and
AutoVacuumingActive have checks outside PgArchStartupAllowed and
AutoVacuumingActive.

Regards,
Bharath Rupireddy.

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bharath Rupireddy (#3)
Re: Remove extra Logging_collector check before calling SysLogger_Start()

Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> writes:

On Fri, Dec 3, 2021 at 1:43 PM Daniel Gustafsson <daniel@yesql.se> wrote:

On 3 Dec 2021, at 08:58, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> wrote:

It seems like there's an extra Logging_collector check before calling
SysLogger_Start().

I think the code reads clearer with the Logging_collector check left intact,
and avoiding a function call in this codepath doesn't hurt.

In that case, can we remove if (!Logging_collector) within
SysLogger_Start() and have the check outside?

I think it's fine as-is; good belt-and-suspenders-too programming.
It's not like the extra check inside SysLogger_Start() is costly.

regards, tom lane

#5Michael Paquier
michael@paquier.xyz
In reply to: Tom Lane (#4)
Re: Remove extra Logging_collector check before calling SysLogger_Start()

On Fri, Dec 03, 2021 at 12:45:34PM -0500, Tom Lane wrote:

I think it's fine as-is; good belt-and-suspenders-too programming.
It's not like the extra check inside SysLogger_Start() is costly.

+1.
--
Michael