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.

Reply via email to