Michael Mahemoff
2007-Jan-18 12:05 UTC
[Ferret-talk] [ActsAsFerret] Index Directory Disappears and Not Re-created
Hi, This is a recurring issue for me - the index directory on my production server and everything below it occasionally disappears and isn''t reconstructed. I tried manually creating the entire index path manually before starting the server, but it still happened while the server is running. I don''t know what''s causing the index to disappear and I''m also not sure why it''s not automagically re-created in any event? Using: Rails 1.1.6 Ferret 0.10.13 Acts_as_ferret (can''t see a version no. but it''s recent) Any help would be greatly appreciated. ---- IOError (IO Error occured at <except.c>:79 in xraise Error occured in fs_store.c:185 - fs_clear_all clearing all files in /var/www/apps/accounts/current/config/../index/production/account: <No such file or directory> ): /usr/lib/ruby/gems/1.8/gems/ferret-0.10.13/lib/ferret/index.rb:664:in `initialize'' /usr/lib/ruby/gems/1.8/gems/ferret-0.10.13/lib/ferret/index.rb:664:in `ensure_writer_open'' /usr/lib/ruby/gems/1.8/gems/ferret-0.10.13/lib/ferret/index.rb:270:in `<<'' /usr/lib/ruby/1.8/monitor.rb:229:in `synchronize'' /usr/lib/ruby/gems/1.8/gems/ferret-0.10.13/lib/ferret/index.rb:254:in `<<'' /vendor/plugins/acts_as_ferret/lib/instance_methods.rb:85:in `ferret_create'' /vendor/rails/activerecord/lib/active_record/callbacks.rb:344:in `callback'' /vendor/rails/activerecord/lib/active_record/callbacks.rb:341:in `callback'' /vendor/rails/activerecord/lib/active_record/callbacks.rb:266:in `create_without_timestamps'' /vendor/rails/activerecord/lib/active_record/timestamp.rb:30:in `create'' /vendor/rails/activerecord/lib/active_record/base.rb:1718:in `create_or_update_without_callbacks'' /vendor/rails/activerecord/lib/active_record/callbacks.rb:253:in `create_or_update'' /vendor/rails/activerecord/lib/active_record/base.rb:1392:in `save_without_validation'' /vendor/rails/activerecord/lib/active_record/validations.rb:736:in `save_without_transactions'' /vendor/rails/activerecord/lib/active_record/transactions.rb:126:in `save'' /vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:51:in `transaction'' /vendor/rails/activerecord/lib/active_record/transactions.rb:91:in `transaction'' /vendor/rails/activerecord/lib/active_record/transactions.rb:118:in `transaction'' /vendor/rails/activerecord/lib/active_record/transactions.rb:126:in `save'' -- Posted via http://www.ruby-forum.com/.
Jens Kraemer
2007-Jan-19 10:51 UTC
[Ferret-talk] [ActsAsFerret] Index Directory Disappears and Not Re-created
On Thu, Jan 18, 2007 at 01:05:47PM +0100, Michael Mahemoff wrote:> Hi, > > This is a recurring issue for me - the index directory on my production > server and everything below it occasionally disappears and isn''t > reconstructed. I tried manually creating the entire index path manually > before starting the server, but it still happened while the server is > running. > > I don''t know what''s causing the index to disappear and I''m also not sure > why it''s not automagically re-created in any event?I suspect you use capistrano for your deployment - is it possible that on each deploy your index gets lost because it is located inside the releases/.../ subdirectory? for the index not being recreated problem - maybe it''s just a permission issue? Jens -- webit! Gesellschaft f?r neue Medien mbH www.webit.de Dipl.-Wirtschaftsingenieur Jens Kr?mer kraemer at webit.de Schnorrstra?e 76 Tel +49 351 46766 0 D-01069 Dresden Fax +49 351 46766 66
Michael Mahemoff
2007-Jan-24 11:05 UTC
[Ferret-talk] [ActsAsFerret] Index Directory Disappears and Not Re-cre
Jens Kraemer wrote:> On Thu, Jan 18, 2007 at 01:05:47PM +0100, Michael Mahemoff wrote: >> Hi, >> >> This is a recurring issue for me - the index directory on my production >> server and everything below it occasionally disappears and isn''t >> reconstructed. I tried manually creating the entire index path manually >> before starting the server, but it still happened while the server is >> running. >> >> I don''t know what''s causing the index to disappear and I''m also not sure >> why it''s not automagically re-created in any event? > > I suspect you use capistrano for your deployment - is it possible that > on each deploy your index gets lost because it is located inside the > releases/.../ subdirectory?Thanks for the reply and you guessed correctly. It''s running capistrano and maybe that explains why it happens periodically.> for the index not being recreated problem - maybe it''s just a permission > issue?I''m not sure about that as the log messages don''t seem to indicate it and the server user is the same as the user that created the release structure. I do have the index checked in to the repository though (as a hack) and maybe the attributes on it are wrong (e.g. the dir''s not executable). Thanks, Michael -- Posted via http://www.ruby-forum.com/.
Jens Kraemer
2007-Jan-24 12:38 UTC
[Ferret-talk] [ActsAsFerret] Index Directory Disappears and Not Re-cre
On Wed, Jan 24, 2007 at 12:05:24PM +0100, Michael Mahemoff wrote:> Jens Kraemer wrote: > > On Thu, Jan 18, 2007 at 01:05:47PM +0100, Michael Mahemoff wrote: > >> Hi, > >> > >> This is a recurring issue for me - the index directory on my production > >> server and everything below it occasionally disappears and isn''t > >> reconstructed. I tried manually creating the entire index path manually > >> before starting the server, but it still happened while the server is > >> running. > >> > >> I don''t know what''s causing the index to disappear and I''m also not sure > >> why it''s not automagically re-created in any event? > > > > I suspect you use capistrano for your deployment - is it possible that > > on each deploy your index gets lost because it is located inside the > > releases/.../ subdirectory? > > Thanks for the reply and you guessed correctly. It''s running capistrano > and maybe that explains why it happens periodically. > > > for the index not being recreated problem - maybe it''s just a permission > > issue? > > I''m not sure about that as the log messages don''t seem to indicate it > and the server user is the same as the user that created the release > structure. I do have the index checked in to the repository though (as a > hack) and maybe the attributes on it are wrong (e.g. the dir''s not > executable).I usually symlink the RAILS_ROOT/index/ directory to shared/index in an after_update_code recipe. That way the index physically stays the same from deployment to deployment. Jens -- webit! Gesellschaft f?r neue Medien mbH www.webit.de Dipl.-Wirtschaftsingenieur Jens Kr?mer kraemer at webit.de Schnorrstra?e 76 Tel +49 351 46766 0 D-01069 Dresden Fax +49 351 46766 66
Ewout
2007-Jan-24 12:42 UTC
[Ferret-talk] [ActsAsFerret] Index Directory Disappears and Not Re-cre
Checking in the index is a very bad idea. Instead, the index should be in the shared directory of your deployment, and releases should symlink to this shared index. In deploy.rb, this would look like this: <<-DESC Create a shared index dir. All deployed versions will share the same index, as they share the same database. When upgrading ferret, this index might have to be rebuilt. DESC task :create_index_dir do run <<-CMD mkdir -p -m 777 #{shared_path}/index CMD end <<-DESC Create a symlink from the current release to the shared index. DESC task :create_index_symlink do run <<-CMD ln -fs #{shared_path}/index/ #{current_release}/index CMD end # Hooks task :after_setup do create_index_dir end task :after_symlink do create_index_symlink end> >> for the index not being recreated problem - maybe it''s just a permission >> issue? > >I''m not sure about that as the log messages don''t seem to indicate it >and the server user is the same as the user that created the release >structure. I do have the index checked in to the repository though (as a >hack) and maybe the attributes on it are wrong (e.g. the dir''s not >executable). > >Thanks, >Michael > >-- >Posted via http://www.ruby-forum.com/. >_______________________________________________ >Ferret-talk mailing list >Ferret-talk at rubyforge.org >http://rubyforge.org/mailman/listinfo/ferret-talk