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:
Olivier Houchard 2025-11-05 19:12:17 +01:00 committed by Olivier Houchard
parent b9809fe0d0
commit 93f994e8b1

View File

@ -986,6 +986,8 @@ 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_lookup_ge(&ps->tables, now_ms - TIMER_LOOK_BACK);
if (!table_eb)
table_eb = eb32_first(&ps->tables);
while (table_eb) {