Excerpts from nicolas.pouillard's message of Mon Nov 19 05:53:33 -0800 2007:
> The problem was: ':20492 is out of range [0..20456] for IndexReader#[]' (error
> type ArgumentError)
> A backtrace follows:
> /opt/local/lib/ruby/gems/1.8/gems/ferret-0.11.4/lib/ferret/index.rb:411:in
> `[]': :20492 is out of range [0..20456] for IndexReader#[] (ArgumentError)
[snip]
> The problem was: 'State Error occured at <except.c>:93 in xraise
> Error occured in index.c:4142 - sr_get_lazy_doc
>     Document 9761 has already been deleted
> 
> ' (error type Ferret::StateError)
> A backtrace follows:
> /opt/local/lib/ruby/gems/1.8/gems/ferret-0.11.4/lib/ferret/index.rb:411:in
> `[]': State Error occured at <except.c>:93 in xraise (Ferret::StateError)
> Error occured in index.c:4142 - sr_get_lazy_doc
>     Document 9761 has already been deleted

These errors (and the previous errors you reported about the
non-matching message ids) suggest that Ferret is very confused---it's
returning document ids (each message is stored as a Ferret "document")
from a search that don't correspond to the right messages, or that
correspond to documents that have already been deleted, or that are
simply bigger than the max document id in the index.

I suspect a bug in Ferret has somehow broken your index. Here's what I
suggest.

0. Make a backup of ~/.sup in case something terrible happens.
1. Upgrade your Ferret gem to 11.5 (the latest).
2. sup-sync --all --optimize. (Might take a while.)

If step #2 fails with the same Ferret errors, try:

3. sup-dump | bzip2 > /tmp/state.bz2
4. rm -rf ~/.sup/ferret # you did make a backup, right?
5. sup-sync --all --restore <(bzcat /tmp/state.bz2) # assumes bash

But hopefully step #2 will work. And if we're lucky step #1 will fix
whatever Ferret bug caused this.

-- 
William <[EMAIL PROTECTED]>
_______________________________________________
sup-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/sup-talk

Reply via email to