[ http://issues.apache.org/jira/browse/LUCENE-702?page=all ]

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: http://issues.apache.org/jira/browse/LUCENE-702
>             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: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to