https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7340
Bug ID: 7340
Summary: BayesStore: bayes_expire table grows,
remove_running_expire_tok not called
Product: Spamassassin
Version: 3.3.2
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Learner
Assignee: [email protected]
Reporter: [email protected]
# Symptoms
When Bayes is used with an SQL backend (PostgreSQL in the observed case),
and autoexpiry is disabled, the bayes_expire table keeps growing for every
sa-learn --force-expire call.
# Analysis
When Expiry is triggered a row gets inserted via set_running_expire_tok into
the bayes_expire table.
However it never get's delete, except:
- if token to expire < 1000
- if $max_expire_mult would not expire any tokens
# Effects on Runtime
Because learner_is_scan_available calls $self->_opportunistic_calls(1); which
calls $self->{store}->get_running_expire_tok(); every client
will do a sequential scan on this table SELECT max(runtime) from bayes_expire
WHERE id = ?"; which takes longer and longer as the bayes_expire table
continues to grow.
--
You are receiving this mail because:
You are the assignee for the bug.