BUG/MEDIUM: mworker: use default maxconn in wait mode

In bug #1751, it was reported that haproxy is consumming too much memory
since the 2.4 version. This is because of a change in the master, which
loses completely its configuration in wait mode, and lose its maxconn.

Without the maxconn, haproxy will try to compute one itself, and will
allocate RAM consequently, too much in our case. Which means the master
will have a too high maxconn and too much RAM allocated.

The patch fixes the issue by setting the maxconn to the default value
when re-executing the master in wait mode.

Must be backported as far as 2.5.
This commit is contained in:
William Lallemand 2022-06-21 11:11:50 +02:00
parent 4f5777a415
commit 0a012aa16b
1 changed files with 4 additions and 0 deletions

View File

@ -2244,6 +2244,10 @@ static void init(int argc, char **argv)
exit(1); exit(1);
} }
/* set the default maxconn in the master, but let it be rewritable with -n */
if (global.mode & MODE_MWORKER_WAIT)
global.maxconn = DEFAULT_MAXCONN;
if (cfg_maxconn > 0) if (cfg_maxconn > 0)
global.maxconn = cfg_maxconn; global.maxconn = cfg_maxconn;