Plugin: Getting LocalNode

What do the proper way to get the localnode (and it's id) in a plugin? I have tried many ways and it always seems to be null. The node just started and is loading the data from disk. Because of my inability to get localNodeId, I have had to fall back to using node.name for my lookups, but this seems more error prone.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/116cd053-a26e-480f-b7ca-367a6af4236f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Use something like this for node name

public class MyService extends AbstractLifeCycleComponent {
@Inject
public MyService(Settings settings, Node node) {
super(settings);
String name = node.settings().get("name");
...
}

and for node IDs

public class MyService extends AbstractLifeCycleComponent {
@Inject
public MyService(Settings settings, ClusterService clusterService) {
super(settings);
String nodeId = clusterService.localNode().getId();
...
}

Jörg

On Fri, Mar 6, 2015 at 5:10 AM, Kadaan jbaranick@gmail.com wrote:

What do the proper way to get the localnode (and it's id) in a plugin? I
have tried many ways and it always seems to be null. The node just started
and is loading the data from disk. Because of my inability to get
localNodeId, I have had to fall back to using node.name for my lookups,
but this seems more error prone.

--
You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/116cd053-a26e-480f-b7ca-367a6af4236f%40googlegroups.com
.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAKdsXoF49xdMZ5LpQCgWD69OxYXstFiyNVs-_da05hu2JFyikA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Interesting. I was trying
((ClusterStateResponse)state).getState().nodes().localNode(), but this
didn't work.

On Friday, March 6, 2015 at 1:37:10 AM UTC-8, Jörg Prante wrote:

Use something like this for node name

public class MyService extends AbstractLifeCycleComponent {
@Inject
public MyService(Settings settings, Node node) {
super(settings);
String name = node.settings().get("name");
...
}

and for node IDs

public class MyService extends AbstractLifeCycleComponent {
@Inject
public MyService(Settings settings, ClusterService clusterService) {
super(settings);
String nodeId = clusterService.localNode().getId();
...
}

Jörg

On Fri, Mar 6, 2015 at 5:10 AM, Kadaan <jbar...@gmail.com <javascript:>>
wrote:

What do the proper way to get the localnode (and it's id) in a plugin? I
have tried many ways and it always seems to be null. The node just started
and is loading the data from disk. Because of my inability to get
localNodeId, I have had to fall back to using node.name for my lookups,
but this seems more error prone.

--
You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to elasticsearc...@googlegroups.com <javascript:>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/116cd053-a26e-480f-b7ca-367a6af4236f%40googlegroups.com
.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/e1a5c310-8dd6-48cd-b371-a49919d4fd56%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

In ClusterStateRequest, you have to set clusterStateRequest.nodes(true) to
get nodes returned.

Jörg

On Fri, Mar 6, 2015 at 5:44 PM, Kadaan jbaranick@gmail.com wrote:

Interesting. I was trying
((ClusterStateResponse)state).getState().nodes().localNode(), but this
didn't work.

On Friday, March 6, 2015 at 1:37:10 AM UTC-8, Jörg Prante wrote:

Use something like this for node name

public class MyService extends AbstractLifeCycleComponent {
@Inject
public MyService(Settings settings, Node node) {
super(settings);
String name = node.settings().get("name");
...
}

and for node IDs

public class MyService extends AbstractLifeCycleComponent {
@Inject
public MyService(Settings settings, ClusterService clusterService) {
super(settings);
String nodeId = clusterService.localNode().getId();
...
}

Jörg

On Fri, Mar 6, 2015 at 5:10 AM, Kadaan jbar...@gmail.com wrote:

What do the proper way to get the localnode (and it's id) in a plugin? I
have tried many ways and it always seems to be null. The node just started
and is loading the data from disk. Because of my inability to get
localNodeId, I have had to fall back to using node.name for my lookups,
but this seems more error prone.

--
You received this message because you are subscribed to the Google
Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to elasticsearc...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/
msgid/elasticsearch/116cd053-a26e-480f-b7ca-367a6af4236f%
40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/e1a5c310-8dd6-48cd-b371-a49919d4fd56%40googlegroups.com
https://groups.google.com/d/msgid/elasticsearch/e1a5c310-8dd6-48cd-b371-a49919d4fd56%40googlegroups.com?utm_medium=email&utm_source=footer
.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAKdsXoFgk99fOZoU49J_cDpFt3TnNO0LmVbNavFxk0Pdq2egeA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Yes. I did that [
clusterStateRequest.clear().nodes(true).routingTable(true) ], but I still
wasn't able to get the localNodeId. It seems like the localNodeId is not
set while the node is recovering.

On Friday, March 6, 2015 at 9:40:59 AM UTC-8, Jörg Prante wrote:

In ClusterStateRequest, you have to set clusterStateRequest.nodes(true) to
get nodes returned.

Jörg

On Fri, Mar 6, 2015 at 5:44 PM, Kadaan <jbar...@gmail.com <javascript:>>
wrote:

Interesting. I was trying
((ClusterStateResponse)state).getState().nodes().localNode(), but this
didn't work.

On Friday, March 6, 2015 at 1:37:10 AM UTC-8, Jörg Prante wrote:

Use something like this for node name

public class MyService extends AbstractLifeCycleComponent {
@Inject
public MyService(Settings settings, Node node) {
super(settings);
String name = node.settings().get("name");
...
}

and for node IDs

public class MyService extends AbstractLifeCycleComponent {
@Inject
public MyService(Settings settings, ClusterService clusterService) {
super(settings);
String nodeId = clusterService.localNode().getId();
...
}

Jörg

On Fri, Mar 6, 2015 at 5:10 AM, Kadaan jbar...@gmail.com wrote:

What do the proper way to get the localnode (and it's id) in a plugin?
I have tried many ways and it always seems to be null. The node just
started and is loading the data from disk. Because of my inability to get
localNodeId, I have had to fall back to using node.name for my
lookups, but this seems more error prone.

--
You received this message because you are subscribed to the Google
Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to elasticsearc...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/
msgid/elasticsearch/116cd053-a26e-480f-b7ca-367a6af4236f%
40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to elasticsearc...@googlegroups.com <javascript:>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/e1a5c310-8dd6-48cd-b371-a49919d4fd56%40googlegroups.com
https://groups.google.com/d/msgid/elasticsearch/e1a5c310-8dd6-48cd-b371-a49919d4fd56%40googlegroups.com?utm_medium=email&utm_source=footer
.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/159af095-35f2-4e39-b104-1ea761bd6021%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.