I have the same problem, with WP 2.9.1 … any resolution?
In my case, apparently there were so many spam messages (over 17,000) that Akismet got some kind of out-of-memory conditon. I was able to get Akismet filtering running by manually starting mysql:
$ mysql databasename -u dbusername -p
and then deleting all the very old unapproved comments:
mysql> delete from wp_comments where comment_approved = 0
AND comment_date < '2010-1-1';
You can see how many unapproved comments Akismet will try and filter:
mysql> select count(comment_ID) from wp_comments where comment_approved=0;
and after Akismet runs awhile, you can monitor its progress by counting the number of messages flagged as spam:
mysql> select count(comment_ID) from wp_comments where comment_approved='spam';
I ran across this problem as well. Checking a blog with 108k comments, I needed to check them against the spam database but knew there would be legit comments mixed in so I didn’t want to just delete them all. Instead, I put a limit statement in the askimet.php function.
So in akismet_recheck_queue() I added the Limit below. Tweak the number for what your server can handle…
$moderation = $wpdb->get_results( "SELECT * FROM $wpdb->comments WHERE comment_approved = '0' LIMIT 1000" , ARRAY_A );
Thanks ccolvin! Worked great for me.
Brilliant, worked perfectly!