On Mon, 11 Jan 2010 08:54:20 -0500 Jeff Mincy <j...@delphioutpost.com> wrote:
> You have an exclusive lock when doing expiration. Expiration > presumably takes longer on larger volumes, but it is still pretty > fast. Running expiration daily or weekly should be more than > sufficient. AFAIK the exclusive lock is only against learning and database maintenance operations (sync, backup, etc), at least that's my experience based on what happens when stale lockfiles get left-behind. Mail continues to get processed by spamd, and gets classified by Bayes - the only difference is that you see autolearn=unavailable in the X-SPAM-STATUS header. There's no reason to lock bayes completely because expiry writes-out a new database file and does a swap-over. And because the writes go to a different db file they don't even interfere with spamd read-locking (in some cases it might even speed-up spamd as it turns-off autolearning). I do wonder whether there's any real-basis to the idea that autoexpiry isn't "industrial-strength". I don't use expiry any more, but when I did, it didn't seem like a big deal at 200,000 tokens, and it's O(N) so millions of tokens shouldn't be too bad either.