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/26 13:16:12 UTC
[lucene-solr] branch jira/lucene-8962 updated: cleanup after broken
merge
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 2a9580b cleanup after broken merge
2a9580b is described below
commit 2a9580b8e3016294232e4eda0824748169a292bb
Author: Simon Willnauer <si...@apache.org>
AuthorDate: Fri Jun 26 15:15:48 2020 +0200
cleanup after broken merge
---
lucene/core/src/java/org/apache/lucene/index/IndexWriter.java | 8 ++++++--
1 file changed, 6 insertions(+), 2 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 587216f..c7e9f90 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
@@ -3385,7 +3385,12 @@ public class IndexWriter implements Closeable, TwoPhaseCommit, Accountable,
closeReaders = false;
} finally {
if (closeReaders) {
- IOUtils.applyToAll(onCommitMerges.merges, merge -> closeMergeReaders(merge, true, false));
+ IOUtils.applyToAll(onCommitMerges.merges, merge -> {
+ // that merge is broken we need to clean up after it - it's fine we still have the IW lock to do this
+ assert pendingMerges.contains(merge) : "merge should be pending but isn't: " + merge.segString();
+ abortOneMerge(merge);
+ mergeFinish(merge);
+ });
}
}
}
@@ -4425,7 +4430,6 @@ public class IndexWriter implements Closeable, TwoPhaseCommit, Accountable,
assert merge.getMergeReader().isEmpty() : "we are done but still have readers: " + merge.getMergeReader();
assert suppressExceptions : "can't be done and not suppressing exceptions";
}
-
}
private void countSoftDeletes(CodecReader reader, Bits wrappedLiveDocs, Bits hardLiveDocs, Counter softDeleteCounter,