[ https://issues.apache.org/jira/browse/LUCENE-10658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17572161#comment-17572161 ]
Vigya Sharma commented on LUCENE-10658: --------------------------------------- How about interrupting the merge threads when all merges are to be aborted, like in a {{rollback()}} request? This would at least work for the concurrent merge scheduler, where we track all the active mergeThreads in a list, and can interrupt them, instead of waiting for them to hit a checkAborted() call. We would still need aborted checks though, to work with the sequential merge scheduler, but this could address a significant number of use cases. > Merges should periodically check for abort > ------------------------------------------ > > Key: LUCENE-10658 > URL: https://issues.apache.org/jira/browse/LUCENE-10658 > Project: Lucene - Core > Issue Type: Bug > Components: core/index > Affects Versions: 9.3 > Reporter: Nhat Nguyen > Priority: Major > > Rolling back an IndexWriter without committing shouldn't take long (i.e., > less than several seconds), and Elasticsearch cluster coordination [relies > on|https://github.com/elastic/elasticsearch/issues/88055] this assumption. If > some merges are taking place, the rollback can take several minutes as merges > only check for abort when writing to files via > [MergeRateLimiter|https://github.com/apache/lucene/blob/3d7d85f245381f84c46c766119695a8645cde2b8/lucene/core/src/java/org/apache/lucene/index/MergeRateLimiter.java#L117-L119]. > Merging a completion field, for example, can take a long time without > touching output files. Another reason merges should periodically check for > abort is its outputs will be discarded. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org