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

Core: SerialMergeScheduler never triggers index throttling #8405

Closed
wants to merge 1 commit into from

Conversation

mikemccand
Copy link
Contributor

This is a deprecated merge scheduler (already removed in master), but is still available in 1.3, 1.4, 1.5.

When you pick this merged scheduler, there is a bug that causes index throttling to not kick in, which means it's possible to accumulate way too many segments in the index.

Furthermore, this can then cause Elasticsearch to take a long time (> 30 seconds default timeout for e.g. a delete index request, resulting in a "Delete Index failed - not acked" from ElasticsearchIntegrationTest) to close the index, since it has a merge thread holding InternalEngine.readLock, stuck in IndexWriter.maybeMerge. I'll address this issue separately; fixing SMS (here) should fix most of the false test failures.

I also fixed IndexStatsTests.throttleTests to fail if it never saw index throttling kick in after up to 5 minutes of crazy merges.

@s1monw
Copy link
Contributor

s1monw commented Nov 9, 2014

LGTM mike gooood catch!

@s1monw s1monw added the >bug label Nov 9, 2014
@mikemccand mikemccand added v1.3.6 and removed v1.3.0 labels Nov 9, 2014
mikemccand added a commit that referenced this pull request Nov 9, 2014
SerialMergeScheduler (deprecated but still accepted, and randomly
picked by tests) was failing to cause index throttling when merges
were falling behind.  This could then cause "Delete Index failed - not
acked" timeouts when it took more than 30 seconds to close the index.

Closes #8405
mikemccand added a commit that referenced this pull request Nov 9, 2014
SerialMergeScheduler (deprecated but still accepted, and randomly
picked by tests) was failing to cause index throttling when merges
were falling behind.  This could then cause "Delete Index failed - not
acked" timeouts when it took more than 30 seconds to close the index.

Closes #8405
mikemccand added a commit that referenced this pull request Nov 9, 2014
SerialMergeScheduler (deprecated but still accepted, and randomly
picked by tests) was failing to cause index throttling when merges
were falling behind.  This could then cause "Delete Index failed - not
acked" timeouts when it took more than 30 seconds to close the index.

Closes #8405
@mikemccand mikemccand closed this Nov 9, 2014
mute pushed a commit to mute/elasticsearch that referenced this pull request Jul 29, 2015
SerialMergeScheduler (deprecated but still accepted, and randomly
picked by tests) was failing to cause index throttling when merges
were falling behind.  This could then cause "Delete Index failed - not
acked" timeouts when it took more than 30 seconds to close the index.

Closes elastic#8405
mute pushed a commit to mute/elasticsearch that referenced this pull request Jul 29, 2015
SerialMergeScheduler (deprecated but still accepted, and randomly
picked by tests) was failing to cause index throttling when merges
were falling behind.  This could then cause "Delete Index failed - not
acked" timeouts when it took more than 30 seconds to close the index.

Closes elastic#8405
@clintongormley clintongormley added :Distributed/Distributed A catch all label for anything in the Distributed Area. If you aren't sure, use this one. :Distributed/Engine Anything around managing Lucene and the Translog in an open shard. and removed :Engine :Distributed/Distributed A catch all label for anything in the Distributed Area. If you aren't sure, use this one. labels Feb 13, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>bug :Distributed/Engine Anything around managing Lucene and the Translog in an open shard. v1.3.6 v1.4.1 v1.5.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants