IndexReader.delete(int docid) doesn't work with the Berkeley DB
implementation of org.apache.lucene.store.Directory

This error message appears when closing an IndexReader which has a deletion:
PANIC: Invalid argument

I get this stack trace:
java.io.IOException: DB_RUNRECOVERY: Fatal error, run database recovery
       at org.apache.lucene.store.db.Block.put(Block.java:128)
       at org.apache.lucene.store.db.DbOutputStream.close(DbOutputStream.java:111)
       at org.apache.lucene.util.BitVector.write(BitVector.java:155)
       at org.apache.lucene.index.SegmentReader$1.doBody(SegmentReader.java:162)
       at org.apache.lucene.store.Lock$With.run(Lock.java:148)
       at org.apache.lucene.index.SegmentReader.doClose(SegmentReader.java:157)
       at org.apache.lucene.index.IndexReader.close(IndexReader.java:422)

Help!

- andy g

code that triggers this:
// dbdir is a working DbDirectory, docid is a search result
IndexReader read = IndexReader.open(dbdir);
read.delete(docid);
read.close();

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to