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

Smarter request routing which takes recent node latency into account #15914

Closed
nirajpatel opened this issue Jan 12, 2016 · 4 comments
Closed
Labels
>enhancement high hanging fruit :Search/Search Search-related issues that do not fall into other categories

Comments

@nirajpatel
Copy link

Hi! I was wondering if there was any ability to blacklist a node while it is recovering. Trying to route GETs, indexing and search to a recovering index can cause the node to fall out of the cluster or can cause the cluster to pause altogether. Is there a way to blacklist a node using the TransportClient that way no traffic is routed to a particular node (or anything similar)? Thanks!

@clintongormley
Copy link
Contributor

Hi @nirajpatel

it's not possible, and I've been trying to think if it makes sense to add. It has complications (eg what happens if all nodes are recovering from each other?). Really, it shouldn't be necessary. Recovery should be throttled so there are sufficient resources on the box to handle search requests etc as well. (This also means providing enough hardware so that your nodes are not at breaking point already, and ensuring that there aren't abusive search requests - something we're trying help with in #11511)

@nirajpatel
Copy link
Author

Thank you so much for responding @clintongormley! That certainly makes sense. I was thinking more on the transport client side while the cluster is recovering we could at least throttle requests.

Recovery should be throttled so there are sufficient resources on the box to handle search requests etc as well.
Recovery being throttled would mean higher search, GET, indexing times for an extended period of time correct? Wouldn't you almost want to favor recovering quickly over servicing incoming requests normally? I guess it's a personal tradeoff but if the option existed in the transport client the user could make that decision. What are your thoughts? Thank you!

@clintongormley
Copy link
Contributor

We discussed this in FixItFriday - blacklisting a node is too black or white. Instead a better option would be to have a smarter request routing mechanism than the current round-robin that takes recent node latency into account.

@clintongormley clintongormley added >enhancement high hanging fruit :Search/Search Search-related issues that do not fall into other categories and removed :Cluster labels Jan 15, 2016
@clintongormley clintongormley changed the title Ability to blacklist a node on the fly Smarter request routing which takes recent node latency into account Jan 15, 2016
@colings86
Copy link
Contributor

This is the same idea as #3890 so will close in favour of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>enhancement high hanging fruit :Search/Search Search-related issues that do not fall into other categories
Projects
None yet
Development

No branches or pull requests

3 participants