apache / apache/lucene

Enhance UpgradeIndexMergePolicy with additional options [LUCENE-7671]

Open
#8,722 16 comments 0 reactions 0 assignees View on GitHub
legacy-jira-priority:Major type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

Enhance UpgradeIndexMergePolicy to be a MergePolicy that can be used outside the scope the IndexUpgrader.

The enhancement aims to allow the UpgradeIndexMergePolicy to:

1) Delegate normal force merges to the underlying merge policy
2) Enable a flag that will explicitly tell UpgradeIndexMergePolicy when it should start looking for upgrades.
3) Allow new segments to be considered to be merged with old segments, depending on underlying MergePolicy.
4) Be configurable for backwards compatibility such that only segments needing an upgrade would be considered when merging, no explicit upgrades.

---
Migrated from [LUCENE-7671](https://issues.apache.org/jira/browse/LUCENE-7671) by Keith Laban, updated Apr 22 2018
Linked issues:
- [SOLR-12259](https://issues.apache.org/jira/browse/SOLR-12259)

Contributor guide

Open the contributing guide

Research direction

Start with UpgradeIndexMergePolicy and the underlying MergePolicy it wraps, then review the linked SOLR-12259 context. Compare the requested delegation, upgrade flag, segment-mixing, and backwards-compatibility behaviors. Done means these options are defined and validated for the stated use cases, including use outside IndexUpgrader.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.