I asked this question over on Ruby Forum, but it never made it to this
list, so I’m posting it directly now-
===
I’ve got an index with over 11M entries. Both server and clients are
running Ferret gem 0.11.4.
If I do “UserMessage.find_id_by_contents(‘kenn*’, :limit => 49)”, it
works fine. If I do " UserMessage.find_id_by_contents(‘kenn*’, :limit
=> 50)", it throws an exception, like this:
UserMessage.find_id_by_contents ‘kenn*’, :limit => 50
IOError: IO Error occured at <except.c>:93 in xraise
Error occured in fs_store.c:293 - fsi_seek_i
seeking pos -1473943740:
from (druby://ferret.lingr.com:9009) /usr/lib/ruby/gems/1.8/
gems/ferret-0.11.4/lib/ferret/index.rb:411:in []' from (druby://ferret.lingr.com:9009) /usr/lib/ruby/gems/1.8/ gems/ferret-0.11.4/lib/ferret/index.rb:411:in[]’
from (druby://ferret.lingr.com:9009) /usr/lib/ruby/1.8/
monitor.rb:229:in synchronize' from (druby://ferret.lingr.com:9009) /usr/lib/ruby/gems/1.8/ gems/ferret-0.11.4/lib/ferret/index.rb:403:in[]’
… yada yada yada …
Any idea what I can do to recover from this? Rebuilding this index
would take a LOOOOOOOOOOOOONG time
I’m not sure but the negative seeking pos could be caused by an overflow
of some sort. Maybe a large file problem? What does your index look like
with ‘ls -l’?
Could you try reproducing this on a copy of your index with a small
script with plain Ferret, and then retry with 0.11.6?
Cheers,
Jens
On Wed, Feb 06, 2008 at 09:33:00AM -0800, Danny B. wrote:
If I do “UserMessage.find_id_by_contents(‘kenn*’, :limit => 49)”, it
gems/ferret-0.11.4/lib/ferret/index.rb:411:in `[]’ http://www.lingr.com/help/about#danny
I’m not sure but the negative seeking pos could be caused by an
overflow
of some sort. Maybe a large file problem? What does your index look
like
with ‘ls -l’?
I’ve attached the listing below…
Could you try reproducing this on a copy of your index with a small
script with plain Ferret, and then retry with 0.11.6?
Ok, might be a large file issue. There has been at least one patch [1]
after 0.11.4 was released regarding LFS, so upgrading to 0.11.6 might
indeed help.
0.11.4 and 0.11.6 are index compatible, so no rebuild should be
necessary.
Btw, from your directory listing it looks like you’re running the DRb
server as root - please don’t do that.
Given proper write access to the index and log directories it’s not
necessary at all. I usually run it as the same (non-root) user that’s
running the Mongrels.
Ok, might be a large file issue. There has been at least one patch [1]
after 0.11.4 was released regarding LFS, so upgrading to 0.11.6 might
indeed help.
0.11.4 and 0.11.6 are index compatible, so no rebuild should be
necessary.
Thanks, Jens! I upgraded to the 0.11.6 gem, and the problem went away.
Best Regards,
Danny
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.