On Mon, Oct 05, 2015 at 09:17:33AM -0500, Jesse Krenzelok
wrote:> I have an issue with my Xapian index, and I am hoping someone can
> help me out with some ideas.
>
> I am running Xapian on Debian Squeeze as part of an openPLM
> installation. It is a django application that uses Postgresql as
> the database, and Haystack as the search engine.
>
> A couple of weeks ago, I misconfigured a crontab, and it made a
> recursive backup that filled up the hard drive on my server. I've
> got it cleaned out now, but I nothing I try to clear the index is
> working- I keep getting the error "DatabaseCorruptError: Cannot open
> tables at consistent revisions"
Hmm, that shouldn't happen. It's failing to find a consistent set
of base files. We had a fix for a case which sounds a lot like this
(same error after running out of disk space). I think there were
actually a consistent set of bases, but we were failing to actually
pick them up properly.
I'm failing to spot exactly when that fix happened, but if you're
running the xapian packages from squeeze, they're pretty ancient (1.2.3)
so it may have been fixed since.
You could try looking in the database directory and see if there's a
complete set of either *.baseA or *.baseB (i.e. one for each *.DB), and
try moving away the others (or if both seem complete, try moving away
the older set first, and if that doesn't help try putting them back and
moving away the newer set). That might be enough to allow the database
to be opened.
> I'm not trying to save the index, restarting from scratch with that
> component would be fine, as we are still testing this system before
> the final roll out.
That really depends on haystack, but I don't think the haystack people
are active on this list. You might just be able to delete the Xapian
database, or replace it with an empty one, but that relies on haystack
handling you doing that and reindexing.
Cheers,
Olly