-
Notifications
You must be signed in to change notification settings - Fork 25.1k
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
Comments
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) |
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. |
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. |
This is the same idea as #3890 so will close in favour of it. |
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!
The text was updated successfully, but these errors were encountered: