From 3d66fa922a1072d6aea3ab499a38e43e9fd7d74d Mon Sep 17 00:00:00 2001 From: Simon Willnauer Date: Wed, 18 Jan 2012 16:10:17 +0000 Subject: [PATCH] remove files of dropped segments right after merge git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1232943 13f79535-47bb-0310-9956-ffa450edef68 --- lucene/src/java/org/apache/lucene/index/IndexWriter.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lucene/src/java/org/apache/lucene/index/IndexWriter.java b/lucene/src/java/org/apache/lucene/index/IndexWriter.java index 3dbb85b069c..51d7ff868b7 100644 --- a/lucene/src/java/org/apache/lucene/index/IndexWriter.java +++ b/lucene/src/java/org/apache/lucene/index/IndexWriter.java @@ -3174,6 +3174,8 @@ public class IndexWriter implements Closeable, TwoPhaseCommit { if (dropSegment) { readerPool.drop(merge.info); + deleter.deleteNewFiles(merge.info.files()); + assert !segmentInfos.contains(merge.info); } else { if (mergedDeletes != null && !poolReaders) { mergedDeletes.writeLiveDocs(directory); @@ -3191,7 +3193,7 @@ public class IndexWriter implements Closeable, TwoPhaseCommit { closeMergeReaders(merge, false); - if (merge.maxNumSegments != -1) { + if (merge.maxNumSegments != -1 && !dropSegment) { // cascade the forceMerge: if (!segmentsToMerge.containsKey(merge.info)) { segmentsToMerge.put(merge.info, Boolean.FALSE);