lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ning Li (JIRA)" <>
Subject [jira] Commented: (LUCENE-702) Disk full during addIndexes(Directory[]) can corrupt index
Date Wed, 08 Nov 2006 01:56:53 GMT
    [ ] 
Ning Li commented on LUCENE-702:

> I think we should try to make all of the addIndexes calls (and more
> generally any call to Lucene) "transactional".

Agree. A transactional semantics would be better.

The approach you described for three addIndexes looks good.

addIndexes(IndexReader[]) is transactional but has two commits: one
when existing segments are merged at the beginning, the other at the
end when all segment/readers are merged.

addIndexes(Directory[]) can be fixed to have a similar behaviour:
first commit when existing segments are merged at the beginning, then
at the end when all old/new segments are merged.

addIndexesNoOptimize(Directory[]), on the other hand, does not merge
existing segments at the beginning. So when fixed, it will only have
one commit at the end which captures all the changes.

> Disk full during addIndexes(Directory[]) can corrupt index
> ----------------------------------------------------------
>                 Key: LUCENE-702
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.1
>            Reporter: Michael McCandless
>         Assigned To: Michael McCandless
> This is a spinoff of LUCENE-555
> If the disk fills up during this call then the committed segments file can reference
segments that were not written.  Then the whole index becomes unusable.
> Does anyone know of any other cases where disk full could corrupt the index?
> I think disk full should worse lose the documents that were "in flight" at the time.
 It shouldn't corrupt the index.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


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

View raw message