]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MAJOR: config: remove parsing of the global "nbproc" directive
authorWilly Tarreau <w@1wt.eu>
Fri, 11 Jun 2021 14:50:29 +0000 (16:50 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 11 Jun 2021 15:02:13 +0000 (17:02 +0200)
commitb63dbb7b2e2ae835c525d153f078803fa0c0c48c
tree6f954116963344696e63a75ad9ddf9f2eba54ba5
parenteb778248d90bf70749e673c7bdd630736615eb0a
MAJOR: config: remove parsing of the global "nbproc" directive

This one was deprecated in 2.3 and marked for removal in 2.5. It suffers
too many limitations compared to threads, and prevents some improvements
from being engaged. Instead of a bypassable startup error, there is now
a hard error.

The parsing code was removed, and very few obvious cases were as well.
The code is deeply rooted at certain places (e.g. "for" loops iterating
from 0 to nbproc) so it will not be that trivial to remove everywhere.
The "bind" and "bind-process" parsers will have to be adjusted, though
maybe not completely changed if we later want to support thread groups
for large NUMA machines. Some stats socket restrictions were removed,
and the doc was updated according to what was done. A few places in the
doc still refer to nbproc and will have to be revisited. The master-worker
code also refers to the process number to distinguish between master and
workers and will have to be carefully adjusted. The MAX_PROCS macro was
reset to 1, this will at least reduce the size of some remaining arrays.

Two regtests were dependieng on this directive, one with an explicit
"nbproc 1" and another one testing the master's CLI using nbproc 4.
Both were adapted.
admin/syntax-highlight/haproxy.vim
doc/configuration.txt
examples/option-http_proxy.cfg
include/haproxy/defaults.h
reg-tests/connection/proxy_protocol_random_fail.vtc
reg-tests/mcli/mcli_show_info.vtc
reg-tests/mcli/mcli_start_progs.vtc
src/cfgparse-global.c
src/cfgparse.c
src/haproxy.c