Hi Enrico

The start_with_autostop method means that the daemon stops after the entire 
test process has finished. This also means that even though you've deleted the 
index files, Sphinx will still have the old data loaded (real-time indices are 
largely stored in RAM).

Could you try with the examples of my previous post in this thread instead, 
while using the latest version of TS from the develop branch?

You shouldn't need a generate method - the callbacks will automatically 
populate data.

-- 
Pat

On 14 Mar 2014, at 2:14 am, Enrico Pilotto <[email protected]> wrote:

> Hi, I've similar issue with tests and Thinking Sphinx with Real Time indices.
> I've a test helper: sphinx_helper.rb like this:
> 
> module SphinxHelper
>   def init_thinking_sphinx
>     delete_indeces_files
>     ThinkingSphinx::Test.init
>     ThinkingSphinx::Test.start_with_autostop
>     generate
>   end
> 
>   def generate
>     
> ActiveSupport::Notifications.unsubscribe('start_populating.thinking_sphinx.real_time')
>     
> ActiveSupport::Notifications.unsubscribe('populated.thinking_sphinx.real_time')
>     
> ActiveSupport::Notifications.unsubscribe('finish_populating.thinking_sphinx.real_time')
>     indices = ThinkingSphinx::Configuration.instance.indices.select { |index| 
> index.type == 'rt' }
>     indices.each do |index|
>       ThinkingSphinx::RealTime::Populator.populate index
>     end
>   end
> 
>   def delete_indeces_files
>     # FileUtils.rm_rf(ThinkingSphinx::Test.config.indices_location)
>     Dir[Rails.root.join(ThinkingSphinx::Test.config.indices_location, 
> '*.{meta,ram}')].each do |file|
>       FileUtils.rm_rf(file)
>     end
>   end
> 
> end
> 
> In tests that use ts in setup method I call the method init_thinking_sphinx 
> that delete indices, init ts, start ts and generate indices. All seems works 
> if I run unit tests and integration tests separately. But if I run all my 
> test (unit and integration) with rake test I get the error 
> ThinkingSphinx::Search::StaleIdsException: Record IDs found by Sphinx but not 
> by ActiveRecord ONLY on integration test that use thinking sphinx. If I run 
> integration tests alone, I get no errors.
> 
> Thx for reply!
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Thinking Sphinx" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/thinking-sphinx.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/thinking-sphinx.
For more options, visit https://groups.google.com/d/optout.

Reply via email to