You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by si...@apache.org on 2020/06/24 22:53:46 UTC
[lucene-solr] branch jira/lucene-8962 updated: fix some tests
This is an automated email from the ASF dual-hosted git repository.
simonw pushed a commit to branch jira/lucene-8962
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/jira/lucene-8962 by this push:
new 5c37d08 fix some tests
5c37d08 is described below
commit 5c37d08cafaacd7532089e352255ca303340c5fe
Author: Simon Willnauer <si...@apache.org>
AuthorDate: Thu Jun 25 00:53:21 2020 +0200
fix some tests
---
.../src/java/org/apache/lucene/index/IndexWriter.java | 8 ++++----
.../src/java/org/apache/lucene/index/MergePolicy.java | 18 +++++++++++-------
2 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java b/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
index 49304ba..1698f5f 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
@@ -2479,13 +2479,13 @@ public class IndexWriter implements Closeable, TwoPhaseCommit, Accountable,
mergeFinish(merge);
});
pendingMerges.clear();
- IOUtils.applyToAll(runningMerges, merge -> {
+
+ for (final MergePolicy.OneMerge merge : runningMerges) {
if (infoStream.isEnabled("IW")) {
infoStream.message("IW", "now abort running merge " + segString(merge.segments));
}
- abortOneMerge(merge);
- mergeFinish(merge);
- });
+ merge.setAborted();
+ }
// We wait here to make all merges stop. It should not
// take very long because they periodically check if
diff --git a/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java b/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java
index 73702a0..d962a5b 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java
@@ -418,14 +418,18 @@ public abstract class MergePolicy {
assert mergeReaders.isEmpty() : "merge readers must be empty";
assert mergeCompleted.isDone() == false : "merge is already done";
ArrayList<MergeReader> readers = new ArrayList<>(segments.size());
- for (final SegmentCommitInfo info : segments) {
- // Hold onto the "live" reader; we will use this to
- // commit merged deletes
- final ReadersAndUpdates rld = readerFactory.apply(info);
- rld.setIsMerging();
- readers.add(rld.getReaderForMerge(mergeContext));
+ try {
+ for (final SegmentCommitInfo info : segments) {
+ // Hold onto the "live" reader; we will use this to
+ // commit merged deletes
+ final ReadersAndUpdates rld = readerFactory.apply(info);
+ rld.setIsMerging();
+ readers.add(rld.getReaderForMerge(mergeContext));
+ }
+ } finally {
+ // ensure we assign this to close them in the case of an exception
+ this.mergeReaders = List.copyOf(readers);
}
- this.mergeReaders = List.copyOf(readers);
}
/**