Hi Jason
Just to confirm - though it sounds like a potential bug - are you using TS
1.1.14? Or 1.3.14 (ie: the latest version)?
--
Pat
On 14/01/2010, at 3:56 AM, Jason wrote:
> We use delayed_delta indexing (TS-1.1.14, sphinx-0.9.9, Rails 2.3.4)
>
> The symptom was that delayed indexing works find in production
> (RAILS_ENV=production) but Delayed::Jobs were not getting enqueued in
> development mode (RAILS_ENV=development).
>
> It looks like the culprit was ThinkingSphinx::Attributed#live_value
> hitting an exception ("undefined method"). It's called when
> after_commit fires off update_attribute_values (which calls
> attribute_values_for_index which calls live_value).
>
> I am assuming that in production, these exceptions get thrown but
> something catches them and the after_commit :index_delta still gets to
> run. Perhaps in development mode, things aren't so forgiving?
>
> It looks like live_value runs into a problem with
>
> has permissionables(:readable), :as => :permissionable_kludge, :type
> => :boolean
>
> [I have this defined so an OUTER JOIN gets emitted to permissionables]
>
> The stack is object, :permissionables, :readable, so live_value does
>
> object = object.send(:permissionables)
>
> now object is an array of permissionables. the array doesn't define
> ":readable" so we then get the undefined method error next time
> through the loop.
>
> I don't understand what any of this code is for, so I don't know the
> best fix (perhaps this is just a documentation oversight and I'm mis-
> using has() or perhaps I didn't properly read the docs).
>
> My kludgey fix (kludge on top of kludge) was to change the has line to
> refer to a string and change the type to string so it gets excluded
> from the array that attribute_values_for_index iterates down.
>
> Thanks again for a great package!
>
> -- Jason
> --
> 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.