[ 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]