Skip to content

Commit

Permalink
[Remove] index.merge.policy.max_merge_at_once_explicit (#1988)
Browse files Browse the repository at this point in the history
Remove deprecated max_merge_at_once_explicit parameter since it has been
removed in lucene 9 and deprecated in opensearch 1.3

Signed-off-by: Nicholas Walter Knize <nknize@apache.org>
  • Loading branch information
nknize authored Jan 27, 2022
1 parent 334f0d9 commit 5569ce0
Show file tree
Hide file tree
Showing 6 changed files with 1 addition and 47 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,6 @@ public final class IndexScopedSettings extends AbstractScopedSettings {
MergePolicyConfig.INDEX_MERGE_POLICY_EXPUNGE_DELETES_ALLOWED_SETTING,
MergePolicyConfig.INDEX_MERGE_POLICY_FLOOR_SEGMENT_SETTING,
MergePolicyConfig.INDEX_MERGE_POLICY_MAX_MERGE_AT_ONCE_SETTING,
MergePolicyConfig.INDEX_MERGE_POLICY_MAX_MERGE_AT_ONCE_EXPLICIT_SETTING,
MergePolicyConfig.INDEX_MERGE_POLICY_MAX_MERGED_SEGMENT_SETTING,
MergePolicyConfig.INDEX_MERGE_POLICY_SEGMENTS_PER_TIER_SETTING,
MergePolicyConfig.INDEX_MERGE_POLICY_RECLAIM_DELETES_WEIGHT_SETTING,
Expand Down
2 changes: 0 additions & 2 deletions server/src/main/java/org/opensearch/index/IndexSettings.java
Original file line number Diff line number Diff line change
Expand Up @@ -714,8 +714,6 @@ public IndexSettings(final IndexMetadata indexMetadata, final Settings nodeSetti
MergePolicyConfig.INDEX_MERGE_POLICY_MAX_MERGE_AT_ONCE_SETTING,
mergePolicyConfig::setMaxMergesAtOnce
);
// todo: remove this in 2.0.0 since it was removed in lucene 9
scopedSettings.addSettingsUpdateConsumer(MergePolicyConfig.INDEX_MERGE_POLICY_MAX_MERGE_AT_ONCE_EXPLICIT_SETTING, noop -> {});
scopedSettings.addSettingsUpdateConsumer(
MergePolicyConfig.INDEX_MERGE_POLICY_MAX_MERGED_SEGMENT_SETTING,
mergePolicyConfig::setMaxMergedSegment
Expand Down
14 changes: 1 addition & 13 deletions server/src/main/java/org/opensearch/index/MergePolicyConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -163,15 +163,6 @@ public final class MergePolicyConfig {
Property.Dynamic,
Property.IndexScope
);
@Deprecated
public static final Setting<Integer> INDEX_MERGE_POLICY_MAX_MERGE_AT_ONCE_EXPLICIT_SETTING = Setting.intSetting(
"index.merge.policy.max_merge_at_once_explicit",
30,
2,
Property.Deprecated,
Property.Dynamic,
Property.IndexScope
);
public static final Setting<ByteSizeValue> INDEX_MERGE_POLICY_MAX_MERGED_SEGMENT_SETTING = Setting.byteSizeSetting(
"index.merge.policy.max_merged_segment",
DEFAULT_MAX_MERGED_SEGMENT,
Expand Down Expand Up @@ -209,7 +200,6 @@ public final class MergePolicyConfig {
double forceMergeDeletesPctAllowed = indexSettings.getValue(INDEX_MERGE_POLICY_EXPUNGE_DELETES_ALLOWED_SETTING); // percentage
ByteSizeValue floorSegment = indexSettings.getValue(INDEX_MERGE_POLICY_FLOOR_SEGMENT_SETTING);
int maxMergeAtOnce = indexSettings.getValue(INDEX_MERGE_POLICY_MAX_MERGE_AT_ONCE_SETTING);
int maxMergeAtOnceExplicit = indexSettings.getValue(INDEX_MERGE_POLICY_MAX_MERGE_AT_ONCE_EXPLICIT_SETTING);
// TODO is this really a good default number for max_merge_segment, what happens for large indices,
// won't they end up with many segments?
ByteSizeValue maxMergedSegment = indexSettings.getValue(INDEX_MERGE_POLICY_MAX_MERGED_SEGMENT_SETTING);
Expand All @@ -228,19 +218,17 @@ public final class MergePolicyConfig {
mergePolicy.setForceMergeDeletesPctAllowed(forceMergeDeletesPctAllowed);
mergePolicy.setFloorSegmentMB(floorSegment.getMbFrac());
mergePolicy.setMaxMergeAtOnce(maxMergeAtOnce);
mergePolicy.setMaxMergeAtOnceExplicit(maxMergeAtOnceExplicit);
mergePolicy.setMaxMergedSegmentMB(maxMergedSegment.getMbFrac());
mergePolicy.setSegmentsPerTier(segmentsPerTier);
mergePolicy.setDeletesPctAllowed(deletesPctAllowed);
if (logger.isTraceEnabled()) {
logger.trace(
"using [tiered] merge mergePolicy with expunge_deletes_allowed[{}], floor_segment[{}],"
+ " max_merge_at_once[{}], max_merge_at_once_explicit[{}], max_merged_segment[{}], segments_per_tier[{}],"
+ " max_merge_at_once[{}], max_merged_segment[{}], segments_per_tier[{}],"
+ " deletes_pct_allowed[{}]",
forceMergeDeletesPctAllowed,
floorSegment,
maxMergeAtOnce,
maxMergeAtOnceExplicit,
maxMergedSegment,
segmentsPerTier,
deletesPctAllowed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,17 +99,6 @@ public int getMaxMergeAtOnce() {
return regularMergePolicy.getMaxMergeAtOnce();
}

@Deprecated
public void setMaxMergeAtOnceExplicit(int maxMergeAtOnceExplicit) {
regularMergePolicy.setMaxMergeAtOnceExplicit(maxMergeAtOnceExplicit);
forcedMergePolicy.setMaxMergeAtOnceExplicit(maxMergeAtOnceExplicit);
}

@Deprecated
public int getMaxMergeAtOnceExplicit() {
return forcedMergePolicy.getMaxMergeAtOnceExplicit();
}

// only setter that must NOT delegate to the forced merge policy
public void setMaxMergedSegmentMB(double mbFrac) {
regularMergePolicy.setMaxMergedSegmentMB(mbFrac);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,19 +156,6 @@ public void testTieredMergePolicySettingsUpdate() throws IOException {
MergePolicyConfig.DEFAULT_MAX_MERGE_AT_ONCE - 1
);

assertEquals(((OpenSearchTieredMergePolicy) indexSettings.getMergePolicy()).getMaxMergeAtOnceExplicit(), 30);
indexSettings.updateIndexMetadata(
newIndexMeta(
"index",
Settings.builder().put(MergePolicyConfig.INDEX_MERGE_POLICY_MAX_MERGE_AT_ONCE_EXPLICIT_SETTING.getKey(), 29).build()
)
);
assertWarnings(
"[index.merge.policy.max_merge_at_once_explicit] setting was "
+ "deprecated in OpenSearch and will be removed in a future release! See the breaking changes "
+ "documentation for the next major version."
);

assertEquals(
((OpenSearchTieredMergePolicy) indexSettings.getMergePolicy()).getMaxMergedSegmentMB(),
MergePolicyConfig.DEFAULT_MAX_MERGED_SEGMENT.getMbFrac(),
Expand Down Expand Up @@ -252,7 +239,6 @@ public void testTieredMergePolicySettingsUpdate() throws IOException {
((OpenSearchTieredMergePolicy) indexSettings.getMergePolicy()).getMaxMergeAtOnce(),
MergePolicyConfig.DEFAULT_MAX_MERGE_AT_ONCE
);
assertEquals(((OpenSearchTieredMergePolicy) indexSettings.getMergePolicy()).getMaxMergeAtOnceExplicit(), 30);
assertEquals(
((OpenSearchTieredMergePolicy) indexSettings.getMergePolicy()).getMaxMergedSegmentMB(),
new ByteSizeValue(MergePolicyConfig.DEFAULT_MAX_MERGED_SEGMENT.getBytes() + 1).getMbFrac(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,6 @@ public void testSetMaxMergeAtOnce() {
assertEquals(42, policy.regularMergePolicy.getMaxMergeAtOnce());
}

public void testSetMaxMergeAtOnceExplicit() {
OpenSearchTieredMergePolicy policy = new OpenSearchTieredMergePolicy();
policy.setMaxMergeAtOnceExplicit(42);
assertEquals(42, policy.forcedMergePolicy.getMaxMergeAtOnceExplicit());
}

public void testSetSegmentsPerTier() {
OpenSearchTieredMergePolicy policy = new OpenSearchTieredMergePolicy();
policy.setSegmentsPerTier(42);
Expand Down

0 comments on commit 5569ce0

Please sign in to comment.