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
-~----------~----~----~----~------~----~------~--~---

Reply via email to