fix(elasticsearch): Zebra panics with all features and no elasticsearch server available #8409
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.
Motivation
When Zebra is compiled with all features or the elasticsearch feature it will panics when it starts if no elasticsearch server is available in the default endpoint. We want to avoid the panic and continue running even if with errors.
Close #8329
Solution
Before inserting send a ping to the elasticsearch server to check if it is available, log an error to the user if not and continue running. In the next batch error will be logged again so the user running zebrad with elasticsearch feature enabled will always know that there is something wrong even if the rest of the functionality remains running. This can be annoying but i think is ok here.
Testing
Manually tested with elasticsearch server running and without it.
Review
Anyone can review.
Reviewer Checklist
Check before approving the PR:
PR blockers can be dealt with in new tickets or PRs.
And check the PR Author checklist is complete.
Follow Up Work