Hi all, Ive been getting this error on one particular query repeatedly for the past few days.
ActiveRecord::StatementInvalid: Mysql::Error: Lock wait timeout exceeded; try restarting transaction: UPDATE `posts` SET `updated_at` = '2010-03-17 05:35:00', `view_count` = 54 WHERE `id` = 158 Googling around, I found that this is basically because the transaction times out after waiting for the time period thats defined in the InnoDB settings. I also found that acts_as_ferret could cause this while it locks down the row in question for indexing purposes. However, I dont have any such background processes running that might lock down rows in mass like this. Is there some technique for pinpointing a process thats locking down the rows in question? I found a plugin called deadlock-retry (http:// github.com/rails/deadlock_retry/) by Jamis Buck. But im not sure if this will solve the problem at all. Besides, since this error is happening only in production, im reluctant to deploy the plugin to production and waiting to see if it does anything at all. Anyone got any pointers on this? Thanks! -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-t...@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.