mikemccand commented on issue #14431: URL: https://github.com/apache/lucene/issues/14431#issuecomment-2828061328
> > I don't know if we are already doing this -- is this TieredMergePolicy's default behavior (1 -> 1) for forceMergeDeletes? I don't think so? > > It's not the default indeed. TieredMergePolicy always optimizes for lower write amplification over latency to my knowledge. I suspect it's a better default, not knowing anything about the user's use-case. Yeah +1 to defaulting that way. > > Yeah we actually set natural merging to tolerate lower deletes after forceMergeDeletes finishes. > > Out of curiosity, what about making natural merging the way how deletes are reclaimed instead of using `forceMergeDeletes`? Something like > > * Update `TieredMergePolicy` to tolerate lower deletes. > * Call `IndexWriter#maybeMerge` > * Poll until the deletes percent is below a tolerable value or the timeout. > > The benefit I see is that `findMerges` naturally creates more and smaller merges vs `findForced(Deletes)Merges`, and prioritizes merges that are cheaper and reclaim more deletes. Ahhh that is a brilliant idea! It also avoids the possible discontinuity of the different merge selection producing "exotic" segment geometry from `forcMergeDeletes` since it'd always be natural merges that are selected. I like this idea! Thanks @jpountz. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org