lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Rodriguez <>
Subject Atomicity in Lucene operations
Date Fri, 15 Oct 2004 21:13:45 GMT
Hello guys,

I need additions and deletions of documents to the index to be ATOMIC
(they either happen to completion or not at all).

On top of this, I need updates (which I currently implement with a
deletion of the document followed by an addition) to be ATOMIC and
DURABLE (once I return from the "update" function its because the
operation happened to completion and stays in the index).

Notice that I dont really need all the ACID properties for all the operations.

I have tried to solve the problem by using the Lucene + BDB package
written by Andi Vajda and using transactions, but the BDB database
gets corrupted if I insert random System.exit() to simulate a crash of
the application before aborting or commiting transactions.

So I have two questions:
1. Has anyone been able to use the Lucene + BDB WITH transactions and
simulate random crashes at different points in the process of addding
items and found it to be robust (specially, have you been able to
always recover after a crash, with uncommited txns rolled back and
commited ones present in the DB)?
2. Can anyone suggest other solutions (beside using BDB) that may
work? For example: are any of these operations already atomic in
Lucene (using an FSDirectory)?

Thanks for any help you can give me!

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message