prashant31,
We just replied to your support email, but in case someone has the same issue, I'm including our response to you here as well:
=========
The error indicates that SpamFilter is unable to store the spam emails in the quarantine database as the database is returning the error "too many updates pending" when SpamFilter attempts to insert the new database records. This is often caused in part due to a large number of errors like this: Database is busy - cannot quarantine EMail from to - archival queued
If you look in the C:\Program Files\SpamFilter\quarantine directory (substitute the correct installation path if needed), you may find all the pending emails to be archived queued there. As soon as the database is able to accept more inserts SpamFilter will automatically resume the process of inserting those spam emails in the database. If there are no files in this folder then it means SpamFilter was able to insert all queued spam emails in the database and is also archiving current spam without any holdups.
Are you using Microsoft SQL Server or MySQL as your database platform? MySQL is usually much less efficient that Microsoft SQL Server, and may experience longer delays when removing the older spam emails from the quarantine database. For MySQL, we sometimes suggest the addition of extra indexes to improve performance if this process is taking too long. Judging from the "Linux" in your email addresses, I'm guessing you are using MySQL :-) so I'll add the specific indexes for that platform below. For Microsoft SQL Server instead we have a different suggested process that uses stored procedures. In any case, we only suggest these alternatives if there are indeed database performance issues, as they are usually not needed, and implementing them requires some manual modifications to the database structure. So if you "usually" do not have any temp files in the "C:\Program Files\SpamFilter\quarantine" directory I mentioned earlier, and the spam emails arrive in the database with only at most a few minutes delay, we wold not suggest making the changes.
As mentioned however, if you'd like, for MySQL you could you try adding two indexes to the tblQuarantine table. Both are made up of multiple fields:
Index for: emailto, msgid, msgdate, deliver, expire and one for: MsgID, Deliver, Expire, ServerID
This may help increase performance while deleting records.
You can create the indexes easily using the MySQL Administrator, or if you wish, you can use execute the SQL statements below:
ALTER TABLE `SpamFilter`.`tblquarantine` ADD INDEX Optimize_1(`emailto`, `msgid`, `msgdate`, `deliver`, `expire`); ALTER TABLE `SpamFilter`.`tblquarantine` ADD INDEX Optimize_2(`msgid`, `deliver`, `expire`, `serverid`);
There is no need to stop/restart SpamFilter while doing this. Please let us know if this helps.
------------- Roberto Franceschetti
http://www.logsat.com" rel="nofollow - LogSat Software
http://www.logsat.com/sfi-spam-filter.asp" rel="nofollow - Spam Filter ISP
|