Hey DrMark - thanks for chiming in... I seem to have made some progress with this issue, but only by doing something which I don't fully understand, which makes me uncomfortable.
Based on Paul Dowman's comment at the bottom of this blog post: http://elimiller.blogspot.com/2007/06/proper-cache-expiry-with-aftercommit.html, I've commented out the anonymous class block starting on line 18 of delta.rb. It's my understanding that the 'define_callbacks' call right above it accomplishes the same goal (assuming the method is available). Anyways, this seems to have fixed my issue as far as I can tell: index_delta is now being called as it should, and I can see that my delta index is being rotated in searchd.log. I'm happy that this seems to have fixed my issue, but I would very much like to know why. Any insights? Thanks, Sam On Mar 2, 9:47 am, DrMark <[email protected]> wrote: > Hey Sam & Solomon, > > I don't reply often due to my insane schedule but I do read the forum > digest daily. If you have any further details I will help however I > can. > > Best of luck, > > DrMark > > On Mar 1, 7:39 pm, Sam <[email protected]> wrote: > > > My problem seems to be the same as the one in this past > > thread:http://groups.google.com/group/thinking-sphinx/browse_thread/thread/3... > > > Solomon: You mention updating to DrMarks fork of the code fixed your > > problem; I'm assuming 0.9.5 is more current now, being that the thread > > linked above was from back in September. Any idea why DrMarks version > > fixed your problem? > > > Rick Olson: If you're on the air, I've determined that after_commit > > exists on my model, but index_delta never gets called. Your replies in > > the post linked above indicate that you might know what could cause > > index_delta to get missed. Any ideas? > > > Thanks in advance for any help on this, > > Sam > > > On Mar 1, 7:24 pm, Sam <[email protected]> wrote: > > > > Hey Solomon, > > > > Thanks for the reply -- I did indeed verify that my sphinx binaries > > > were in the path with some logging statements. Now that I've reverted > > > my after_save filter to the original after_commit filter, the problem > > > is that index_delta is not actually getting called at all (which was > > > my original problem to begin with of course), and I can't figure out > > > why; the craziness happening in delta.rb is beyond my ruby skill > > > level. > > > > Anyone have any insights for me? > > > > Thanks, > > > Sam > > > > On Mar 1, 6:33 pm, Solomon White <[email protected]> wrote: > > > > > Sam-- > > > > > I would check the PATH as your mongrel sees it. I was experiencing the > > > > same > > > > symptom (index_delta being called, but deltas not updating). Adding a > > > > statement to write ENV to the log revealed that my problem was that > > > > PATH for > > > > the mongrel processes did not include /usr/local/bin, where my sphinx > > > > binaries were installed. > > > > > If this turns out to be the problem, you can remedy by adding something > > > > like: > > > > > ENV['PATH'] = "#{ENV['PATH']}:/usr/local/bin" > > > > > to your config/environment.rb > > > > > Hope this helps, > > > > > Solomon > > > > > On Sun, Mar 1, 2009 at 5:33 PM, Sam <[email protected]> wrote: > > > > > > I got excited and lied. This did not fix my problem. The index_delta > > > > > now gets called, but I'm still not getting my created/updated records > > > > > in search results. > > > > > > -Sam > > > > > > On Mar 1, 5:17 pm, Sam <[email protected]> wrote: > > > > > > Nope, no jruby. I should have specified my environment: rails 2.2.0 > > > > > > over mongrel in development, ruby 1.8.6, Sphinx 0.9.8.1, > > > > > > ThinkingSphinx 0.9.5, MySql 5.1.30 > > > > > > > -sam > > > > > > > On Mar 1, 5:09 pm, Steven Bristol <[email protected]> wrote: > > > > > > > > On Sun, Mar 1, 2009 at 7:08 PM, Sam <[email protected]> wrote: > > > > > > > > > I've been having trouble with delta indexing lately. I've got > > > > > > > > the :delta property set on my model, and I'm fairly certain > > > > > > > > that the > > > > > > > > indexer binary is in the path, since I've got bin_path set in > > > > > > > > config/ > > > > > > > > sphinx.yml, but whenever I add/remove or modify a record the > > > > > > > > indexer > > > > > > > > does not appear to run, and I get no log output indicating that > > > > > > > > it > > > > > > > > has. The delta field on the record gets updated to TRUE just > > > > > > > > fine, > > > > > but > > > > > > > > the delta index isn't updated and searching for the new/updated > > > > > record > > > > > > > > does not return any results. > > > > > > > > > My debugging efforts have revealed that the problem boils down > > > > > > > > to > > > > > > > > index_delta not being called when it should be. I've changed > > > > > > > > 'after_commit :index_delta' in thinking-sphinx/active_record.rb > > > > > > > > to > > > > > > > > 'after_save :index_delta' and it's now working in my basic > > > > > > > > testing > > > > > > > > scenarios. Can anyone shed some light on why the after_commit > > > > > > > > filter > > > > > > > > wasn't working for me, and whether changing this to after_save > > > > > > > > is > > > > > > > > going to cause me any unforeseen problems? > > > > > > > > > Thanks in advance, > > > > > > > > Sam > > > > > > > > Are you running jruby? I'm having the same problem on jruby. > > > > > > > > cheers, > > > > > > > steven brisotl --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
