-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Do not drop errors when checking for templates #24332
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
botelastic
bot
added
the
needs_team
Indicates that the issue/PR needs a Team:* label
label
Mar 3, 2021
urso
added
review
needs_backport
PR is waiting to be backported to other branches.
labels
Mar 3, 2021
Collaborator
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
Trends 🧪💚 Flaky test reportTests succeeded. Expand to view the summary
Test stats 🧪
|
Pinging @elastic/agent (Team:Agent) |
botelastic
bot
removed
the
needs_team
Indicates that the issue/PR needs a Team:* label
label
Mar 4, 2021
/test metricbeat |
andresrc
approved these changes
Mar 9, 2021
faec
approved these changes
Mar 9, 2021
3 tasks
urso
added
v7.13.0
and removed
needs_backport
PR is waiting to be backported to other branches.
labels
Mar 9, 2021
urso
pushed a commit
to urso/beats
that referenced
this pull request
Mar 9, 2021
(cherry picked from commit 21d02a3)
urso
pushed a commit
that referenced
this pull request
Apr 14, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Return an error when the HTTP request to check if a template is installed failed due to IO or in case the status code indicates that ES is not stable.
Why is it important?
When connecting to Elasticsearch Beats do check if a template exists and attempt to create the template if that is not the case. If there is an error while checking for the template, the error should be handled. By not handling the error the Beat might attempt to install the template, even if it was already installed. This can lead to issues like Beats overwriting an already existing and modified index with settings that are not supposed to be applied. Plus if Elasticsearch is currently unstable (return code 429 or 5xx), we might trigger a thundering herd problem with hundreds of Beats attempting to overwrite templates in an unstable cluster. By returning early on error, the output will back off exponentially (with random jitter), potentially reducing the chance of breaking the existing template or finally bringing Elasticsearch down to its knees.
Checklist
- [ ] I have made corresponding changes to the documentation- [ ] I have made corresponding change to the default configuration files- [ ] I have added tests that prove my fix is effective or that my feature worksCHANGELOG.next.asciidoc
orCHANGELOG-developer.next.asciidoc
.Related issues