Richard Livsey
2006-Apr-28 20:43 UTC
[Rails] Ferret failing to rebuild_index - occasionally unable to delete a file (_j.cfs)
I''m switching all my fulltext searching over to ferret using the
acts_as_ferret plugin on windows (for development, will be deployed on
linux).
In my tests I have a setup method as follows to ensure the index is
reset for each test:
def setup
Item.rebuild_index
end
This works fine for the initial few tests but then suddenly fails for
the last few tests when it seems to be failing to delete a file.
Loaded suite E:/rails/thatsprogress/test/unit/item_test
Started
........EEEE
Finished in 8.922 seconds.
1) Error:
test_search_for_count(ItemTest):
Errno::EACCES: Permission denied -
E:/rails/thatsprogress/config/../index/test/Item/_j.cfs
....
Full trace included later.
It consistantly does it at this point, and looks like something is
stopping _j.cfs from being deleted.
Any ideas on what''s going on and how to stop it?
Thanks in advance.
Full trace is as follows:
Loaded suite E:/rails/thatsprogress/test/unit/item_test
Started
........EEEE
Finished in 8.922 seconds.
1) Error:
test_search_for_count(ItemTest):
Errno::EACCES: Permission denied -
E:/rails/thatsprogress/config/../index/test/Item/_j.cfs
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:105:in
`delete''
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:105:in
`refresh''
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:104:in
`each''
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:123:in
`each''
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:123:in
`each''
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:104:in
`refresh''
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:101:in
`synchronize''
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:101:in
`refresh''
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:74:in
`new''
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:68:in
`synchronize''
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/store/fs_store.rb:68:in
`new''
D:/programming/ruby/lib/ruby/gems/1.8/gems/ferret-0.9.1/lib/ferret/index/index.rb:133:in
`initialize''
E:/rails/thatsprogress/config/../vendor/plugins/acts_as_ferret/lib/acts_as_ferret.rb:223:in
`new''
E:/rails/thatsprogress/config/../vendor/plugins/acts_as_ferret/lib/acts_as_ferret.rb:223:in
`rebuild_index''
E:/rails/thatsprogress/test/unit/item_test.rb:15:in
`setup_without_fixtures''
E:/rails/thatsprogress/config/../vendor/rails/activerecord/lib/active_record/fixtures.rb:554:in
`setup''
E:/rails/thatsprogress/config/../vendor/rails/activerecord/lib/active_record/fixtures.rb:552:in
`setup''
--
R.Livsey
http://livsey.org
