<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -76,21 +76,25 @@ module ThinkingSphinx
           def index_delta
             return true unless ThinkingSphinx.updates_enabled? &amp;&amp; ThinkingSphinx.deltas_enabled?
             
-            config = ThinkingSphinx::Configuration.new
-            client = Riddle::Client.new config.address, config.port
+            begin
+              config = ThinkingSphinx::Configuration.new
+              client = Riddle::Client.new config.address, config.port
             
-            client.update(
-              &quot;#{self.class.indexes.first.name}_core&quot;,
-              ['sphinx_deleted'],
-              {self.id =&gt; 1}
-            ) if self.in_core_index?
+              client.update(
+                &quot;#{self.class.indexes.first.name}_core&quot;,
+                ['sphinx_deleted'],
+                {self.id =&gt; 1}
+              ) if self.in_core_index?
 
-            unless ThinkingSphinx.offline_indexing?
-              configuration = ThinkingSphinx::Configuration.new
-              system &quot;indexer --config #{configuration.config_file} --rotate #{self.class.indexes.first.name}_delta&quot;
+              unless ThinkingSphinx.offline_indexing?
+                configuration = ThinkingSphinx::Configuration.new
+                system &quot;indexer --config #{configuration.config_file} --rotate #{self.class.indexes.first.name}_delta&quot;
+              end
+            rescue Exception =&gt; e
+              ::ActiveRecord::Base.logger.error &quot;#{e.message}: #{e.backtrace.join('\n')}&quot;
+            ensure
+              true
             end
-            
-            true
           end
         end
       end</diff>
      <filename>lib/thinking_sphinx/active_record/delta.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,6 +7,7 @@ require 'not_a_mock'
 require 'lib/thinking_sphinx'
 require 'spec/sphinx_helper'
 
+ActiveRecord::Base.logger = Logger.new(StringIO.new)
 Spec::Runner.configure do |config|
   # config.mock_with NotAMock::RspecMockFrameworkAdapter
   </diff>
      <filename>spec/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -203,6 +203,13 @@ describe &quot;ThinkingSphinx::ActiveRecord::Delta&quot; do
       
       @client.should have_received(:update)
     end
+    
+    it &quot;should capture and log silently if exception&quot; do
+      ThinkingSphinx::Configuration.stub_method_to_raise(:new =&gt; RuntimeError.new('arrrrg'))
+      @person.send(:index_delta).should_not raise_error(RuntimeError)
+      @person.send(:index_delta).should be_true
+    end
+    
   end
   
   describe &quot;index_delta method with offline indexing&quot; do</diff>
      <filename>spec/unit/thinking_sphinx/active_record/delta_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>da31042781e6dc4d94d311be624b45adfc8bb879</id>
    </parent>
  </parents>
  <author>
    <name>Ed Hickey</name>
    <email>ed@ed-new-laptop.local</email>
  </author>
  <url>http://github.com/bassnode/thinking-sphinx/commit/b6d51b4c8f6c585eb995438cc162f16aa99dd2d2</url>
  <id>b6d51b4c8f6c585eb995438cc162f16aa99dd2d2</id>
  <committed-date>2008-09-10T09:27:42-07:00</committed-date>
  <authored-date>2008-09-10T09:27:42-07:00</authored-date>
  <message>wrap the after filter with a begin block in case Sphinx is offline</message>
  <tree>d0bb2c0c151c49f6e5f80c783351c4c16a5ecb22</tree>
  <committer>
    <name>Ed Hickey</name>
    <email>ed@ed-new-laptop.local</email>
  </committer>
</commit>
