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.
next prev parent 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.