# Ferret - mysql server has gone away

**URL:** <https://www.ruby-forum.com/t/ferret-mysql-server-has-gone-away/159897>\
**Category:** Rails\
**Created:** [February 9, 2009, 9:25pm UTC](https://www.ruby-forum.com/t/ferret-mysql-server-has-gone-away/159897 "2009-02-09T21:25:23Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![flnative](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/5daacb/32.png) [@flnative](https://www.ruby-forum.com/u/flnative)\
**Post date:** [February 9, 2009, 9:25pm UTC](https://www.ruby-forum.com/t/ferret-mysql-server-has-gone-away/159897/1 "2009-02-09T21:25:23Z")

</div>

I’ve problem with ferret (acts\_as\_ferret). search-engine and webserver  
are on the same machine. I use acts\_as\_ferret :field =\> … to define  
which columns are indexed. I recreate the index with  
Search.rebuild\_index (Search is my model).

To find some results, I use Search.find\_with\_ferret(“keyword”, {}, {}).  
Sometimes, I merge conditions to this query in the last hash. I create  
an index over 7’000 records.

For a while, the search is run correctly. Suddently, after perhaps 10  
requests, I receive the error message below and the search doesn’t run  
anymore.

Has someone a solution for this problem??? Thanks for helping!

ActiveRecord::StatementInvalid: Mysql::Error: MySQL server has gone  
away: SELECT \* FROM `searches` WHERE (searches.id in  
(‘266582’,‘261710’,‘261788’,‘266607’,‘262659’,‘258206’,‘261781’,‘258207’,‘261783’,‘262124’))  
from  
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active\_record/connection\_adapters/abstract\_adapter.rb:147:in  
`log' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:299:in`execute’  
from  
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active\_record/connection\_adapters/mysql\_adapter.rb:515:in  
`select' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:7:in`select\_all\_without\_query\_cache’  
from  
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active\_record/connection\_adapters/abstract/query\_cache.rb:61:in  
`select_all' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:582:in`find\_by\_sql’  
from  
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active\_record/base.rb:1341:in  
`find_every' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:536:in`find’  
from  
/home/schwinge/ruby/gems/gems/acts\_as\_ferret-0.4.3/lib/class\_methods.rb:384:in  
`retrieve_records' from /home/schwinge/ruby/gems/gems/acts_as_ferret-0.4.3/lib/class_methods.rb:360:in`each’  
from  
/home/schwinge/ruby/gems/gems/acts\_as\_ferret-0.4.3/lib/class\_methods.rb:360:in  
`retrieve_records' from /home/schwinge/ruby/gems/gems/acts_as_ferret-0.4.3/lib/class_methods.rb:300:in`ar\_find\_by\_contents’  
from  
/home/schwinge/ruby/gems/gems/acts\_as\_ferret-0.4.3/lib/class\_methods.rb:288:in  
`find_records_lazy_or_not' from /home/schwinge/ruby/gems/gems/acts_as_ferret-0.4.3/lib/class_methods.rb:185:in`find\_with\_ferret’  
from (irb):19
