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 21:44:03 UTC
svn commit: r1393135 - in /lucene/dev/branches/lucene4456/lucene:
codecs/src/java/org/apache/lucene/codecs/simpletext/
core/src/java/org/apache/lucene/index/
test-framework/src/java/org/apache/lucene/store/
Author: mikemccand
Date: Tue Oct 2 19:44:02 2012
New Revision: 1393135
URL: http://svn.apache.org/viewvc?rev=1393135&view=rev
Log:
LUCENE-4456: delete files on exc in addIndexes
Modified:
lucene/dev/branches/lucene4456/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesConsumer.java
lucene/dev/branches/lucene4456/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
lucene/dev/branches/lucene4456/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java
Modified: lucene/dev/branches/lucene4456/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4456/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesConsumer.java?rev=1393135&r1=1393134&r2=1393135&view=diff
==============================================================================
--- lucene/dev/branches/lucene4456/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesConsumer.java (original)
+++ lucene/dev/branches/lucene4456/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesConsumer.java Tue Oct 2 19:44:02 2012
@@ -198,6 +198,7 @@ public class SimpleTextDocValuesConsumer
IOUtils.close(output);
} else {
IOUtils.closeWhileHandlingException(output);
+ dir.deleteFile(fileName);
}
}
}
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=1393135&r1=1393134&r2=1393135&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 19:44:02 2012
@@ -2484,12 +2484,14 @@ public class IndexWriter implements Clos
// Now create the compound file if needed
if (useCompoundFile) {
Collection<String> filesToDelete = infoPerCommit.files();
- createCompoundFile(infoStream, directory, MergeState.CheckAbort.NONE, info, context);
-
- // delete new non cfs files directly: they were never
- // registered with IFD
- synchronized(this) {
- deleter.deleteNewFiles(filesToDelete);
+ try{
+ createCompoundFile(infoStream, directory, MergeState.CheckAbort.NONE, info, context);
+ } finally {
+ // delete new non cfs files directly: they were never
+ // registered with IFD
+ synchronized(this) {
+ deleter.deleteNewFiles(filesToDelete);
+ }
}
info.setUseCompoundFile(true);
}
@@ -2498,7 +2500,18 @@ public class IndexWriter implements Clos
// creating CFS so that 1) .si isn't slurped into CFS,
// and 2) .si reflects useCompoundFile=true change
// above:
- codec.segmentInfoFormat().getSegmentInfoWriter().write(trackingDir, info, mergeState.fieldInfos, context);
+ success = false;
+ try {
+ codec.segmentInfoFormat().getSegmentInfoWriter().write(trackingDir, info, mergeState.fieldInfos, context);
+ success = true;
+ } finally {
+ if (!success) {
+ synchronized(this) {
+ deleter.refresh(info.name);
+ }
+ }
+ }
+
info.addFiles(trackingDir.getCreatedFiles());
// Register the new segment
Modified: lucene/dev/branches/lucene4456/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4456/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java?rev=1393135&r1=1393134&r2=1393135&view=diff
==============================================================================
--- lucene/dev/branches/lucene4456/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java (original)
+++ lucene/dev/branches/lucene4456/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java Tue Oct 2 19:44:02 2012
@@ -626,11 +626,11 @@ public class MockDirectoryWrapper extend
}
if (added.size() != 0) {
- if (extras.length() != 0) {
- extras += "\n\n";
- }
- extras += "These files were added (waaaaaaaaaat!): " + added;
- extras += " These files we had previously tried to delete, but couldn't: " + pendingDeletions;
+ extras += "\n\nThese files were added (waaaaaaaaaat!): " + added;
+ }
+
+ if (pendingDeletions.size() != 0) {
+ extras += "\n\nThese files we had previously tried to delete, but couldn't: " + pendingDeletions;
}
assert false : "unreferenced files: before delete:\n " + Arrays.toString(startFiles) + "\n after delete:\n " + Arrays.toString(endFiles) + extras;