public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Fiona Ebner <f.ebner@proxmox.com>
To: Thomas Lamprecht <t.lamprecht@proxmox.com>,
	Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] [RFC common 2/2] REST environment: fork worker: install custom __WARN__ handler
Date: Mon, 5 Feb 2024 14:08:09 +0100	[thread overview]
Message-ID: <97bc5c53-2f6b-4ab9-8d01-2c289e3c4075@proxmox.com> (raw)
In-Reply-To: <74e70701-f306-422e-897e-76650451ea14@proxmox.com>

Am 05.02.24 um 13:39 schrieb Thomas Lamprecht:
> Am 05/02/2024 um 13:28 schrieb Fiona Ebner:
>> So all warnings will be treated consistently inside a worker task. In
>> particular, all warnings will count towards the task warning count and
>> be more visible in the UI. Avoids the need to switch existing warnings
>> to log_warn().
>>
>> When pvedaemon forked a worker, the worker would inherit its __WARN__
>> handler and also log any warnings to syslog, so make sure those
>> warnings are not less visible than before, by also logging to syslog.
>>
>> The same warning would not show up in syslog when the task was invoked
>> via the CLI instead, which was another inconsistency.
>>
>> The __WARN__ handler needs to increment the warning_count for warnings
>> issued with Perl's warn. But then in RESTEnvironment.pm's warn method,
>> warning_count cannot be incremented anymore, because otherwise a call
>> to log_warn() would increment it once, call warn, and then the
>> __WARN__ handler would increment it again. The variable is only ever
>> read in fork_worker(), so it is safe to just move the code
>> incrementing it to the __WARN__ handler, because that will be called
>> by both, Perl's warn and log_warn().
>>
>> This effectively makes log_warn() and RESTEnvironment.pm's warn method
>> not worth using anymore, so deprecate them.
>>
> 
> they where deliberately added though, warn and task-log warnings can
> be two very different things, which IMO should stay that way..

Then I misunderstood. I though the plan was to have all warnings show up
as task warnings in the long term. It feels a bit strange to me to have
two different kinds of warnings. We should document when log_warn()
should and shouldn't be used then. I honestly don't know.




  reply	other threads:[~2024-02-05 13:08 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-05 12:28 [pve-devel] [PATCH common 1/2] REST environment: warn helpers: use warn instead of printing to stderr Fiona Ebner
2024-02-05 12:28 ` [pve-devel] [RFC common 2/2] REST environment: fork worker: install custom __WARN__ handler Fiona Ebner
2024-02-05 12:39   ` Thomas Lamprecht
2024-02-05 13:08     ` Fiona Ebner [this message]
2024-02-05 12:38 ` [pve-devel] [PATCH common 1/2] REST environment: warn helpers: use warn instead of printing to stderr Thomas Lamprecht
2024-02-05 13:08   ` Fiona Ebner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=97bc5c53-2f6b-4ab9-8d01-2c289e3c4075@proxmox.com \
    --to=f.ebner@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    --cc=t.lamprecht@proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal