Details
-
New Feature
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
1.9, 2.0.0, 2.1, 2.2, 2.3, 2.3.1
-
None
-
New
Description
Currently when IndexWriter commits, it does so with a two-phase
commit, internally: first it prepares all the new index files, syncs
them; then it writes a new segments_N file and syncs that, and only if
that is successful does it remove any now un-referenced index files.
However, these two phases are done privately, internal to the commit()
method.
But when Lucene is involved in a transaction with external resources
(eg a database), it's very useful to explicitly break out the prepare
phase from the commit phase.
Spinoff from this thread: