Skip to content
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

Remove maxMergeAtOnce option from TieredMergePolicy. #14165

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

jpountz
Copy link
Contributor

@jpountz jpountz commented Jan 23, 2025

maxMergeAtOnce increases merge amplification by running multiple merges when it could run a single merge, without giving significant benefits in exchange. We removed this parameter for forced merges in #230. Let's row remove it for regular merges as well?

In practice, merges above the floor segment size will be bounded by the number of segments per tier, and merges below the floor segment size will be unbounded.

`maxMergeAtOnce` increases merge amplification by running multiple merges when
it could run a single merge, without giving significant benefits in exchange.
We removed this parameter for forced merges in apache#230. Let's row remove it for
regular merges as well?

In practice, merges above the floor segment size will be bounded by the number
of segments per tier, and merges below the floor segment size will be
unbounded.
Copy link
Member

@mikemccand mikemccand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is indeed weird to have a separate control (maxMergeAtOnce) from segsPerTier. I think the past motivation was because merging was somewhat RAM heavy, maybe? It allocates stuff for the docid map ... but I think we've improved its ram efficiency, and anyway if that really is somehow a problem, users can lower segsPerTier. Thanks @jpountz.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants