- From 036a83e9c300a42386cd378022420e52a43b314f Mon Sep 17 00:00:00 2001
- From: Willy Tarreau <w@1wt.eu>
- Date: Tue, 16 Sep 2014 15:11:04 +0200
- Subject: [PATCH 11/13] MEDIUM: config: only warn if stats are attached to
- multi-process bind directives
-
- Some users want to have a stats frontend with one line per process, but while
- 100% valid and safe, the config parser emits a warning. Relax this check to
- ensure that the warning is only emitted if at least one of the listeners is
- bound to multiple processes, or if the directive is placed in a backend called
- from multiple processes (since in this case we don't know if it's safe).
- (cherry picked from commit eb791e03b5c5abfddb24a439fa6434788db026b7)
- ---
- src/cfgparse.c | 15 +++++++++++++--
- 1 file changed, 13 insertions(+), 2 deletions(-)
-
- diff --git a/src/cfgparse.c b/src/cfgparse.c
- index f3907bf..5668393 100644
- --- a/src/cfgparse.c
- +++ b/src/cfgparse.c
- @@ -7189,8 +7189,19 @@ out_uri_auth_compat:
-
- if (nbproc > 1) {
- if (curproxy->uri_auth) {
- - Warning("Proxy '%s': in multi-process mode, stats will be limited to process assigned to the current request.\n",
- - curproxy->id);
- + int count, maxproc = 0;
- +
- + list_for_each_entry(bind_conf, &curproxy->conf.bind, by_fe) {
- + count = popcount(bind_conf->bind_proc);
- + if (count > maxproc)
- + maxproc = count;
- + }
- + /* backends have 0, frontends have 1 or more */
- + if (maxproc != 1)
- + Warning("Proxy '%s': in multi-process mode, stats will be"
- + " limited to process assigned to the current request.\n",
- + curproxy->id);
- +
- if (!LIST_ISEMPTY(&curproxy->uri_auth->admin_rules)) {
- Warning("Proxy '%s': stats admin will not work correctly in multi-process mode.\n",
- curproxy->id);
- --
- 1.8.5.5
-
|