[Xapian-discuss] DatabaseCorruptError

潘俊勇 panjunyong at gmail.com
Fri Jan 21 03:11:46 GMT 2011


It is the second time my xapian database corrupt. :-(

>>> conn = xappy.IndexerConnection(dbpath)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "build/bdist.linux-x86_64/egg/xappy/indexerconnection.py", line 49,
in __init__
    self._index = log(xapian.WritableDatabase, indexpath,
xapian.DB_CREATE_OR_OPEN)
  File "build/bdist.linux-x86_64/egg/xappy/replaylog.py", line 413, in log
    return call(*args)
  File "/usr/lib/python2.6/dist-packages/xapian.py", line 3195, in __init__

_xapian.WritableDatabase_swiginit(self,_xapian.new_WritableDatabase(*args))
DatabaseCorruptError: Db block overwritten - are there multiple writers?

when I use xapian-check:

Database couldn't be opened for reading: DatabaseModifiedError: The revision
being read has been discarded - you should call Xapian::Database::reopen()
and retry the operation
Continuing check anyway
record:
baseA blocksize=8K items=250 lastblock=22 revision=749 levels=1
root=4294967295
Segmentation fault

Last time when it corrupt, my xapian dabase is huge, it indexed about
3,000,000 documents. But this time, the number is less than 200.

Most important, I fount no way to fix the problem.

I think database repairing is a  very urgent thing for xapian. Any plan for
this?

By the way, xapian is cool and I like it.

--
panjunyong


More information about the Xapian-discuss mailing list