]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: stick-tables: never leave used entries without expiration
authorWilly Tarreau <w@1wt.eu>
Wed, 3 Sep 2025 12:03:40 +0000 (12:03 +0000)
committerWilly Tarreau <w@1wt.eu>
Wed, 3 Sep 2025 13:51:13 +0000 (15:51 +0200)
commit324f0a60aba52ed5d80b714bf4b6f0b819efd12e
tree45101bb81efc3ff71369f85bf14677c372f817f8
parent8da6ed6b6aecb8ef93de6d74289df5407d6d2a7d
BUG/MINOR: stick-tables: never leave used entries without expiration

When trying to kill/expire entries, if a ref-counted entry is found,
let's requeue it with its expiration timer instead of leaving it out,
because other ref-counters (e.g. peers) will not purge it otherwise,
leaving it orphan. This one seems trickier to trigger, though it seems
to happen sometimes when peers are late and a long resync is active
and competing with intense calls to process_table_expire() (i.e. when
no other acitvity is there).

This must be backported to 3.2. It's likely that older versions are
affected as well, but possibly differently since the expiration
mechanism changed between 3.1 and 3.2, so better not take unneeded
risks there.
src/stick_table.c