IO Error when querying on a single field


#1

I’m getting an exception when I query a large index (4GB, ~700K docs)
on a particular field.

For example:

supplier_id:77490

IO Error occured at <except.c>:93 in xraise (IOError)
Error occured in fs_store.c:293 - fsi_seek_i
seeking pos -1515676213:

Anecdotally it seems to happen for supplier_ids > 76900.

Here is the field info for that field:

supplier_id:
index: yes
term_vector: :with_position_offsets
store: :yes

I’m running 0.11.4 with Ruby 1.8.4 on Linux. Has anyone seen anything
like this?

Erik


#2

I’m getting an exception when I query a large index (4GB, ~700K docs)
on a particular field.

Try this:

[PATCH] Large file issues
http://ferret.davebalmain.com/trac/ticket/215


Kyle M.
Software Engineer
CastTV, Inc
http://www.casttv.com


#3

Kyle, Thanks for the input. I appreciate it.

Stupid question: what’s the best way to apply this patch?

I’m getting the following error.

lionheart:/usr/local/lib/ruby/gems/1.8/gems/ferret-0.11.4 erik$ sudo
patch -p0 <ferret64.patch
patching file ruby/test/unit/largefile/tc_sample_large.rb
patching file ruby/test/unit/ts_largefile.rb
can’t find file to patch at input line 63
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:

|Index: c/include/index.h
|===================================================================
|— c/include/index.h (revision 770)

+++ c/include/index.h (working copy)

File to patch:


#4

Erik M. wrote:

It looks like the ferret SVN repository is down? I can’t seem to
check out the current trunk.

I can’t get at the SVN repository directly:

$ svn checkout svn://davebalmain.com/ferret/trunk ferret
svn: Can’t connect to host ‘davebalmain.com’: Connection refused

But you can download the latest trunk via the subversion web interface:
http://ferret.davebalmain.com/trac/browser/trunk

Click on the “Zip archive” link at the bottom of the page.

-Stuart Sierra


#5

I realized that I was applying the patch against the gem instead of
checking out the source. Stupid mistake.

It looks like the ferret SVN repository is down? I can’t seem to
check out the current trunk. Anyway, I grabbed the source gem and
applied the patch manually. I had some trouble using the rake install
task on Linux–rake ext didn’t work, but rake -v did. The test cases
passed, so I’m running the reindex that failed with the trunk version
of index.h and index.c. Thanks for the help.

Did you ever hear from Dave about getting this fix included in the
trunk?

Thanks again Kyle.

Erik