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

[FEATURE] Add availability and scalability features to all clients #27

Open
Bukhtawar opened this issue Jul 12, 2022 · 3 comments
Open
Labels
discuss Identifies discussion issues enhancement New feature or request

Comments

@Bukhtawar
Copy link

Bukhtawar commented Jul 12, 2022

Is your feature request related to a problem?
The clients need to be smarter espl when the system is overloaded and traffic pattern needs to be adjusted to minimize downtimes giving sufficient time for the system to recover. The clients need to ensure that they maximum server uptime without sacrificing too much on performance

What solution would you like?

  1. Handling too many client connections
  2. Preventing retry storm
  3. Managing/safe-guarding critical system resources
  4. Adaptive timeouts and backoffs
  5. Penalizing bad connections/erroneous targets
  6. Load balancing across targets
  7. Automatic pagination on larger response
  8. Asynchronous searches on slower requests
  9. Query prioritisation
  10. Client-side metrics on data sources like AWS Cloudwatch

What alternatives have you considered?
A clear and concise description of any alternative solutions or features you've considered.

Do you have any additional context?
Add any other context or screenshots about the feature request here.

@Bukhtawar Bukhtawar added the enhancement New feature or request label Jul 12, 2022
@brijos
Copy link

brijos commented Jul 15, 2022

Hi @Bukhtawar (and others),

Are there examples of clients which do it better than others?

@dblock dblock changed the title [FEATURE] Smarter client support [FEATURE] Add availability and scalability features to all clients Jul 18, 2022
@dblock
Copy link
Member

dblock commented Jul 18, 2022

I've renamed this to "Add availability and scalability features to all clients". YMMV client-by-client, for example Java client does support retries "out-of-the-box". This is a good meta issue with a list of high level features.

@wbeckler wbeckler added the discuss Identifies discussion issues label Nov 14, 2022
@wbeckler
Copy link

A couple more scalability features would be:

  • Adaptive worker pool sizing (increase or decrease number of workers to find the sweet spot)
  • Adaptive bulk operation sizing (adjust number of documents to include in a bulk index operation toward a sweet spot)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss Identifies discussion issues enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants