The last version of Akismet 2.5.1 or maybe even the previous one won’t clean up the comment meta details in DB after deleting a comment.
I woke up one morning and after checking my DB I realized that it is doubled in size. I started to rewind my thoughts on what I recently did and of course, after every WordPress update, Akismet was rolling out update too.
I quick glance at the DB and I realized that commentmeta table was enormous. Akismet should store comment details there until they’re deleted or approved but in my case it was failing to do so. The records were remaining there.
I’ve deactivated and deleted Aksimet and reinstall it again, but the problem stayed.
So I had to manually delete around 25.000 records from my commentmeta table in the DB.
I believe 2.5.0 may have had this issue and that it was fixed in 2.5.1. Can you double check that 2.5.1 doesn’t do this for new comments. It is possible that it isn’t cleaning up older comments processed under a previous version.
Also you can try the development version of the plugin, files available at https://plugins.svn.wordpress.org/akismet/dev/ – with the warning that this is a development version.
I’ve checked again and 2.5.1 is not deleting akismet history from commentmeta table. Comment meta details processed under previous version were manually deleted by me as I previously said.
I would not rather try the development version.
One note: Imagine what could bug like this one (not deleting entries in DB when it should) do to a blog with 2.000 posts, 100.000 comments and 10.000.000 pageviews per month.
This only tells me that Akismet is rolling out not thoroughly tested updates. You could, will and probably did serious damage to some people.
But on the other hand, Akismet is the best anti-spam plugin out there.
We do quite a bit of testing of the Akismet plugin, including on very large sites with numbers much bigger than the ones you list. Of course we do from time to time find bugs and release updates, that is the nature of software.
If you can outline the steps involved in reproducing this I’ll be happy to take another look at it and track down what is going on.
I am having the same problems here. Even dropping and recreating the table don’t fix it.
Which steps involved in reproducing this you’re looking for @joseph?
There are no steps. Akismet 2.5.1 keeps storing the entries in commentmeta table. Simple as that.
akismet_as_submitted, akismet_result and akismet_history
Yes, Akismet keeps a history in the commentmeta table. For comments that are marked as spam and then deleted automatically after 15 days then the commentmeta entries for those comments should be getting deleted as well.
If the concern was over just that Akismet stories meta data about comments in the commentmeta table, that isn’t a bug, it is a feature 🙂
@joseph are you really authorized to response on these posts on behalf Aksimet, or you’re just a random guy who just doesn’t have a clue what he is talking about or you just intentionally undermine the intelligence of the people experiencing difficulties with Akismet.
I suppose Akismet history should be kept in commentmeta table until the comment is deleted or approved.
THE PROBLEM IS THAT AKISMET HISTORY IS STILL IN THAT TABLE AFTER DELETING OR APPROVING THE COMMENTS.
Just to repeat this again in case you don’t understand:
Akismet won’t clean up the comment meta details after deleting a comment.
This is why I asked for steps on how to re-create the problem you were seeing.
Since I still haven’t seen a list of steps, I’ll piece together one from what you have mentioned:
– New comment is submitted
– Akismet marks it as spam
– You specifically delete the spam comment in wp-admin
– The commentmeta data for the spam comment you just deleted is still there
Does that fit what you are seeing?
And what kind of feature is that, that will double the size of your DB overnight.
Version 2.5.0 was bugged. After upgrading to 2.5.0 commentmeta table was pumped up with 23.000 records.
After upgrading to 2.5.1 (in which you claim you’ve fixed the bug) those records stayed and new were being added daily disregarding if comments are deleted or approved.
So I deactivated Akismet, deleted the files completely from the server, removed manually all the records from the commentmeta table and installed Akismet again.
The problem remained. Commentmeta table grows no mater if I delete or approve the comments marked as spam by Akismet or held for moderation by WordPress (according to my settings).
Did you figure out what was happening?
I’m happy to help track down and resolve bugs/issues once I am able to reproduce the problem.
I’m having the same exact experience as @vlatko. I Would love to know what’s going on and how to fix it.
UPDATE: This appears to be fixed in the latest version of Akismet (2.5.3), which I have installed. However, I’m wondering what sort of query I can run on the wp_commentmeta table to clear ONLY the unneeded records from it that were generated by this bug.
Same here, I would like to clear wp_commentmeta (8Mo and I only have ~2500 comments, wp_comments is 1Mo, I’ve only had ~40 spams total)
Any idea how to do this? I don’t really know which records are necessary… Thank you 🙂
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments)
I found the query referenced in the discussion here:
- The topic ‘[Plugin: Akismet] Won't Clean up the comment meta details’ is closed to new replies.