You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@spamassassin.apache.org by Steve Martin <st...@planomartins.com> on 2005/08/19 20:28:25 UTC

How long should a bayes_expire take?

spamd is running on an old 400Mhz iMac, using MySQL for its bayes  
database, which look like this...

sa-learn --dump magic
0.000          0          3          0  non-token data: bayes db version
0.000          0       1851          0  non-token data: nspam
0.000          0      28155          0  non-token data: nham
0.000          0     157801          0  non-token data: ntokens
0.000          0 1121701472          0  non-token data: oldest atime
0.000          0 1124474721          0  non-token data: newest atime
0.000          0          0          0  non-token data: last journal  
sync atime
0.000          0 1124474715          0  non-token data: last expiry  
atime
0.000          0    2764800          0  non-token data: last expire  
atime delta
0.000          0       1178          0  non-token data: last expire  
reduction count

Latest attempt at bayes expire showed the following...

[10958] dbg: bayes: bayes journal sync starting
[10958] dbg: bayes: bayes journal sync completed
[10958] dbg: bayes: expiry starting
[10958] dbg: bayes: expiry check keep size, 0.75 * max: 112500
[10958] dbg: bayes: token count: 157756, final goal reduction size:  
45256
[10958] dbg: bayes: first pass?  current: 1124474653, Last:  
1124474284, atime: 2764800, count: 1178, newdelta: 71966, ratio:  
38.4176570458404, period: 43200
[10958] dbg: bayes: can't use estimation method for expiry,  
unexpected result, calculating optimal atime delta (first pass)
[10958] dbg: bayes: expiry max exponent: 9
[10958] dbg: bayes: atime_token reduction
[10958] dbg: bayes: ========_===============
[10958] dbg: bayes: 43200_150460
[10958] dbg: bayes: 86400_145695
[10958] dbg: bayes: 172800_140981
[10958] dbg: bayes: 345600_127105
[10958] dbg: bayes: 691200_106160
[10958] dbg: bayes: 1382400_68983
[10958] dbg: bayes: 2764800_0
[10958] dbg: bayes: 5529600_0
[10958] dbg: bayes: 11059200_0
[10958] dbg: bayes: 22118400_0
[10958] dbg: bayes: couldn't find a good delta atime, need more token  
difference, skipping expire
[10958] dbg: bayes: expiry completed

In my spamd.log, I noticed lots of problems early to day with a perl  
crash, lots of child timeouts, etc. that started with this..


Fri Aug 19 09:50:11 2005 [6770] error: child processing timeout at / 
usr/bin/spamd line 1089, <GEN43> line 41.

(that was with a 10 minute timeout, message processing started at 9:40.

I ended up with the max number of spamd child processes being  
created, each one simultaneously timing ot on bayes_expire (shouldn't  
only one try to do it at a time?).

I've turned off auto_expire for now, so I can investigate over the  
next few days how long it actually takes, but there does seem to be a  
bug if multiple spamd clients are trying to do bayes_expire  
simultaneously.

--
Steve Martin                              http://www.cheezmo.com/
Smart Calibration, LLC           http://www.smartcalibration.com/
The Widescreen Movie Center            http://www.widemovies.com/
Letterboxed Movie TV Schedule  http://www.widemovies.com/lbx.html