lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] Updated: (LUCENE-702) Disk full during addIndexes(Directory[]) can corrupt index
Date Tue, 12 Dec 2006 21:57:22 GMT
     [ ]

Michael McCandless updated LUCENE-702:

    Attachment: LUCENE-702.take3.patch

> In IndexWriter, the rollbackTransaction call in commitTransaction could
> cause write to the same segment_N filename, right?

Good catch -- you are correct!  OK, I fixed rollbackTransaction to do
the same in-place rollback of the segmentInfos that I do in
mergeSegments (patch attached).  This means if another attempt is made
to commit, using this same IndexWriter instance after it had received
an exception, it will write to a new segments_N file.

> The "write once" semantics is not kept for segment names or
> .delN. This is ok because no reader will read the old versions.

Right, I think these cases are less important because readers would never try to
open those partially written files (since no segments_N references them).

> 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
>         Attachments: LUCENE-702.patch, LUCENE-702.take2.patch, LUCENE-702.take3.patch
> 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