Hi Donald I've just updated TS so it will not raise errors when updating indexes - only when searching. And if you don't want the errors when searching, then you'll need to do two things:
* Add a 'rescue Riddle::ConnectionError' to any actions that search. * Add the :populate => true option to your search calls. Normally, Thinking Sphinx lazily loads search results (allowing for sphinx scopes and such) - but if you want the rescue to take effect, then you'll need to force the results to load immediately - hence the :populate option. Hopefully this sorts it all out. Cheers -- Pat On 31/12/2010, at 6:25 PM, Donald Piret wrote: > I'm working on a setup where my sphinx server is separate from the > application servers. > However in the event the sphinx server is down I'm getting a lot of > the following Hoptoad notification for failed requests: > > Error Message: > Riddle::ConnectionError: Connection to domU-12-31-39-16-84- > D2.compute-1.internal on 9312 failed. Connection refused - connect(2) > > Where: > host/inquiries#update > [GEM_ROOT]/gems/riddle-1.2.1/lib/riddle/client.rb, line 562 > > Backtrace Summary: > [GEM_ROOT]/gems/riddle-1.2.1/lib/riddle/client.rb:562:in `rescue in > initialise_socket' > [GEM_ROOT]/gems/riddle-1.2.1/lib/riddle/client.rb:550:in > `initialise_socket' > [GEM_ROOT]/gems/riddle-1.2.1/lib/riddle/0.9.9/client.rb:8:in > `initialise_connection' > [GEM_ROOT]/gems/riddle-1.2.1/lib/riddle/client.rb:485:in `open_socket' > [GEM_ROOT]/gems/riddle-1.2.1/lib/riddle/client.rb:521:in `connect' > [GEM_ROOT]/gems/riddle-1.2.1/lib/riddle/client.rb:581:in `request' > [GEM_ROOT]/gems/riddle-1.2.1/lib/riddle/client.rb:220:in `run' > [GEM_ROOT]/gems/riddle-1.2.1/lib/riddle/client.rb:327:in `query' > [GEM_ROOT]/bundler/gems/thinking-sphinx-5a6dc22fd1ae/lib/ > thinking_sphinx/search.rb:391:in `block (2 levels) in populate' > [GEM_ROOT]/gems/activesupport-3.0.3/lib/active_support/ > notifications.rb:52:in `block in instrument' > [GEM_ROOT]/gems/activesupport-3.0.3/lib/active_support/notifications/ > instrumenter.rb:21:in `instrument' > [GEM_ROOT]/gems/activesupport-3.0.3/lib/active_support/ > notifications.rb:52:in `instrument' > [GEM_ROOT]/bundler/gems/thinking-sphinx-5a6dc22fd1ae/lib/ > thinking_sphinx/search.rb:463:in `log' > [GEM_ROOT]/bundler/gems/thinking-sphinx-5a6dc22fd1ae/lib/ > thinking_sphinx/search.rb:472:in `log' > [GEM_ROOT]/bundler/gems/thinking-sphinx-5a6dc22fd1ae/lib/ > thinking_sphinx/search.rb:390:in `block in populate' > [GEM_ROOT]/bundler/gems/thinking-sphinx-5a6dc22fd1ae/lib/ > thinking_sphinx/search.rb:511:in `call' > [GEM_ROOT]/bundler/gems/thinking-sphinx-5a6dc22fd1ae/lib/ > thinking_sphinx/search.rb:511:in `retry_on_stale_index' > [GEM_ROOT]/bundler/gems/thinking-sphinx-5a6dc22fd1ae/lib/ > thinking_sphinx/search.rb:388:in `populate' > [GEM_ROOT]/bundler/gems/thinking-sphinx-5a6dc22fd1ae/lib/ > thinking_sphinx/search.rb:176:in `method_missing' > [GEM_ROOT]/bundler/gems/thinking-sphinx-5a6dc22fd1ae/lib/ > thinking_sphinx/search_methods.rb:395:in `search_for_id' > [GEM_ROOT]/bundler/gems/thinking-sphinx-5a6dc22fd1ae/lib/ > thinking_sphinx/active_record/attribute_updates.rb:46:in > `update_index' > [GEM_ROOT]/bundler/gems/thinking-sphinx-5a6dc22fd1ae/lib/ > thinking_sphinx/active_record/attribute_updates.rb:23:in `block in > update_attribute_values' > [GEM_ROOT]/bundler/gems/thinking-sphinx-5a6dc22fd1ae/lib/ > thinking_sphinx/active_record/attribute_updates.rb:16:in `each' > [GEM_ROOT]/bundler/gems/thinking-sphinx-5a6dc22fd1ae/lib/ > thinking_sphinx/active_record/attribute_updates.rb:16:in > `update_attribute_values' > [GEM_ROOT]/gems/activesupport-3.0.3/lib/active_support/callbacks.rb: > 463:in `_run_save_callbacks' > [GEM_ROOT]/gems/activerecord-3.0.3/lib/active_record/callbacks.rb: > 277:in `create_or_update' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/machine.rb: > 1524:in `block (3 levels) in define_action_helpers' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:149:in `block in run_actions' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:169:in `catch_exceptions' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:147:in `run_actions' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:132:in `run_callbacks' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:222:in `run_callbacks' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:127:in `block in run_callbacks' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/transition.rb: > 356:in `before' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/transition.rb: > 188:in `block in run_callbacks' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/transition.rb: > 279:in `block in pausable' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/transition.rb: > 279:in `catch' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/transition.rb: > 279:in `pausable' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/transition.rb: > 188:in `run_callbacks' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:126:in `run_callbacks' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:211:in `run_callbacks' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:63:in `block (2 levels) in perform' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:63:in `catch' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:63:in `block in perform' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:185:in `within_transaction' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:62:in `perform' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/machine.rb: > 1524:in `block (2 levels) in define_action_helpers' > [GEM_ROOT]/gems/activerecord-3.0.3/lib/active_record/persistence.rb: > 39:in `save' > [GEM_ROOT]/gems/activerecord-3.0.3/lib/active_record/validations.rb: > 43:in `save' > [GEM_ROOT]/gems/activerecord-3.0.3/lib/active_record/attribute_methods/ > dirty.rb:21:in `save' > [GEM_ROOT]/gems/activerecord-3.0.3/lib/active_record/transactions.rb: > 237:in `block (2 levels) in save' > [GEM_ROOT]/gems/activerecord-3.0.3/lib/active_record/transactions.rb: > 289:in `block in with_transaction_returning_status' > [GEM_ROOT]/gems/activerecord-3.0.3/lib/active_record/ > connection_adapters/abstract/database_statements.rb:139:in > `transaction' > [GEM_ROOT]/gems/activerecord-3.0.3/lib/active_record/transactions.rb: > 204:in `transaction' > [GEM_ROOT]/gems/newrelic_rpm-2.13.4/lib/new_relic/agent/ > method_tracer.rb:319:in `block in > transaction_with_trace_ActiveRecord_self_name_transaction' > [GEM_ROOT]/gems/newrelic_rpm-2.13.4/lib/new_relic/agent/ > method_tracer.rb:141:in `trace_execution_scoped' > [GEM_ROOT]/gems/newrelic_rpm-2.13.4/lib/new_relic/agent/ > method_tracer.rb:314:in > `transaction_with_trace_ActiveRecord_self_name_transaction' > [GEM_ROOT]/gems/activerecord-3.0.3/lib/active_record/transactions.rb: > 287:in `with_transaction_returning_status' > [GEM_ROOT]/gems/activerecord-3.0.3/lib/active_record/transactions.rb: > 237:in `block in save' > [GEM_ROOT]/gems/activerecord-3.0.3/lib/active_record/transactions.rb: > 248:in `rollback_active_record_state!' > [GEM_ROOT]/gems/activerecord-3.0.3/lib/active_record/transactions.rb: > 236:in `save' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:153:in `block (2 levels) in run_actions' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:153:in `each' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:153:in `block in run_actions' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:169:in `catch_exceptions' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:147:in `run_actions' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/ > transition_collection.rb:60:in `perform' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/transition.rb: > 162:in `perform' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/event.rb:207:in > `fire' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/event.rb:258:in > `block in add_actions' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/machine.rb: > 537:in `call' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/machine.rb: > 537:in `block (2 levels) in define_instance_method' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/event.rb:263:in > `block in add_actions' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/machine.rb: > 537:in `call' > [GEM_ROOT]/gems/state_machine-0.9.4/lib/state_machine/machine.rb: > 537:in `block (2 levels) in define_instance_method' > [PROJECT_ROOT]/app/controllers/host/inquiries_controller.rb:227:in > `process_inquiry_action' > [PROJECT_ROOT]/app/controllers/host/inquiries_controller.rb:52:in > `update' > [GEM_ROOT]/gems/actionpack-3.0.3/lib/action_controller/metal/ > implicit_render.rb:4:in `send_action' > [GEM_ROOT]/gems/actionpack-3.0.3/lib/abstract_controller/base.rb: > 151:in `process_action' > [GEM_ROOT]/gems/actionpack-3.0.3/lib/action_controller/metal/ > rendering.rb:11:in `process_action' > [GEM_ROOT]/gems/actionpack-3.0.3/lib/abstract_controller/callbacks.rb: > 18:in `block in process_action' > [GEM_ROOT]/gems/activesupport-3.0.3/lib/active_support/callbacks.rb: > 470:in `_run__264061087__process_action__898590983__callbacks' > [GEM_ROOT]/gems/activesupport-3.0.3/lib/active_support/callbacks.rb: > 409:in `_run_process_action_callbacks' > [GEM_ROOT]/gems/activesupport-3.0.3/lib/active_support/callbacks.rb: > 93:in `run_callbacks' > [GEM_ROOT]/gems/actionpack-3.0.3/lib/abstract_controller/callbacks.rb: > 17:in `process_action' > [GEM_ROOT]/gems/actionpack-3.0.3/lib/action_controller/metal/ > instrumentation.rb:30:in `block in process_action' > [GEM_ROOT]/gems/activesupport-3.0.3/lib/active_support/ > notifications.rb:52:in `block in instrument' > [GEM_ROOT]/gems/activesupport-3.0.3/lib/active_support/notifications/ > instrumenter.rb:21:in `instrument' > [GEM_ROOT]/gems/activesupport-3.0.3/lib/active_support/ > notifications.rb:52:in `instrument' > [GEM_ROOT]/gems/actionpack-3.0.3/lib/action_controller/metal/ > instrumentation.rb:29:in `process_action' > [GEM_ROOT]/gems/actionpack-3.0.3/lib/action_controller/metal/rescue.rb: > 17:in `process_action' > [GEM_ROOT]/gems/newrelic_rpm-2.13.4/lib/new_relic/agent/ > instrumentation/rails3/action_controller.rb:34:in `block in > process_action' > [GEM_ROOT]/gems/newrelic_rpm-2.13.4/lib/new_relic/agent/ > instrumentation/controller_instrumentation.rb:252:in `block in > perform_action_with_newrelic_trace' > [GEM_ROOT]/gems/newrelic_rpm-2.13.4/lib/new_relic/agent/ > method_tracer.rb:141:in `trace_execution_scoped' > [GEM_ROOT]/gems/newrelic_rpm-2.13.4/lib/new_relic/agent/ > instrumentation/controller_instrumentation.rb:247:in > `perform_action_with_newrelic_trace' > [GEM_ROOT]/gems/newrelic_rpm-2.13.4/lib/new_relic/agent/ > instrumentation/rails3/action_controller.rb:33:in `process_action' > [GEM_ROOT]/gems/actionpack-3.0.3/lib/abstract_controller/base.rb: > 120:in `process' > [GEM_ROOT]/gems/actionpack-3.0.3/lib/abstract_controller/rendering.rb: > 40:in `process' > [GEM_ROOT]/gems/actionpack-3.0.3/lib/action_controller/metal.rb:138:in > `dispatch' > [GEM_ROOT]/gems/actionpack-3.0.3/lib/action_controller/metal/ > rack_delegation.rb:14:in `dispatch' > > > Is it possible to somehow have the application not error out when the > sphinx server is unavailable or the config file not present for > whatever reason? > > -- > You received this message because you are subscribed to the Google Groups > "Thinking Sphinx" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/thinking-sphinx?hl=en. > -- You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/thinking-sphinx?hl=en.
