From a5194607aba10cf7081ea831d3cfa0b9cc09a3b8 Mon Sep 17 00:00:00 2001 From: William Dauchy Date: Sat, 28 Mar 2020 19:29:58 +0100 Subject: [PATCH] MINOR: config: make strict limits enabled by default as agreed a few months ago, enable strict-limits for v2.3 update configuration manual accordingly Signed-off-by: William Dauchy --- doc/configuration.txt | 11 +++++------ src/cfgparse-global.c | 2 -- src/haproxy.c | 17 +++++++---------- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/doc/configuration.txt b/doc/configuration.txt index b1711b219..73bb2f4a0 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -1581,12 +1581,11 @@ wurfl-cache-size with USE_WURFL=1. strict-limits - Makes process fail at startup when a setrlimit fails. Haproxy is tries to set - the best setrlimit according to what has been calculated. If it fails, it - will emit a warning. Use this option if you want an explicit failure of - haproxy when those limits fail. This option is disabled by default. If it has - been enabled, it may still be forcibly disabled by prefixing it with the "no" - keyword. + Makes process fail at startup when a setrlimit fails. Haproxy tries to set the + best setrlimit according to what has been calculated. If it fails, it will + emit a warning. This option is here to guarantee an explicit failure of + haproxy when those limits fail. It is enabled by default. It may still be + forcibly disabled by prefixing it with the "no" keyword. 3.2. Performance tuning ----------------------- diff --git a/src/cfgparse-global.c b/src/cfgparse-global.c index ea47bbd6a..d220a2cd1 100644 --- a/src/cfgparse-global.c +++ b/src/cfgparse-global.c @@ -1205,8 +1205,6 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm) goto out; if (kwm == KWM_NO) global.tune.options &= ~GTUNE_STRICT_LIMITS; - else - global.tune.options |= GTUNE_STRICT_LIMITS; } else if (!strcmp(args[0], "localpeer")) { if (alertif_too_many_args(1, file, linenum, args, &err_code)) diff --git a/src/haproxy.c b/src/haproxy.c index 786dd167f..6c5566467 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -1791,6 +1791,7 @@ static void init(int argc, char **argv) #ifdef USE_THREAD global.tune.options |= GTUNE_IDLE_POOL_SHARED; #endif + global.tune.options |= GTUNE_STRICT_LIMITS; pid = getpid(); progname = *argv; @@ -3171,8 +3172,7 @@ int main(int argc, char **argv) if (setrlimit(RLIMIT_NOFILE, &limit) != -1) getrlimit(RLIMIT_NOFILE, &limit); - ha_warning("[%s.main()] Cannot raise FD limit to %d, limit is %d. " - "This will fail in >= v2.3\n", + ha_warning("[%s.main()] Cannot raise FD limit to %d, limit is %d.\n", argv[0], global.rlimit_nofile, (int)limit.rlim_cur); global.rlimit_nofile = limit.rlim_cur; } @@ -3191,8 +3191,7 @@ int main(int argc, char **argv) exit(1); } else - ha_warning("[%s.main()] Cannot fix MEM limit to %d megs." - "This will fail in >= v2.3\n", + ha_warning("[%s.main()] Cannot fix MEM limit to %d megs.\n", argv[0], global.rlimit_memmax); } #else @@ -3204,8 +3203,7 @@ int main(int argc, char **argv) exit(1); } else - ha_warning("[%s.main()] Cannot fix MEM limit to %d megs." - "This will fail in >= v2.3\n", + ha_warning("[%s.main()] Cannot fix MEM limit to %d megs.\n", argv[0], global.rlimit_memmax); } #endif @@ -3391,8 +3389,7 @@ int main(int argc, char **argv) } else ha_alert("[%s.main()] FD limit (%d) too low for maxconn=%d/maxsock=%d. " - "Please raise 'ulimit-n' to %d or more to avoid any trouble." - "This will fail in >= v2.3\n", + "Please raise 'ulimit-n' to %d or more to avoid any trouble.\n", argv[0], (int)limit.rlim_cur, global.maxconn, global.maxsock, global.maxsock); } @@ -3674,7 +3671,7 @@ int main(int argc, char **argv) } else ha_warning("[%s.main()] Failed to set the raise the maximum " - "file size. This will fail in >= v2.3\n", argv[0]); + "file size.\n", argv[0]); } #endif @@ -3688,7 +3685,7 @@ int main(int argc, char **argv) } else ha_warning("[%s.main()] Failed to set the raise the core " - "dump size. This will fail in >= v2.3\n", argv[0]); + "dump size.\n", argv[0]); } #endif