mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-21 05:00:42 +00:00
haproxy public development tree
0a52c17f81
When the server weight is increased in consistant hash, extra nodes have to be allocated. So a realloc() is performed on the nodes array of the server. the previous commit 962ea7732 ("BUG/MEDIUM: lb-chash: Remove all server's entries before realloc() to re-insert them after") have fixed the size used during the realloc() to avoid segfaults. But another bug remains. After the realloc(), the memory area allocated for the nodes array may change, invalidating all node addresses in the chash tree. So, to fix the bug, we must remove all server's entries from the chash tree before the realloc to insert all of them after, old nodes and new ones. The insert will be automatically handled by the loop at the end of the function chash_queue_dequeue_srv(). Note that if the call to realloc() failed, no new entries will be created for the server, so the effective server weight will be unchanged. This issue was reported on Github (#189). This patch must be backported to all versions since the 1.6. |
||
---|---|---|
.github/ISSUE_TEMPLATE | ||
contrib | ||
doc | ||
ebtree | ||
examples | ||
include | ||
reg-tests | ||
scripts | ||
src | ||
tests | ||
.cirrus.yml | ||
.gitignore | ||
.travis.yml | ||
BRANCHES | ||
CHANGELOG | ||
CONTRIBUTING | ||
INSTALL | ||
LICENSE | ||
MAINTAINERS | ||
Makefile | ||
README | ||
ROADMAP | ||
SUBVERS | ||
VERDATE | ||
VERSION |
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)