Ticket #290 (new defect)

Opened 17 months ago

Last modified 14 months ago

File Not Found error notifier

Reported by: steve.enzer@… Owned by: benjamin
Priority: critical Milestone:
Component: component1 Version:
Keywords: Cc:

Description

Ferret::FileNotFoundError? (File Not Found Error occured at <except.c>:117 in xpop_context Error occured in fs_store.c:329 - fs_open_input

tried to open

"/var/www/peopleist/current/config/../index/production/profile/_5py_5.del" but it doesn't exist: <No such file or directory>

):

/usr/local/lib/ruby/gems/1.8/gems/ferret-0.11.4/lib/ferret/index.rb:285:in

`delete'

/usr/local/lib/ruby/gems/1.8/gems/ferret-0.11.4/lib/ferret/index.rb:285:in

`<<'

/usr/local/lib/ruby/gems/1.8/gems/ferret-0.11.4/lib/ferret/index.rb:8:in

`synchrolock'

/usr/local/lib/ruby/1.8/monitor.rb:238:in `synchronize' /usr/local/lib/ruby/gems/1.8/gems/ferret-0.11.4/lib/ferret/index.rb:8:in

`synchrolock'

/usr/local/lib/ruby/gems/1.8/gems/ferret-0.11.4/lib/ferret/index.rb:267:in

`<<'

/usr/local/lib/ruby/gems/1.8/gems/acts_as_ferret-0.4.1/lib/local_index.rb:152:in

`<<'

/usr/local/lib/ruby/gems/1.8/gems/acts_as_ferret-0.4.1/lib/instance_methods.rb:73:in

`ferret_create'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/callbacks.rb:333:in

`send'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/callbacks.rb:333:in

`callback'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/callbacks.rb:330:in

`each'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/callbacks.rb:330:in

`callback'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/callbacks.rb:255:in

`create_without_timestamps'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/timestamp.rb:39:in

`create'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1789:in

`create_or_update_without_callbacks'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/callbacks.rb:242:in

`create_or_update'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1545:in

`save_without_validation'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/validations.rb:752:in

`save_without_transactions'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/transactions.rb:129:in

`save'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/connection_adapters/abstract/database_statements.rb:59:in

`transaction'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/transactions.rb:95:in

`transaction'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/transactions.rb:121:in

`transaction'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/transactions.rb:129:in

`save'

/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:451:in

`create'

/app/controllers/application.rb:14:in `set_current_profile' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:456:in

`send'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:456:in

`call'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:435:in

`call'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:637:in

`call_filter'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:638:in

`call_filter'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:438:in

`call'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:637:in

`call_filter'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:634:in

`call_filter'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:619:in

`perform_action_without_benchmark'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/benchmarking.rb:66:in

`perform_action_without_rescue'

/usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/benchmarking.rb:66:in

`perform_action_without_rescue'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/rescue.rb:83:in

`perform_action'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/base.rb:430:in

`send'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/base.rb:430:in

`process_without_filters'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/filters.rb:624:in

`process_without_session_management_support'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/session_management.rb:114:in

`process'

/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/base.rb:330:in

`process'

/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/dispatcher.rb:41:in

`dispatch'

/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:78:in

`process'

/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:76:in

`synchronize'

/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:76:in

`process'

/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:618:in

`process_client'

/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:617:in `each' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:617:in

`process_client'

/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in `run' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in

`initialize'

Attachments

Change History

Changed 16 months ago by benjamin

  • status changed from new to closed
  • resolution set to worksforme

most probably you had 2 index-writer open at once .. make sure you _never_ have more than one index-writer at any time.

Changed 14 months ago by Hans

  • status changed from closed to reopened
  • resolution worksforme deleted

In a clustered environment, it is impossible to guarantee that you won't have two writers at once. How is this to be handled?

For example, I have a mongrel cluster with 5 servers. Multiple admins can be updating indexed models simultaneously.

Ferret SHOULD be able to put a write block flag up, and queue writes into the indices if the write block is active. I don't know if it does, but it should.

Changed 14 months ago by anonymous

Well, there are ways to make sure, you don't have two writers open. e.g. by serializing your indexing requests. acts_as_ferret provides a ferret server and omdb.org's open sourcecode provides another way how to do it.

There might be some sort of ferret server in the future to help you serializing your requests. This is one of the topics currently discussed on the ferret ml, and you're invited to give your opinion.

http://rubyforge.org/mailman/listinfo/ferret-talk

you should not expect ferret to be fixed in the near future to support multi-process-safety.

Changed 14 months ago by benjamin

  • owner changed from somebody to benjamin
  • status changed from reopened to new

Add/Change #290 (File Not Found error notifier)

Author



Change Properties
<Author field>
Action
as new
as The resolution will be set. Next status will be 'closed'
to The owner will change from benjamin. Next status will be 'new'
The owner will change from benjamin to anonymous. Next status will be 'assigned'
 
Note: See TracTickets for help on using tickets.