You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using the rest endpoint _nodes/process I was accessing the
node[].name
node[].version
node[].roles
The endpoint nodes().stats().nodes() only returns name and roles but not the node version.
co.elastic.clients.elasticsearch.nodes.Stats resp. co.elastic.clients.elasticsearch.nodes.Stats.Builder used in co.elastic.clients.elasticsearch.nodes.NodesStatsResponse doesn't contain a version field.
Additionally I couldn't find a way to reduce the amount of information to be transferred over the wire. Whilst the rest endpoints _nodes/process returns only basic information + process, _nodes/_all returns everything.
However, the java API doesn't allow to request only the basic information + process but always transfers everything to be deserialized.
Expected in .nodes().stats(s->s.fields("process")) only the process field is being requested and all other fields (except basic information) is null, butt all data is requested and requested and returned.
reducing the responded fields must be done using metrics:
client.nodes().stats(s->s.metric("process"))
The text was updated successfully, but these errors were encountered:
Hello, thanks for reporting this! Seems like we're missing some fields in the API specification used to produce the Java code, we'll add them and regenerate the client code to fix this issue.
Hey! So in elasticsearch calling _nodes/process just means calling _nodes and then just filtering process out of all the information _nodes returns, so the direct equivalent of doing that in the java client is to call:
client.nodes().info();
and retrieving the desired node info, which will then contain both process and version.
This endpoint was broken because of some mismatching optional type, it will be fixed in the next version. Thank you for your patience!
Java API client version
8.10.3
Java version
20.0.2
Elasticsearch Version
8.9.0
Problem description
Using the rest endpoint _nodes/process I was accessing the
node[].name
node[].version
node[].roles
The endpoint nodes().stats().nodes() only returns name and roles but not the node version.
co.elastic.clients.elasticsearch.nodes.Stats resp. co.elastic.clients.elasticsearch.nodes.Stats.Builder used in co.elastic.clients.elasticsearch.nodes.NodesStatsResponse doesn't contain a version field.
Additionally I couldn't find a way to reduce the amount of information to be transferred over the wire. Whilst the rest endpoints _nodes/process returns only basic information + process, _nodes/_all returns everything.However, the java API doesn't allow to request only the basic information + process but always transfers everything to be deserialized.
Expected in .nodes().stats(s->s.fields("process")) only the process field is being requested and all other fields (except basic information) is null, butt all data is requested and requested and returned.
reducing the responded fields must be done using metrics:
The text was updated successfully, but these errors were encountered: