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

[BUG] Getting nodes info from AWS instance fails with: Missing required property 'NodeOperatingSystemInfo.arch' #1340

Open
fs-chris opened this issue Dec 5, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@fs-chris
Copy link
Contributor

fs-chris commented Dec 5, 2024

What is the bug?

Getting nodes info from an OpenSearch instance running as AWS service fails with the following exception.

Caused by: org.opensearch.client.util.MissingRequiredPropertyException: Missing required property 'NodeOperatingSystemInfo.arch'
	at deployment.app//org.opensearch.client.util.ApiTypeHelper.requireNonNull(ApiTypeHelper.java:90)
	at deployment.app//org.opensearch.client.opensearch.nodes.info.NodeOperatingSystemInfo.<init>(NodeOperatingSystemInfo.java:80)
	at deployment.app//org.opensearch.client.opensearch.nodes.info.NodeOperatingSystemInfo.<init>(NodeOperatingSystemInfo.java:51)
	at deployment.app//org.opensearch.client.opensearch.nodes.info.NodeOperatingSystemInfo$Builder.build(NodeOperatingSystemInfo.java:392)
	at deployment.app//org.opensearch.client.opensearch.nodes.info.NodeOperatingSystemInfo$Builder.build(NodeOperatingSystemInfo.java:243)
	at deployment.app//org.opensearch.client.json.ObjectBuilderDeserializer.deserialize(ObjectBuilderDeserializer.java:92)
	at deployment.app//org.opensearch.client.json.DelegatingDeserializer$SameType.deserialize(DelegatingDeserializer.java:55)
	at deployment.app//org.opensearch.client.json.ObjectDeserializer$FieldObjectDeserializer.deserialize(ObjectDeserializer.java:81)
	at deployment.app//org.opensearch.client.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:185)
	at deployment.app//org.opensearch.client.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:146)
	at deployment.app//org.opensearch.client.json.JsonpDeserializer.deserialize(JsonpDeserializer.java:87)
	at deployment.app//org.opensearch.client.json.ObjectBuilderDeserializer.deserialize(ObjectBuilderDeserializer.java:91)
	at deployment.app//org.opensearch.client.json.DelegatingDeserializer$SameType.deserialize(DelegatingDeserializer.java:55)
	at deployment.app//org.opensearch.client.json.JsonpDeserializerBase$StringMapDeserializer.deserialize(JsonpDeserializerBase.java:369)
	at deployment.app//org.opensearch.client.json.JsonpDeserializerBase$StringMapDeserializer.deserialize(JsonpDeserializerBase.java:355)
	at deployment.app//org.opensearch.client.json.JsonpDeserializer.deserialize(JsonpDeserializer.java:87)
	at deployment.app//org.opensearch.client.json.ObjectDeserializer$FieldObjectDeserializer.deserialize(ObjectDeserializer.java:81)
	at deployment.app//org.opensearch.client.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:185)
	at deployment.app//org.opensearch.client.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:146)
	at deployment.app//org.opensearch.client.json.JsonpDeserializer.deserialize(JsonpDeserializer.java:87)
	at deployment.app//org.opensearch.client.json.ObjectBuilderDeserializer.deserialize(ObjectBuilderDeserializer.java:91)
	at deployment.app//org.opensearch.client.json.DelegatingDeserializer$SameType.deserialize(DelegatingDeserializer.java:55)
	at deployment.app//org.opensearch.client.transport.rest_client.RestClientTransport.decodeResponse(RestClientTransport.java:360)
	at deployment.app//org.opensearch.client.transport.rest_client.RestClientTransport.getHighLevelResponse(RestClientTransport.java:326)
	at deployment.app//org.opensearch.client.transport.rest_client.RestClientTransport.performRequest(RestClientTransport.java:148)
	at deployment.app//org.opensearch.client.opensearch.nodes.OpenSearchNodesClient.info(OpenSearchNodesClient.java:121)
	at deployment.app//org.opensearch.client.opensearch.nodes.OpenSearchNodesClient.info(OpenSearchNodesClient.java:135)

How can one reproduce the bug?

Connect the client to an AWS service instance of OpenSearch.
Execute a request like: client.nodes().info(n -> n.metric("os"))

What is the expected behavior?

The client should be able to parse the partial result returned from the AWS instance.

What is your host/environment?

Java client 2.18.0
OpenSearch server 2.13/2.17 (tested both) hosted on AWS

Do you have any screenshots?

GET _nodes?metrics=os
Sample response from AWS (left) vs. local on-prem instance.

image

Do you have any additional context?

n/a

@fs-chris fs-chris added bug Something isn't working untriaged labels Dec 5, 2024
@Xtansia Xtansia removed the untriaged label Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants