Changes between Initial Version and Version 1 of SATimeouts

Aug 17, 2006, 5:20:55 AM (16 years ago)



  • SATimeouts

    v1 v1  
     1= "SA TIMED OUT" Errors =
     3=== Symptoms ===
     5Mail processing is backing up, with a growing number of items accumulating in your upstream mail queue.  Your error logs contain messages similar to:
     8Aug 15 14:24:19 nscan1 amavis[10479]: (10479-02) SA TIMED OUT,
     9backtrace: at /usr/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/BayesStore/ line 2151
     10eval {...} called at /usr/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/BayesStore/ line 2151
     11Mail::SpamAssassin::BayesStore::SQL::_put_tokens('Mail::SpamAssassin::BayesStore::SQL=HASH(0x3c9e830)', 'HASH(0x5173070)', 0, 1, 1155673350) called at /usr/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/BayesStore/
     12line 963
     13Mail::SpamAssassin::BayesStore::SQL::multi_tok_count_change('Mail::SpamAssassin::BayesStore::SQL=HASH(0x3c9e830)', 0, 1, 'HASH(0x5173070)', 1155673350) called at /usr/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/ line 806
     1580)', 0, 'Mail::SpamAssassin::Message=HASH(0x4f046a0)',
     16'HASH(0x5176870)', 'undef') called at /usr/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/
     19=== Possible Causes ===
     211. Your system may be unusually busy or heavily loaded for brief periods of time, during which some SpamAssassin processes take too long to complete.  As long as this is just an occasional thing, there's nothing to worry about, since no mail is lost when this happens--it remains in the upstream queue to be retried, so mail that failed the first time may succeed during a retry if the system load has dropped in the meantime.
     232. You may have SpamAssassin's [wiki:BayesAutoExpire auto-expiry] mechanism enabled, in which case SpamAssassin may be deciding to do an opportunistic Bayes token expiry at a time when your traffic levels are too high to handle the extra load.
     253. You may be using the generic SQL engine for SpamAssassin, rather than one that's been optimized for MySQL or PostgreSQL.  The generic engine is considerably less efficient.
     28=== Solutions ===
     301. Tell {{{amavisd-maia}}} to wait a bit longer for SpamAssassin before giving up.  In your {{{amavisd.conf}}} file, set the following to increase the timeout value to 60 seconds, for example:
     33$sa_timeout = 60;
     362. Disable SpamAssassin's [wiki:BayesAutoExpire auto-expiry] mechanism, and schedule a cron job to do an expiry run once a day at off-peak hours.  See the [wiki:BayesAutoExpire auto-expiry] page for more details about how to do this.
     383. Switch to the use of a database-specific engine instead of the generic SQL engine, if you can.  Users of MySQL 4.1 and later should use:
     41bayes_store_module   Mail::SpamAssassin::BayesStore::MySQL
     44whereas PostgreSQL users should use:
     47bayes_store_module   Mail::SpamAssassin::BayesStore::PgSQL
     52[wiki:FAQ Back to FAQ]