Bug 4749 - spamassassin/spamd pause/wait when mysql dbase is locked
Summary: spamassassin/spamd pause/wait when mysql dbase is locked
Status: NEW
Alias: None
Product: Spamassassin
Classification: Unclassified
Component: spamassassin (show other bugs)
Version: 3.1.0
Hardware: All Linux
: P5 normal
Target Milestone: Undefined
Assignee: SpamAssassin Developer Mailing List
Depends on:
Reported: 2005-12-29 11:22 UTC by Ivan Pantovic
Modified: 2007-11-24 09:08 UTC (History)
1 user (show)

Attachment Type Modified Status Actions Submitter/CLA Status

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Pantovic 2005-12-29 11:22:31 UTC
Hi devel team,

I come upon this problem while playing with mysql replication. I have a couple
of nodes running sendmail/spamassassin using same mysql bayes/awl database.
Because we are using milter setup, high availability of mysql is crucial
otherwise mail is going by unchecked.

Here is what happens. If i lock mysql (flush with lock) spamd just hangs there,
milter timeouts and mail goes by. If I run SA in debug mode I can see that it
stops where bayes is pruned so i guess it tries to update bayes and tokens. If I
unlock dbase SA continue checking the message.

Why SA just not run along without bayes if there is something wrong with mysql?
Also DBI has db_(re/wr)itable function but i'm going to test if one can use it
to see is dbase is locked. Maybe it is a task for MySQL specific module?

Thanks for your great work and effort.

MySQL 4.1; DBD::MySQL 2.0097 and 3.002; SA 3.1.0
Comment 1 Michael Parker 2007-11-24 09:08:16 UTC
This is pretty much a function of the underlying library.

We could add wrap the DB calls in the Timeout code to help with this situation.