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


(Tung) #1

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

--


(Shay Banon) #2

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 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

--

--


(Tung) #3

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).

--


(system) #4