Hi all,

Asking here before I report a bug / attempt a patch.

We noticed that with bayes_auto_expire set to true, using a MySQL bayes store, 
the auto-expiry does not run. The system has been up for several months, and 
the bayes_expire table remains empty. Manual --force-expire via sa-learn works 
ok once tried.

Version: SA 4.0.0
Scanning via exim / spamc
Manual spam reporting: spamc -L 

After a large amount of code reading yesterday, I think this is because the 
MySQL BayesStore does not implement get_storage_variables - 
https://github.com/apache/spamassassin/blob/9e1677a6b73dc163c97bf382d9767856fe3ccbef/lib/Mail/SpamAssassin/BayesStore.pm#L570

This is used in expiry_due in BayesStore: 
https://github.com/apache/spamassassin/blob/9e1677a6b73dc163c97bf382d9767856fe3ccbef/lib/Mail/SpamAssassin/BayesStore.pm#L462

which presumably dies instead.

It was expected to run given the docs in sa-learn 
https://spamassassin.apache.org/full/4.0.x/doc/sa-learn.html#EXPIRATION which 
do not mention any bayesstore exceptions.

Am I barking up the correct tree?

Separately: is auto_expire recommended, or should we be creating some sort of 
cronjob to run thousands of user expiry calls manually?

Thanks in advance,

Jess Robinson / Runbox (setting up per-user spam training)

Reply via email to