Skip to content

Commit

Permalink
MINOR: log/balance: rename "log-sticky" to "sticky"
Browse files Browse the repository at this point in the history
After giving it some thought, it could pretty well happen that other
protocols benefit from the sticky algorithm that some used to emulate
using a "stick-on int(0)" or things like this previously. So better
rename it to "sticky" right now instead of having to keep that "log-"
prefix forever. It's still limited to logs, of course, only the algo
is renamed in the config.
  • Loading branch information
wtarreau committed Nov 23, 2023
1 parent 75ec739 commit cd352c0
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 5 deletions.
5 changes: 3 additions & 2 deletions doc/configuration.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4932,12 +4932,13 @@ balance url_param <param> [check_post]
This algorithm is only usable for backends in LOG mode, for
others, please use "hash" instead.

log-sticky Tries to stick to the same server as much as possible. The
sticky Tries to stick to the same server as much as possible. The
first server in the list of available servers receives all
the log messages. When the server goes DOWN, the next server
in the list takes its place. When a previously DOWN server
goes back UP it is added at the end of the list so that the
sticky server doesn't change until it becomes DOWN.
sticky server doesn't change until it becomes DOWN. This
algorithm is only usable for backends in LOG mode.

<arguments> is an optional list of arguments which may be needed by some
algorithms. Right now, only "url_param", "uri" and "log-hash"
Expand Down
2 changes: 1 addition & 1 deletion reg-tests/log/log_backend.vtc
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ haproxy h1 -conf {

backend mylog-failover
mode log
balance log-sticky
balance sticky

server s1 udp@${Slg21_addr}:${Slg21_port} # only receives "GET /srv1" request
server s2 udp@${Slg22_addr}:${Slg22_port} # only receives "GET /srv2" request
Expand Down
4 changes: 2 additions & 2 deletions src/backend.c
Original file line number Diff line number Diff line change
Expand Up @@ -2834,12 +2834,12 @@ int backend_parse_balance(const char **args, char **err, struct proxy *curproxy)
ha_free(&curproxy->lbprm.arg_str);
curproxy->lbprm.arg_str = strdup(args[1]);
}
else if (strcmp(args[0], "log-sticky") == 0) {
else if (strcmp(args[0], "sticky") == 0) {
curproxy->lbprm.algo &= ~BE_LB_ALGO;
curproxy->lbprm.algo |= BE_LB_ALGO_LS;
}
else {
memprintf(err, "only supports 'roundrobin', 'static-rr', 'leastconn', 'source', 'uri', 'url_param', 'hash', 'hdr(name)', 'rdp-cookie(name)', 'log-hash' and 'log-sticky' options.");
memprintf(err, "only supports 'roundrobin', 'static-rr', 'leastconn', 'source', 'uri', 'url_param', 'hash', 'hdr(name)', 'rdp-cookie(name)', 'log-hash' and 'sticky' options.");
return -1;
}
return 0;
Expand Down

0 comments on commit cd352c0

Please sign in to comment.