Skip to content

ElasticsearchMergePolicy should extend from MergePolicyWrapper #29476

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 11, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import org.apache.logging.log4j.Logger;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.MergePolicy;
import org.apache.lucene.index.MergeTrigger;
import org.apache.lucene.index.MergePolicyWrapper;
import org.apache.lucene.index.SegmentCommitInfo;
import org.apache.lucene.index.SegmentInfos;
import org.elasticsearch.Version;
Expand All @@ -44,12 +44,10 @@
* For now, this {@link MergePolicy} takes care of moving versions that used to
* be stored as payloads to numeric doc values.
*/
public final class ElasticsearchMergePolicy extends MergePolicy {
public final class ElasticsearchMergePolicy extends MergePolicyWrapper {

private static Logger logger = Loggers.getLogger(ElasticsearchMergePolicy.class);

private final MergePolicy delegate;

// True if the next merge request should do segment upgrades:
private volatile boolean upgradeInProgress;

Expand All @@ -60,13 +58,7 @@ public final class ElasticsearchMergePolicy extends MergePolicy {

/** @param delegate the merge policy to wrap */
public ElasticsearchMergePolicy(MergePolicy delegate) {
this.delegate = delegate;
}

@Override
public MergeSpecification findMerges(MergeTrigger mergeTrigger,
SegmentInfos segmentInfos, IndexWriter writer) throws IOException {
return delegate.findMerges(mergeTrigger, segmentInfos, writer);
super(delegate);
}

private boolean shouldUpgrade(SegmentCommitInfo info) {
Expand Down Expand Up @@ -130,18 +122,7 @@ public MergeSpecification findForcedMerges(SegmentInfos segmentInfos,
// has a chance to decide what to do (e.g. collapse the segments to satisfy maxSegmentCount)
}

return delegate.findForcedMerges(segmentInfos, maxSegmentCount, segmentsToMerge, writer);
}

@Override
public MergeSpecification findForcedDeletesMerges(SegmentInfos segmentInfos, IndexWriter writer)
throws IOException {
return delegate.findForcedDeletesMerges(segmentInfos, writer);
}

@Override
public boolean useCompoundFile(SegmentInfos segments, SegmentCommitInfo newSegment, IndexWriter writer) throws IOException {
return delegate.useCompoundFile(segments, newSegment, writer);
return super.findForcedMerges(segmentInfos, maxSegmentCount, segmentsToMerge, writer);
}

/**
Expand All @@ -154,10 +135,4 @@ public void setUpgradeInProgress(boolean upgrade, boolean onlyAncientSegments) {
this.upgradeInProgress = upgrade;
this.upgradeOnlyAncientSegments = onlyAncientSegments;
}

@Override
public String toString() {
return getClass().getSimpleName() + "(" + delegate + ")";
}

}