When Good Plugins Go Bad - Comment Relish Considered Dangerous

Recall I found out about an automatic commenter-thanking plugin I was very excited about?

It turns out that Dreamhost, my hosting company, were not quite as thrilled as I was.

Hello,

Please disable the plugin that is causing this query (otherwise I’ll have to disable your mysql table or user and I really don’t want to do that!):

# Query_time: 2 Lock_time: 0 Rows_sent: 0 Rows_examined: 2045519
use chrisgcom;
SELECT c.*, p.*

FROM wp_comments c

INNER JOIN wp_posts p ON p.ID = c.comment_post_ID

LEFT JOIN wp_cr_emailed e ON e.email = c.comment_author_email

WHERE e.email IS NULL AND c.comment_approved = ‘1′;

===

It’s not efficient enough to be running on a shared hosting server and is contributing to high loads and poor mysql performance. Here is my direct email address for confirmation (and if you have any questions):

jxxx@dreamhost.com

Thanks!
Jxxx

While the message could have been a little more helpful and friendly (would a complete technical novice have been able to work out which plugin was causing the problem?), it seems the upshot is the plugin is not coded well enough for heavily populated shared hosting to be able to cope with.

A real shame as I just heard about a great tweak to the code allowing you to send a personalised message while still getting an automatic notification.

Just goes to show that not all plugins can be used.

How to install and trial plugins safely:

  • Check them out with friends and other users,
  • Google for any known problems,
  • Take a full backup of your blog and database
  • Try the plugin for a while, monitoring for any problems,
  • Contact the author to see if there is a known fix
  • and always remember what order you installed them in so you can identify and remove trouble makers.

I would contact the author but I don’t want to risk Dreamhost yanking my account by trying it again.

Have you ever had plugins misbehave? What do you do? Does this sort of thing put you off trying new plugins? Let me know in the comments …

Please bookmark or vote!: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Reddit
  • Mixx
  • Propeller
  • Sphinn
  • StumbleUpon
  • TwitThis
If you found this article useful, bookmark it at Del.icio.us for future reference
Articles you might also like:


Subscribe now with RSS, daily emails or weekly emails to receive more tips, new media news and a FREE ebook!

23 Comments so far

  1. Patrick Altoft August 22nd, 2007 10:14 am

    I am astounded that a host would send this sort of email. My blog runs 5 cron jobs every minute to run the Tracker and has survived 4 front page diggs including one that sent 50,000 uniques in 2 hours without any concern from the hosts. My plan costs $20 per month.

  2. Chris Garrett August 22nd, 2007 10:36 am

    They are usually ok but yeah, this wasn’t tech support of the year award material

  3. Michael from Pro Blog Design August 22nd, 2007 11:02 am

    I haven’t had plugin troubles, but I did have a Topsites (Vote for your favorite sites) script on my old Dreamhost account.

    After a few months, they disabled me because of it, and never let DH disable your account. Once they do, that’s it. Their tech support desk seems to just…vanish. :(

    I deleted the script asap, but it was still 4 days before my site has back online… :(

  4. Jack August 22nd, 2007 11:03 am

    You’re running on a shared host…what, are you nuts? Get your own server…then you can do whatever you like. I use memset and find them very good.

  5. Avinash August 22nd, 2007 11:33 am

    A WordPress plugin did made HostGator (my old host) mad. They didn’t disable my account but disabled access to my main blog directory. I even tried to convince ‘em that I’ll disable the plugin as soon as I’m able to access my WordPress admin CP but don’t know why they kept my main directory inaccessible for 3 days.

    That was the time when I switched to DreamHost forever. My blogs have been running under a DH shared hosting plan since April, 2007 and fortunately, I’m yet to face any trouble.

    So completely agree on your point that we can’t trust every plugin for a pretty strong reason. Every WP plugin author isn’t a programming expert. Some of ‘em write quick and dirty code to solve their own problem but release it in public thinking that others may find the code useful.

    I personally don’t use any WP plugin without going through the comments left by plugin users. I also hesitate to try newly released plugins if the plugin hasn’t been released by the WordPress experts.

  6. Chris Garrett August 22nd, 2007 11:38 am

    @Michael - Man, 4 days is a long time in the life of a blog :(

    @Jack - I really don’t need a dedicated box right now, and to be honest I hate the administration involved in looking after your own server (I think doing it as a job killed any enjoyment I would have gotten from it ;) )

    @Avinash - Exactly, a good recommendation and demonstrable use on a high traffic blog is good to have but in the end, you have to try it on your own as only you have your exact mix of template and plugins!

  7. College Guide August 22nd, 2007 1:18 pm

    You are kidding me… Did they seriously send you such a letter? It’s not only rude but also very unethical if you would like.

    I have always held this plugin in high regards, I guess I will have to deactivate it from now on. Thanks for the alert!

  8. Ashwin August 22nd, 2007 1:44 pm

    Ahh… chris…even John Chow had problem with this plugin. The thing is it searches the list of all commentators and emails them. When you have a large number of comments, then the server load gets high.

    I’ve my share of issues which I posted here

    Some bad WP plugins:

    top post by category
    bastats
    Older version of UTW

    These plugins are good for very small sites but for sites with say around 1000+ traffic - they are dangerous…

  9. Blogging Experiment August 22nd, 2007 2:10 pm

    Chris, I tried to warn you about using the original version ;). Patchlog has an optimized version out that lessens the load placed on your server and in my case, actually worked rather than blowing up my blog. I’ve linked to it in my post Comment Relish Back in Action but I think there might be an even newer version out as well.

  10. Birney Summers August 22nd, 2007 3:46 pm

    A good example of why it is important to make only one change to a blog at a time. Then wait for it to work or not B 4 making the next change.

  11. Chris Garrett August 22nd, 2007 3:52 pm

    @College - Don’t deactivate it, try the version Blogging Experiment suggests :)

    @Ashwin - Yeah it seems a lot of plugins are not load tested!

    @Blogging Experiment - Now you mention it I do recall you saying something :S

    @Birney - Yup, although the effects of this took quite a while to surface!

  12. Nick Halstead August 22nd, 2007 7:24 pm

    That query really is not an issue, an inner join and a left join, no big deal, your hosting company obviously thinks its clever to send such a technical email, but in reality that don’t have a clue. With the correct indexes the query should take no more time than any other query. It is more likely that the plugin does not update the indexes for the relevant tables.

    My guess is that your overall traffic is high, and this slightly more complex query stood out, (or something is broken).

    I have a few blogs running under a VPS with much more complex SQL without any issues (with 5000+ unique visits per day) But overall I think moving to a dedicated is always the way forward.

  13. lucia August 22nd, 2007 10:22 pm

    I’m on dreamhost, and haven’t had any complaints about that plugin. Still, I like to keep track of these issues.

    As for other plugins, I wrote a plugin that lets me at least see which plugins that run when you load a page use a lot of time.

    Still, it wouldn’t catch issues with comment relish, since that doesn’t run with page loads.

    (I had a problem with aLinks, but it was really a PHP problem. The developer has included the work around the PHP glitch in his new version.)

  14. Brad V. August 23rd, 2007 12:56 am

    Frankly, I don’t use many plug-ins just because of problems like this. My blog is fairly new with a low daily visitor count, so I’m still working on just getting some quality content.

  15. Sara August 23rd, 2007 7:01 am

    I’m going to have to agree with Nick, the query looks fine. You just may have thousands and thousands of comments so it slows things down. Maybe if you threw some indexes on there.

  16. Ankesh Kothari August 23rd, 2007 3:27 pm

    Thanks Chris.

    I’ve been using DreamHost since ages now but am thinking of moving to a dedicated or a VPS server. Not only because of such reasons that you faced… But also because Dreamhost has a policy of allowing only 100 outgoing emails per hour.

    So if you use a Comment Relish plugin and Notify on New Comments plugin - and have quite a few domains hosted on one dreamhost account, you could have potential email troubles…

  17. JoLynn Braley August 24th, 2007 1:22 am

    I’m also with DH and I have a paid up contract for another 6 months so I won’t be moving any time soon. I was going to install comment relish, too.

    Depending on how many comments you get, there’s always the old fashioned personable email to your commentors, or even better, change the MySQL query and modify the plugin. Then you just have to choose if you want to spend the time doing that, or working on SEO. ;)

  18. Jermayn Parker August 24th, 2007 1:23 am

    I have just installed that same plugin :(

    and yes I have had trouble with plugins before, I had a gallery plugin conflict with a javascript plugin that adds a rel attribute to save the user adding it for lightbox, took me a while to figer that out and many gray hairs…
    can read more here

  19. JoLynn Braley August 24th, 2007 1:26 am

    You know, the more I think about it, seems like if you added a date/time range value that you could query only recent rows instead of the whole database…I could see wanting to query the entire db the first time, but after that, there’s no need to.

  20. Dean @ Technical Itch August 26th, 2007 6:03 pm

    Interesting post. It just goes to show how much resources some of these Wordpress plugins can consume.

    It’s not a bad plugin. I used it for a while, although nowadays I prefer to send emails to first time commentators manually. It allows me to send more of a personal thank you rather than the ‘canned’ message approach of the plugin.

    For large scale blogs this approach would be too much effort but for smaller blogs like mine it has worked well.

  21. Chris Garrett August 27th, 2007 12:07 pm

    @Nick - I will move to a dedicated server eventually but only when I really have to. Having run servers in the past it is not something I am eager to get back into.

    @lucia - As others have suggested, I think it could be down to the visits/comments my blog receives, I still think the plugin is a great idea even if I daren’t use it now!

    @Brad - That is definitely the way to go, although it is a bit more embarrassing when things go wrong on a popular blog :)

    @Sara - Yeah but I am not going to risk it now :)

    @Ankesh - I didn’t know that about the email. Hmm, that sucks as the forum alone has probably pushed that email limit before now.

    @JoLynn - My problem is identifying the new commenters (especially as people change their names ;) ) so I am going to keep thinking how I can safely do it

    @Jermayn - It can be a pain debugging these things, it is one thing drupal has going for it, the debugging tools

    @JoLynn - Hmm, but it needs to identify new commenters?

    @Dean - As I say above what I need is an easy way to identify new people, but I could do it with a batch process I guess so at least the query would run once a day not every comment …

  22. JoLynn Braley August 29th, 2007 5:55 pm

    Hi Chris,

    You’re right - good point! ;) ….there has to be a way to code it though, so that it doesn’t have to run through the entire db….might have to include another table… I don’t write plugins, as I’m spending enough time writing content on my blog as it is, but it would be great if it gets re-written so that it can be used. I never installed it and was about to before I read your post. Thank you! :)

  23. raj September 4th, 2007 3:52 am

    Dreamhost are the same company who many bloggers said had blocked out Googlebot on their clients’ sites - supposedly all of them. They’re also down constantly. I know because at one time I wrote for several blogs (and owned a few) hosted there and it was an utter pain in the ass.

Consulting

Subscribe

Receive more blogging, writing and marketing tips, plus a FREE eBook.

Feed Count Subscribe now with RSS or
Subscribe by Email

About Chris Garrett

Chris Garrett is a blogging and internet marketing consultant. This blog is here to help you make the most out of the web.

Follow me on twitter Read more about Chris and this blog.

Search this site

  • Popular Articles

  • Recommends

  • Categories