Mysql2::Error: This connection is still waiting for a result, try again once you have the result

217 views
Skip to first unread message

Jason Fleetwood-Boldt

unread,
Nov 20, 2014, 10:56:59 AM11/20/14
to rubyonra...@googlegroups.com
Rails-talk, 

Last night I got a slew (around 2000) of these exceptions raised in my production app between 4:03 AM and 7:30 AM (eastern time). 

They all had the same pattern:

ActiveRecord::StatementInvalid: Mysql2::Error: This connection is still waiting for a result, try again once you have the result: SELECT `spree_buckets`.* FROM `spree_buckets` WHERE `spree_buckets`.`slug` = 'gallery' LIMIT 1
(The SQL query was different for many, but the Mysql2::Error: This connection is still waiting for a result, try again once you have the result part was the same)

I called Amazon RDS support and they said the underlying database looked fine, we are well below our IOPS threshold, and our queue depth looks healthy.

I think perhaps just 1 Unicorn worker choked up with a single MySQL call, resulting in all subsequent calls from that Unicorn worker to produce this error (for 3 hours!)

Does anyone else have any best practice advice for this error? Should I simply catch for this exception and close & reconnect any active MySQL connections ? Can someone share some examples of how to do that as cleanly as possible?

Thanks,
Jason




Kevin Disneur

unread,
Aug 3, 2015, 6:43:37 AM8/3/15
to Ruby on Rails: Talk, te...@datatravels.com
We encountered this exactly same problem this night. We've also called AWS and they gave us the same answer: everything looks fine on your instance.

We have several applications using this same database, they all worked fined except one. So It really looks like a problem in either mysql2 or unicorn.

Did you manage to find an explanation? And maybe a solution? For the moment we have just restarted the application and everything is back to normal.

Thanks,
Kevin
Reply all
Reply to author
Forward
0 new messages