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 2012/10/02 18:49:35 UTC
svn commit: r1393030 -
/lucene/dev/branches/lucene4456/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
Author: mikemccand
Date: Tue Oct 2 16:49:35 2012
New Revision: 1393030
URL: http://svn.apache.org/viewvc?rev=1393030&view=rev
Log:
LUCENE-4456: add some missing delete files on exception
Modified:
lucene/dev/branches/lucene4456/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
Modified: lucene/dev/branches/lucene4456/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4456/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java?rev=1393030&r1=1393029&r2=1393030&view=diff
==============================================================================
--- lucene/dev/branches/lucene4456/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java (original)
+++ lucene/dev/branches/lucene4456/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java Tue Oct 2 16:49:35 2012
@@ -3091,6 +3091,7 @@ public class IndexWriter implements Clos
if (infoStream.isEnabled("IW")) {
infoStream.message("IW", "commitMerge: skip: it was aborted");
}
+ deleter.deleteNewFiles(merge.info.files());
return false;
}
@@ -3412,7 +3413,7 @@ public class IndexWriter implements Clos
setDiagnostics(si, "merge", details);
if (infoStream.isEnabled("IW")) {
- infoStream.message("IW", "merge seg=" + merge.info.info.name);
+ infoStream.message("IW", "merge seg=" + merge.info.info.name + " " + segString(merge.segments));
}
assert merge.estimatedMergeBytes == 0;
@@ -4121,7 +4122,16 @@ public class IndexWriter implements Clos
} catch(IOException ex) {
prior = ex;
} finally {
- IOUtils.closeWhileHandlingException(prior, cfsDir);
+ boolean success = false;
+ try {
+ IOUtils.closeWhileHandlingException(prior, cfsDir);
+ success = true;
+ } finally {
+ if (!success) {
+ directory.deleteFile(fileName);
+ directory.deleteFile(IndexFileNames.segmentFileName(info.name, "", IndexFileNames.COMPOUND_FILE_ENTRIES_EXTENSION));
+ }
+ }
}
// Replace all previous files with the CFS/CFE files: