On Wed, 7 Oct 2026 at 14:29, Willy Tarreau <[email protected]> wrote:
> However I'm noticing that in 3.5-dev1 we committed this:
>
>   960fa1c921 ("BUG/MINOR: cpu-topo: use ha_diag_notice() to report thread 
> creations")
>
> and it states:
>
>   Using ha_diag_warning() to report the number of threads created resulted
>   in warnings being counted and possibly an error being fired when combined
>   with -dW (...)
>
> Which is exactly what you're documenting. I didn't realize by then that it
> was due to a behavior change but it seems that it already got accepted as
> a matter of fact anyway.

Ah, I didn't know that.

Indeed the function was introduced in the prior commit 7d63efa5f5 which states:

  Right now the only way to report info that is only displayed in diag
  mode with -dD is to use ha_diag_warning(). The problem is that this
  then counted as a warning and may result in errors when combined
  with -dW, as happens for the CPU topology info:



> [...]
> > Trying to address both use-cases with the same exact feature/flag may
> > not be possible, although I thought the latter use-case could be
> > achieved with the combination of zero-warning and diag mode.
>
> Given that, as you reported, it's already used (and incorrectly) to
> report warnings and preventing the system from starting for the last
> 5 versions, I think at the very least we need to integrate your patch
> which documents the current behavior. However I'd also like to mention
> there that new diags *are* going to be backported from time to time,
> and that they are just a debugging aid and that this is absolutely not
> supposed to be used as a validity check since pretty valid configs
> will trigger it. I just want to limit the situations where people use
> that as an extra config check that it is not. However if they just want
> to compare reports over time as a preventive way to avoid mistakes,
> that might work if they only use that to trigger a message that the
> admin will check later.

So right now we use both ha_diag_warning() - reacting to zero-warning
- and ha_diag_notice() ignoring zero-warning.

So I guess the documentation will have to reflect that the behaviour
is not all diagnostic messages behave the same, unless we decide to
chance the code.

Something like:

-dD : enable diagnostic mode. This mode will output extra warnings about
      suspicious configuration statements. Some outputs will prevent startup
      in "zero-warning" mode.


Lukas


Reply via email to