From 567a73a33340403a8cc82b1d13c251a9101d61a5 Mon Sep 17 00:00:00 2001 From: Christian Haudum Date: Thu, 30 Apr 2015 14:55:39 +0200 Subject: [PATCH] fixup! fixup! reduce overhead in hostname and id node expressions --- .../reference/sys/node/NodeHostnameExpression.java | 6 ++++-- .../operation/reference/sys/node/NodeIdExpression.java | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sql/src/main/java/io/crate/operation/reference/sys/node/NodeHostnameExpression.java b/sql/src/main/java/io/crate/operation/reference/sys/node/NodeHostnameExpression.java index 0fd6e774a718..0a5cb0c882af 100644 --- a/sql/src/main/java/io/crate/operation/reference/sys/node/NodeHostnameExpression.java +++ b/sql/src/main/java/io/crate/operation/reference/sys/node/NodeHostnameExpression.java @@ -23,6 +23,7 @@ import org.apache.lucene.util.BytesRef; import org.elasticsearch.cluster.ClusterService; +import org.elasticsearch.cluster.node.DiscoveryNode; import org.elasticsearch.common.inject.Inject; public class NodeHostnameExpression extends SysNodeExpression { @@ -38,8 +39,9 @@ public NodeHostnameExpression(ClusterService clusterService) { @Override public BytesRef value() { - if (clusterService.localNode() != null) { - return new BytesRef(clusterService.localNode().getHostName()); + DiscoveryNode localNode = clusterService.localNode(); + if (localNode != null) { + return new BytesRef(localNode.getHostName()); } return null; } diff --git a/sql/src/main/java/io/crate/operation/reference/sys/node/NodeIdExpression.java b/sql/src/main/java/io/crate/operation/reference/sys/node/NodeIdExpression.java index 55372478eff5..84fbe2fae44c 100644 --- a/sql/src/main/java/io/crate/operation/reference/sys/node/NodeIdExpression.java +++ b/sql/src/main/java/io/crate/operation/reference/sys/node/NodeIdExpression.java @@ -23,6 +23,7 @@ import org.apache.lucene.util.BytesRef; import org.elasticsearch.cluster.ClusterService; +import org.elasticsearch.cluster.node.DiscoveryNode; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.discovery.Discovery; @@ -41,9 +42,10 @@ public NodeIdExpression(ClusterService clusterService) { @Override public BytesRef value() { + DiscoveryNode localNode = clusterService.localNode(); // value could not be ready on node start-up, but is static once set - if (value == null && clusterService.localNode() != null) { - value = new BytesRef(clusterService.localNode().getId()); + if (value == null && localNode != null) { + value = new BytesRef(localNode.getId()); } return value; }