connectivity issues? or something else?

110 views
Skip to first unread message

Aaron Gibralter

unread,
Jan 10, 2012, 9:13:06 AM1/10/12
to thinkin...@googlegroups.com
I've been seeing a lot of searchd/ThinkingSphinx/Riddle related errors come through in our Airbrake exception notification system and I'm just wondering if there's some sort of connection between the different errors and whether there is some sort of optimal way to deal with them:

Riddle::ResponseError: No response from searchd (status: , version: )
[GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/client.rb:653:in `request'
[GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/client.rb:226:in `run'
[GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/client.rb:338:in `query'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:422:in `block (2 levels) in populate'
[GEM_ROOT]/gems/activesupport-3.1.3/lib/active_support/notifications.rb:53:in `block in instrument'
[GEM_ROOT]/gems/activesupport-3.1.3/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
[GEM_ROOT]/gems/activesupport-3.1.3/lib/active_support/notifications.rb:53:in `instrument'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:526:in `log'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:535:in `log'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:421:in `block in populate'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:576:in `call'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:576:in `retry_on_stale_index'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:419:in `populate'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:182:in `method_missing'

Errno::ECONNRESET: Connection reset by peer - recvfrom(2)
[GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/0.9.9/client.rb:14:in `recv'
[GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/0.9.9/client.rb:14:in `initialise_connection'
[GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/client.rb:499:in `open_socket'
[GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/client.rb:536:in `connect'
[GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/client.rb:623:in `request'
[GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/client.rb:423:in `update'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/active_record/attribute_updates.rb:44:in `update_index'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/active_record/attribute_updates.rb:23:in `block in update_attribute_values'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/active_record/attribute_updates.rb:16:in `each'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/active_record/attribute_updates.rb:16:in `update_attribute_values'
[GEM_ROOT]/gems/activesupport-3.1.3/lib/active_support/callbacks.rb:476:in `_run_save_callbacks'
[GEM_ROOT]/gems/activesupport-3.1.3/lib/active_support/callbacks.rb:81:in `run_callbacks'
[GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/callbacks.rb:264:in `create_or_update'
[GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/persistence.rb:57:in `save!'
[GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/validations.rb:56:in `save!'
[GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/attribute_methods/dirty.rb:33:in `save!'
[GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:246:in `block in save!'
[GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:295:in `block in with_transaction_returning_status'
[GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
[GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:208:in `transaction'
[GEM_ROOT]/gems/newrelic_rpm-3.3.1/lib/new_relic/agent/method_tracer.rb:491:in `block in transaction_with_trace_ActiveRecord_self_name_transaction'
[GEM_ROOT]/gems/newrelic_rpm-3.3.1/lib/new_relic/agent/method_tracer.rb:242:in `trace_execution_scoped'
[GEM_ROOT]/gems/newrelic_rpm-3.3.1/lib/new_relic/agent/method_tracer.rb:486:in `transaction_with_trace_ActiveRecord_self_name_transaction'
[GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:293:in `with_transaction_returning_status'
[GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:246:in `save!'
app/models/response.rb:124:in `block (2 levels) in create_with_attributes!'
[GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
[GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:208:in `transaction'
[GEM_ROOT]/gems/newrelic_rpm-3.3.1/lib/new_relic/agent/method_tracer.rb:491:in `block in transaction_with_trace_ActiveRecord_self_name_transaction'
[GEM_ROOT]/gems/newrelic_rpm-3.3.1/lib/new_relic/agent/method_tracer.rb:242:in `trace_execution_scoped'
[GEM_ROOT]/gems/newrelic_rpm-3.3.1/lib/new_relic/agent/method_tracer.rb:486:in `transaction_with_trace_ActiveRecord_self_name_transaction'

ThinkingSphinx::SphinxError: index not preread
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:431:in `block in populate'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:576:in `call'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:576:in `retry_on_stale_index'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:419:in `populate'
[GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:182:in `method_missing'

Any thoughts? I'm using the latest version of TS/Riddle, Sphinx 2.0.2, and Ruby 1.9.3-p0.

Thank you!

Pat Allan

unread,
Jan 12, 2012, 3:53:45 AM1/12/12
to thinkin...@googlegroups.com

Hi Aaron

Not really sure what's causing this - is this a high traffic site? I've certainly seen others get these connection problems, but never in sites I manage, nor others that I've helped with that are reasonably high traffic.

The first two errors, I'd guess, are similar - but the third must have been timed with indexing - whether by deltas or otherwise.

It might be worth searching through the Sphinx forum, see if others have hit connection issues with the daemon, and found out how they worked around it? If I had more time right now, I'd jump in and look there myself.

Also worth noting: is it the same query causing the problem? Or different ones, in different parts of your site?

--
Pat

> --
> You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group.
> To view this discussion on the web visit https://groups.google.com/d/msg/thinking-sphinx/-/vvpYVkMQyNEJ.
> To post to this group, send email to thinkin...@googlegroups.com.
> To unsubscribe from this group, send email to thinking-sphi...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/thinking-sphinx?hl=en.

Henrik Nyh

unread,
Feb 16, 2012, 2:16:53 PM2/16/12
to Thinking Sphinx
This was our workaround for "index not preread": https://gist.github.com/1818244

We populate early and retry on exception, as suggested by Pat in
another thread (that Google Groups would not let me reply to). Simple
fix but trickier to write a spec for.

On Jan 12, 9:53 am, "Pat Allan" <p...@freelancing-gods.com> wrote:
> Hi Aaron
>
> Not really sure what's causing this - is this a high traffic site? I've certainly seen others get these connection problems, but never in sites I manage, nor others that I've helped with that are reasonably high traffic.
>
> The first two errors, I'd guess, are similar - but the third must have been timed with indexing - whether by deltas or otherwise.
>
> It might be worth searching through the Sphinx forum, see if others have hit connection issues with the daemon, and found out how they worked around it? If I had more time right now, I'd jump in and look there myself.
>
> Also worth noting: is it the same query causing the problem? Or different ones, in different parts of your site?
>
> --
> Pat
>
> On 11/01/2012, at 1:13 AM, Aaron Gibralter wrote:
>
>
>
>
>
>
>
> > I've been seeing a lot of searchd/ThinkingSphinx/Riddle related errors come through in our Airbrake exception notification system and I'm just wondering if there's some sort of connection between the different errors and whether there is some sort of optimal way to deal with them:
>
> > Riddle::ResponseError: No response from searchd (status: , version: )
> > [GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/client.rb:653:in `request'
> > [GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/client.rb:226:in `run'
> > [GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/client.rb:338:in `query'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:422:in `block (2 levels) in populate'
> > [GEM_ROOT]/gems/activesupport-3.1.3/lib/active_support/notifications.rb:53: in `block in instrument'
> > [GEM_ROOT]/gems/activesupport-3.1.3/lib/active_support/notifications/instru menter.rb:21:in `instrument'
> > [GEM_ROOT]/gems/activesupport-3.1.3/lib/active_support/notifications.rb:53: in `instrument'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:526:in `log'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:535:in `log'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:421:in `block in populate'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:576:in `call'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:576:in `retry_on_stale_index'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:419:in `populate'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:182:in `method_missing'
>
> > Errno::ECONNRESET: Connection reset by peer - recvfrom(2)
> > [GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/0.9.9/client.rb:14:in `recv'
> > [GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/0.9.9/client.rb:14:in `initialise_connection'
> > [GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/client.rb:499:in `open_socket'
> > [GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/client.rb:536:in `connect'
> > [GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/client.rb:623:in `request'
> > [GEM_ROOT]/gems/riddle-1.5.1/lib/riddle/client.rb:423:in `update'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/active_record/at tribute_updates.rb:44:in `update_index'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/active_record/at tribute_updates.rb:23:in `block in update_attribute_values'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/active_record/at tribute_updates.rb:16:in `each'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/active_record/at tribute_updates.rb:16:in `update_attribute_values'
> > [GEM_ROOT]/gems/activesupport-3.1.3/lib/active_support/callbacks.rb:476:in `_run_save_callbacks'
> > [GEM_ROOT]/gems/activesupport-3.1.3/lib/active_support/callbacks.rb:81:in `run_callbacks'
> > [GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/callbacks.rb:264:in `create_or_update'
> > [GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/persistence.rb:57:in `save!'
> > [GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/validations.rb:56:in `save!'
> > [GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/attribute_methods/dirt y.rb:33:in `save!'
> > [GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:246:in `block in save!'
> > [GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:295:in `block in with_transaction_returning_status'
> > [GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/connection_adapters/ab stract/database_statements.rb:192:in `transaction'
> > [GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:208:in `transaction'
> > [GEM_ROOT]/gems/newrelic_rpm-3.3.1/lib/new_relic/agent/method_tracer.rb:491 :in `block in transaction_with_trace_ActiveRecord_self_name_transaction'
> > [GEM_ROOT]/gems/newrelic_rpm-3.3.1/lib/new_relic/agent/method_tracer.rb:242 :in `trace_execution_scoped'
> > [GEM_ROOT]/gems/newrelic_rpm-3.3.1/lib/new_relic/agent/method_tracer.rb:486 :in `transaction_with_trace_ActiveRecord_self_name_transaction'
> > [GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:293:in `with_transaction_returning_status'
> > [GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:246:in `save!'
> > app/models/response.rb:124:in `block (2 levels) in create_with_attributes!'
> > [GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/connection_adapters/ab stract/database_statements.rb:192:in `transaction'
> > [GEM_ROOT]/gems/activerecord-3.1.3/lib/active_record/transactions.rb:208:in `transaction'
> > [GEM_ROOT]/gems/newrelic_rpm-3.3.1/lib/new_relic/agent/method_tracer.rb:491 :in `block in transaction_with_trace_ActiveRecord_self_name_transaction'
> > [GEM_ROOT]/gems/newrelic_rpm-3.3.1/lib/new_relic/agent/method_tracer.rb:242 :in `trace_execution_scoped'
> > [GEM_ROOT]/gems/newrelic_rpm-3.3.1/lib/new_relic/agent/method_tracer.rb:486 :in `transaction_with_trace_ActiveRecord_self_name_transaction'
>
> > ThinkingSphinx::SphinxError: index not preread
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:431:in `block in populate'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:576:in `call'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:576:in `retry_on_stale_index'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:419:in `populate'
> > [GEM_ROOT]/gems/thinking-sphinx-2.0.11/lib/thinking_sphinx/search.rb:182:in `method_missing'
>
> > Any thoughts? I'm using the latest version of TS/Riddle, Sphinx 2.0.2, and Ruby 1.9.3-p0.
>
> > Thank you!
>
> > --
> > You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group.
> > To view this discussion on the web visithttps://groups.google.com/d/msg/thinking-sphinx/-/vvpYVkMQyNEJ.
Reply all
Reply to author
Forward
0 new messages