You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2021/08/24 08:27:07 UTC
[lucene-solr] branch branch_8x updated: LUCENE-7020: Deprecate
TieredMergePolicy#setMaxMergeAtOnceExplicit.
This is an automated email from the ASF dual-hosted git repository.
jpountz pushed a commit to branch branch_8x
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/branch_8x by this push:
new 598a9da LUCENE-7020: Deprecate TieredMergePolicy#setMaxMergeAtOnceExplicit.
598a9da is described below
commit 598a9da4f081e9e9102117b9ef441ba137b209a8
Author: Adrien Grand <jp...@gmail.com>
AuthorDate: Tue Aug 24 10:19:07 2021 +0200
LUCENE-7020: Deprecate TieredMergePolicy#setMaxMergeAtOnceExplicit.
---
lucene/CHANGES.txt | 6 +++++-
.../src/java/org/apache/lucene/index/TieredMergePolicy.java | 11 ++++++++---
.../test/org/apache/lucene/index/TestTieredMergePolicy.java | 2 ++
3 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 2f3730d..24bda76 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -19,7 +19,11 @@ API Changes
ensures unnecessary wrapping doesn't occur. (Greg Miller)
* LUCENE-10027: Add a new Directory reader open API from indexCommit and
- a custom comparator for sorting leaf readers (Mayya Sharipova).
+ a custom comparator for sorting leaf readers (Mayya Sharipova).
+
+* LUCENE-7020: TieredMergePolicy#setMaxMergeAtOnceExplicit is deprecated
+ and the number of segments that get merged via explicit merges is unlimited
+ by default. (Adrien Grand, Shawn Heisey)
New Features
---------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java b/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java
index 73fb2ef..3a42e89 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java
@@ -95,7 +95,7 @@ public class TieredMergePolicy extends MergePolicy {
// value and segsPerTier to avoid suboptimal merging.
private int maxMergeAtOnce = 10;
private long maxMergedSegmentBytes = 5*1024*1024*1024L;
- private int maxMergeAtOnceExplicit = 30;
+ private int maxMergeAtOnceExplicit = Integer.MAX_VALUE;
private long floorSegmentBytes = 2*1024*1024L;
private double segsPerTier = 10.0;
@@ -134,7 +134,10 @@ public class TieredMergePolicy extends MergePolicy {
// if user calls IW.maybeMerge "explicitly"
/** Maximum number of segments to be merged at a time,
- * during forceMerge or forceMergeDeletes. Default is 30. */
+ * during forceMerge or forceMergeDeletes. Default is unlimited.
+ * @deprecated This method will be removed in Lucene 9 and explicit
+ * merges won't limit the number of merged segments. */
+ @Deprecated
public TieredMergePolicy setMaxMergeAtOnceExplicit(int v) {
if (v < 2) {
throw new IllegalArgumentException("maxMergeAtOnceExplicit must be > 1 (got " + v + ")");
@@ -146,7 +149,9 @@ public class TieredMergePolicy extends MergePolicy {
/** Returns the current maxMergeAtOnceExplicit setting.
*
- * @see #setMaxMergeAtOnceExplicit */
+ * @see #setMaxMergeAtOnceExplicit
+ * @deprecated This method will be removed in Lucene 9. */
+ @Deprecated
public int getMaxMergeAtOnceExplicit() {
return maxMergeAtOnceExplicit;
}
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
index b23aaa1..967b586 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
@@ -384,6 +384,7 @@ public class TestTieredMergePolicy extends BaseMergePolicyTestCase {
final double oneSegmentSize = 1.0D;
final double maxSegmentSize = 10 * oneSegmentSize;
tmp.setMaxMergedSegmentMB(maxSegmentSize);
+ tmp.setMaxMergeAtOnceExplicit(30);
SegmentInfos infos = new SegmentInfos(Version.LATEST.major);
for (int j = 0; j < 30; ++j) {
@@ -418,6 +419,7 @@ public class TestTieredMergePolicy extends BaseMergePolicyTestCase {
final TieredMergePolicy tmp = new TieredMergePolicy();
final double maxSegmentSize = 10.0D;
tmp.setMaxMergedSegmentMB(maxSegmentSize);
+ tmp.setMaxMergeAtOnceExplicit(30);
SegmentInfos infos = new SegmentInfos(Version.LATEST.major);
for (int j = 0; j < 30; ++j) {