-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
ES Client: use ClusterConnectionPool
instead of WeightedConnectionPool
#134628
ES Client: use ClusterConnectionPool
instead of WeightedConnectionPool
#134628
Conversation
// using ClusterConnectionPool until https://github.com/elastic/elasticsearch-js/issues/1714 is addressed | ||
ConnectionPool: ClusterConnectionPool, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't add an integration test here because:
- Ihmo we shouldn't be testing the
@elastic/elasticsearch
behavior from Kibana tests - The test would be quite long (starting multiple ES nodes at least twice), and by nature, likely flaky
If we really want, I can add one though
💚 Build SucceededMetrics [docs]
To update your PR or re-run it, just comment with: |
Pinging @elastic/kibana-core (Team:Core) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
💔 All backports failed
Manual backportTo create the backport manually run:
Questions ?Please refer to the Backport tool documentation |
(cherry picked from commit 6decdc3) # Conflicts: # src/core/server/elasticsearch/client/configure_client.ts
(cherry picked from commit 6decdc3) # Conflicts: # src/core/server/elasticsearch/client/configure_client.ts
(cherry picked from commit 6decdc3) # Conflicts: # src/core/server/elasticsearch/client/configure_client.ts
(cherry picked from commit 6decdc3) # Conflicts: # src/core/server/elasticsearch/client/configure_client.ts
Summary
We discovered a bug in
@elastic/elasticsearch-js
that causes Kibana to not be able to connect to ES nodes for a predetermined amount of requests when using a multi-node configuration and when some, or all, nodes go down then up again: elastic/elasticsearch-js#1714Until the upstream issue is addressed, we will fall back to using the
ClusterConnectionPool
implementation instead ofWeightedConnectionPool
, as this implementation (which was the one used by the version7.x
of the client) doesn't have this issue.Checklist
Release Note
Fix a bug causing ES nodes going down then up again to be unreachable by Kibana for a given amount of requests, when Kibana is configured to connect to multiple ES node