mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-07 03:50:59 +01:00
BUG/MEDIUM: stick-tables: Make sure we handle expiration on all tables
In process_tables_expire(), when parsing all the tables with expiration set, to check if the any entry expired, make sure we start from the oldest one, we can't just rely on eb32_first(), because of sign issues on the timestamp. Not doing that may mean some tables are not considered for expiration. This does not need to be backported.
This commit is contained in:
parent
b9809fe0d0
commit
93f994e8b1
@ -986,7 +986,9 @@ struct task *process_tables_expire(struct task *task, void *context, unsigned in
|
||||
t->shards[shard].in_bucket.key = next_exp;
|
||||
eb32_insert(&ps->tables, &t->shards[shard].in_bucket);
|
||||
}
|
||||
table_eb = eb32_first(&ps->tables);
|
||||
table_eb = eb32_lookup_ge(&ps->tables, now_ms - TIMER_LOOK_BACK);
|
||||
if (!table_eb)
|
||||
table_eb = eb32_first(&ps->tables);
|
||||
|
||||
while (table_eb) {
|
||||
struct eb32_node *tmpnode;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user