# NodesInfoRequest: NodeInfo fields mostly null in Elastic 0.19.8 (worked in Elastic 0.18.7)

**URL:** https://discuss.elastic.co/t/nodesinforequest-nodeinfo-fields-mostly-null-in-elastic-0-19-8-worked-in-elastic-0-18-7/8731
**Category:** Elasticsearch
**Created:** [August 13, 2012, 4:52pm UTC](https://discuss.elastic.co/t/nodesinforequest-nodeinfo-fields-mostly-null-in-elastic-0-19-8-worked-in-elastic-0-18-7/8731 "2012-08-13T16:52:12Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Tung](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tung/32/2766_2.png) [@Tung](https://discuss.elastic.co/u/Tung)
#### Post date: [August 13, 2012, 4:52pm UTC](https://discuss.elastic.co/t/nodesinforequest-nodeinfo-fields-mostly-null-in-elastic-0-19-8-worked-in-elastic-0-18-7/8731/1 "2012-08-13T16:52:12Z")

</div>

We are getting node information like this:

client.admin().cluster().nodesInfo(new NodesInfoRequest()).get(1, TimeUnit.  
MINUTES)

This gives us back a NodesInfoResponse, which we iterate over, getting back  
multiple NodeInfo objects.

Now, in Elastic Search 0.18.7, this works:

nodeInfo.getSettings()

But when we upgraded to Elastic Search 0.19.8 it gives us back null.  
On debugging, we can see that actually it's not just settings that is null,  
most of the fields are also null:

nodeInfo = {org.elasticsearch.action.admin.cluster.node.info.NodeInfo@3101}  
serviceAttributes =  
{org.elasticsearch.common.collect.SingletonImmutableMap@4631} size = 1  
[0] = {org.elasticsearch.common.collect.ImmutableEntry@4676}"http\_address"  
-\> "inet[/123.123.123.123:9978]"  
hostname = {java.lang.String@4645}"MYHOSTNAME"  
settings = null  
os = null  
process = null  
jvm = null  
threadPool = null  
network = null  
transport = null  
http = null  
node =  
{org.elasticsearch.cluster.node.DiscoveryNode@4646}"[index\_node\_on\_port\_9978][SNPervzkSXSEGGv275J7Zw][inet[/123.123.123.123:9977]]{master=true}"  
nodeName = {java.lang.String@4680}"index\_node\_on\_port\_9978"  
nodeId = {java.lang.String@4681}"SNPervzkSXSEGGv275J7Zw"  
address =  
{org.elasticsearch.common.transport.InetSocketTransportAddress@4682}"inet[/123.123.123.123:9977]"  
attributes = {org.elasticsearch.common.collect.SingletonImmutableMap@4683}  
size = 1  
version = {org.elasticsearch.Version@4684}"0.19.8"

Is this a bug? Or is there some change in the way we must request node  
information?  
Specifically what we need to get is the tcp port:

nodeInfo.getSettings().get("transport.tcp.port")

Thanks

--

---

<div class="post-metadata">

### Author: ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)
#### Post date: [August 13, 2012, 5:15pm UTC](https://discuss.elastic.co/t/nodesinforequest-nodeinfo-fields-mostly-null-in-elastic-0-19-8-worked-in-elastic-0-18-7/8731/2 "2012-08-13T17:15:03Z")

</div>

This is because in 0.19, you need to pass specific flags to get the relevant info you are after. NodeInfoRequest#settings(true), NodeInfoRequest#jvm(true).

On Aug 13, 2012, at 6:52 PM, Tung [tung.mac@gmail.com](mailto:tung.mac@gmail.com) wrote:

> We are getting node information like this:
> 
> client.admin().cluster().nodesInfo(new NodesInfoRequest()).get(1, TimeUnit.MINUTES)
> 
> This gives us back a NodesInfoResponse, which we iterate over, getting back multiple NodeInfo objects.
> 
> Now, in Elastic Search 0.18.7, this works:
> 
> nodeInfo.getSettings()
> 
> But when we upgraded to Elastic Search 0.19.8 it gives us back null.  
> On debugging, we can see that actually it's not just settings that is null, most of the fields are also null:
> 
> nodeInfo = {org.elasticsearch.action.admin.cluster.node.info.NodeInfo@3101}  
> serviceAttributes = {org.elasticsearch.common.collect.SingletonImmutableMap@4631} size = 1  
> [0] = {org.elasticsearch.common.collect.ImmutableEntry@4676}"http\_address" -\> "inet[/123.123.123.123:9978]"  
> hostname = {java.lang.String@4645}"MYHOSTNAME"  
> settings = null  
> os = null  
> process = null  
> jvm = null  
> threadPool = null  
> network = null  
> transport = null  
> http = null  
> node = {org.elasticsearch.cluster.node.DiscoveryNode@4646}"[index\_node\_on\_port\_9978][SNPervzkSXSEGGv275J7Zw][inet[/123.123.123.123:9977]]{master=true}"  
> nodeName = {java.lang.String@4680}"index\_node\_on\_port\_9978"  
> nodeId = {java.lang.String@4681}"SNPervzkSXSEGGv275J7Zw"  
> address = {org.elasticsearch.common.transport.InetSocketTransportAddress@4682}"inet[/123.123.123.123:9977]"  
> attributes = {org.elasticsearch.common.collect.SingletonImmutableMap@4683} size = 1  
> version = {org.elasticsearch.Version@4684}"0.19.8"
> 
> Is this a bug? Or is there some change in the way we must request node information?  
> Specifically what we need to get is the tcp port:
> 
> nodeInfo.getSettings().get("transport.tcp.port")
> 
> Thanks
> 
> --

--

---

<div class="post-metadata">

### Author: ![Tung](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tung/32/2766_2.png) [@Tung](https://discuss.elastic.co/u/Tung)
#### Post date: [August 14, 2012, 5:10pm UTC](https://discuss.elastic.co/t/nodesinforequest-nodeinfo-fields-mostly-null-in-elastic-0-19-8-worked-in-elastic-0-18-7/8731/3 "2012-08-14T17:10:29Z")

</div>

Cool, thanks very much for your quick reply!!

On Monday, 13 August 2012 18:15:03 UTC+1, kimchy wrote:

> This is because in 0.19, you need to pass specific flags to get the  
> relevant info you are after. NodeInfoRequest#settings(true),  
> NodeInfoRequest#jvm(true).

--

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [July 6, 2017, 3:16am UTC](https://discuss.elastic.co/t/nodesinforequest-nodeinfo-fields-mostly-null-in-elastic-0-19-8-worked-in-elastic-0-18-7/8731/4 "2017-07-06T03:16:24Z")

</div>


