When a message is queued, waiting to be processed by a SPOE applet, there are some heuristic to know if a new applet must be created or not. There are 2 conditions to skip the applet creation: 1 - if there are enough idle applets on the current thread, or, 2 - if the processing rate on the current thread is high enough to handle this new message In the 2nd case, there is a flaw when the number of processed messages falls to zero while the processing rate is still greater than zero. In that case, we will skip the SPOE applet creation without taking care to check there is at least one applet on the current thread. So now, the conditions above to skip the SPOE applet creation are only evaluated if there is at least one applet on the current thread. This patch must be backported to every stable versions. (cherry picked from commit 5e84f13a0b3b915990a4e25ec9448fdbef3c1a14) Signed-off-by: Willy Tarreau <w@1wt.eu>
The HAProxy documentation has been split into a number of different files for ease of use. Please refer to the following files depending on what you're looking for : - INSTALL for instructions on how to build and install HAProxy - BRANCHES to understand the project's life cycle and what version to use - LICENSE for the project's license - CONTRIBUTING for the process to follow to submit contributions The more detailed documentation is located into the doc/ directory : - doc/intro.txt for a quick introduction on HAProxy - doc/configuration.txt for the configuration's reference manual - doc/lua.txt for the Lua's reference manual - doc/SPOE.txt for how to use the SPOE engine - doc/network-namespaces.txt for how to use network namespaces under Linux - doc/management.txt for the management guide - doc/regression-testing.txt for how to use the regression testing suite - doc/peers.txt for the peers protocol reference - doc/coding-style.txt for how to adopt HAProxy's coding style - doc/internals for developer-specific documentation (not all up to date)
Description
Languages
Shell
100%