I have two MXes, both writing Bayes data to a shared MySQL database.
Something is quite awry.

My Bayes database is _huge_:

-rw-rw---- 1 mysql mysql 145044032 Apr 21 08:09 bayes_seen.MYD
-rw-rw---- 1 mysql mysql 189879296 Apr 21 08:09 bayes_seen.MYI
-rw-rw---- 1 mysql mysql 1881960784 Apr 21 08:09 bayes_token.MYD
-rw-rw---- 1 mysql mysql 4650297344 Apr 21 08:09 bayes_token.MYI

mysql> select count(*) from bayes_token;
+----------+
| count(*) |
+----------+
| 85544225 |
+----------+
1 row in set (0.01 sec)

mysql> select count(*) from bayes_seen;
+----------+
| count(*) |
+----------+
| 2266388 |
+----------+
1 row in set (0.00 sec)

But sa-learn doesn't seem to know that:

# sa-learn --dump magic
0.000 0 3 0 non-token data: bayes db version
0.000 0 0 0 non-token data: nspam
0.000 0 0 0 non-token data: nham
0.000 0 0 0 non-token data: ntokens
0.000 0 2147483647 0 non-token data: oldest atime
0.000 0 0 0 non-token data: newest atime
0.000 0 0 0 non-token data: last journal sync atime
0.000 0 1208783399 0 non-token data: last expiry atime
0.000 0 0 0 non-token data: last expire atime delta
0.000 0 0 0 non-token data: last expire reduction count

(Output is the same on both MXes.)

Forcing expiry does nothing; with debugging on, I get:

[13442] dbg: bayes: expiry starting
[13442] dbg: bayes: database connection established
[13442] dbg: bayes: found bayes db version 3
[13442] dbg: bayes: Using userid: 6
[13442] dbg: bayes: expiry check keep size, 0.75 * max: 112500
[13442] dbg: bayes: token count: 0, final goal reduction size: -112500
[13442] dbg: bayes: reduction goal of -112500 is under 1,000 tokens, skipping expire
[13442] dbg: bayes: expiry completed

Consequently, my database is growing, apparently without bound.

Any ideas how I can get expiry to work properly again? (Hopefully
without completely dumping the database?)

Thanks!

Chris St. Pierre
Unix Systems Administrator
Nebraska Wesleyan University