You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2011/01/26 22:55:38 UTC
svn commit: r1063882 - in /lucene/dev/trunk: ./ lucene/
lucene/src/java/org/apache/lucene/index/DirectoryReader.java
lucene/src/test/org/apache/lucene/index/TestIndexReader.java solr/
Author: mikemccand
Date: Wed Jan 26 21:55:37 2011
New Revision: 1063882
URL: http://svn.apache.org/viewvc?rev=1063882&view=rev
Log:
LUCENE-2010: don't assert no unref'd files in TIR.testDiskFull; fix rollback on exc during commit to put back any pruned segs
Modified:
lucene/dev/trunk/ (props changed)
lucene/dev/trunk/lucene/ (props changed)
lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/DirectoryReader.java
lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java
lucene/dev/trunk/solr/ (props changed)
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/DirectoryReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/DirectoryReader.java?rev=1063882&r1=1063881&r2=1063882&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/DirectoryReader.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/DirectoryReader.java Wed Jan 26 21:55:37 2011
@@ -715,12 +715,16 @@ class DirectoryReader extends IndexReade
// case we have to roll back:
startCommit();
+ final SegmentInfos rollbackSegmentInfos = new SegmentInfos();
+ rollbackSegmentInfos.addAll(segmentInfos);
+
boolean success = false;
try {
for (int i = 0; i < subReaders.length; i++)
subReaders[i].commit();
- // Remove segments that contain only 100% deleted docs:
+ // Remove segments that contain only 100% deleted
+ // docs:
segmentInfos.pruneDeletedSegments();
// Sync all files we just wrote
@@ -742,6 +746,10 @@ class DirectoryReader extends IndexReade
// partially written .del files, etc, are
// removed):
deleter.refresh();
+
+ // Restore all SegmentInfos (in case we pruned some)
+ segmentInfos.clear();
+ segmentInfos.addAll(rollbackSegmentInfos);
}
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java?rev=1063882&r1=1063881&r2=1063882&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java Wed Jan 26 21:55:37 2011
@@ -996,15 +996,6 @@ public class TestIndexReader extends Luc
}
}
- // Whether we succeeded or failed, check that all
- // un-referenced files were in fact deleted (ie,
- // we did not create garbage). Just create a
- // new IndexFileDeleter, have it delete
- // unreferenced files, then verify that in fact
- // no files were deleted:
- IndexWriter.unlock(dir);
- TestIndexWriter.assertNoUnreferencedFiles(dir, "reader.close() failed to delete unreferenced files");
-
// Finally, verify index is not corrupt, and, if
// we succeeded, we see all docs changed, and if
// we failed, we see either all docs or no docs