-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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 Request] Optimize the api _cat/nodes #14746
Comments
cc : @aasom143 who was looking into holistic API cancellation across different cat and cluster APIs |
@rajiv-kv The the cancellation framework can be used here to solve the first problem, It doesn't solve the second problem. I wold like to solve the two of the problems within the cancellation framework, cc @aasom143. |
Hi @kkewwei, thanks for following up. With the new cancellation framework, we have added a new timeout( |
To address the first issue, could you please add cancellation support for the cat/nodes API? You can refer to the recent PR regarding cancellation support for the cat/shards API. |
Of course, thank you. |
Is your feature request related to a problem? Please describe
Now the method is as follows:
It seems has two problems:
cluster().nodesInfo()
andcluster().nodesStats()
use separate timeout, in that case, iftimeout
from the client is30s
, without addingcluster().state()
, the overall time can be60s
, which is 2x times that the expect.cluster().nodesInfo()
can the nextcluster().nodesStats()
be called. It's normal to have a slow node(such as fullGc) in large clusters, the api will become unresponsive, it means that if some of nodes are blocked incluster().nodesInfo()
, the overrall api will be blocked.Describe the solution you'd like
timeout
is30s
in_cat/nodes
, the overall time should be around 30s.cluster().nodesInfo()
andcluster().nodesStats()
.The code can be like this:
Related component
Cluster Manager
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: