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