/** * The node attributes. */ public ImmutableMap<String, String> getAttributes() { return attributes(); }
private static List<ShardRouting> collectAttributeShards(AttributesKey key, DiscoveryNodes nodes, ArrayList<ShardRouting> from) { final ArrayList<ShardRouting> to = new ArrayList<>(); for (final String attribute : key.attributes) { final String localAttributeValue = nodes.localNode().attributes().get(attribute); if (localAttributeValue != null) { for (Iterator<ShardRouting> iterator = from.iterator(); iterator.hasNext(); ) { ShardRouting fromShard = iterator.next(); final DiscoveryNode discoveryNode = nodes.get(fromShard.currentNodeId()); if (discoveryNode == null) { iterator.remove(); // node is not present anymore - ignore shard } else if (localAttributeValue.equals(discoveryNode.attributes().get(attribute))) { iterator.remove(); to.add(fromShard); } } } } return Collections.unmodifiableList(to); }
public ObjectIntHashMap<String> nodesPerAttributesCounts(String attributeName) { ObjectIntHashMap<String> nodesPerAttributesCounts = nodesPerAttributeNames.get(attributeName); if (nodesPerAttributesCounts != null) { return nodesPerAttributesCounts; } nodesPerAttributesCounts = new ObjectIntHashMap<>(); for (RoutingNode routingNode : this) { String attrValue = routingNode.node().attributes().get(attributeName); nodesPerAttributesCounts.addTo(attrValue, 1); } nodesPerAttributeNames.put(attributeName, nodesPerAttributesCounts); return nodesPerAttributesCounts; }
@Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { builder.startObject(id(), XContentBuilder.FieldCaseConversion.NONE); builder.field("name", name()); builder.field("transport_address", address().toString()); builder.startObject("attributes"); for (Map.Entry<String, String> attr : attributes().entrySet()) { builder.field(attr.getKey(), attr.getValue()); } builder.endObject(); builder.endObject(); return builder; } }
@Override public void serialize(ESNode value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider) throws IOException, com.fasterxml.jackson.core.JsonProcessingException { jgen.writeStartObject(); jgen.writeStringField("id", value.getId()); jgen.writeStringField("agent", System.getProperty("runtime.id")); if (value.isMaster()) { jgen.writeArrayFieldStart("services"); jgen.writeString("elasticsearch"); jgen.writeEndArray(); } jgen.writeStringField("nodeName", value.getNode().name()); jgen.writeStringField("nodeId", value.getNode().id()); jgen.writeStringField("address", value.getNode().address().toString()); jgen.writeStringField("version", value.getNode().version().toString()); jgen.writeFieldName("attributes"); jgen.writeStartObject(); for (Map.Entry<String, String> entry : value.getNode().attributes().entrySet()) { jgen.writeStringField(entry.getKey(), entry.getValue()); } jgen.writeEndObject(); jgen.writeStringField("binary", Base64.encodeObject(value.getNode())); jgen.writeEndObject(); } }
@Override public void serialize(ESNode value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeStartObject(); jgen.writeStringField("id", value.getId()); jgen.writeStringField("agent", System.getProperty("runtime.id")); if (value.isMaster()) { jgen.writeArrayFieldStart("services"); jgen.writeString("elasticsearch"); jgen.writeEndArray(); } jgen.writeStringField("nodeName", value.getNode().name()); jgen.writeStringField("nodeId", value.getNode().id()); jgen.writeStringField("address", value.getNode().address().toString()); jgen.writeStringField("version", value.getNode().version().toString()); jgen.writeFieldName("attributes"); jgen.writeStartObject(); for (Map.Entry<String, String> entry : value.getNode().attributes().entrySet()) { jgen.writeStringField(entry.getKey(), entry.getValue()); } jgen.writeEndObject(); jgen.writeStringField("binary", Base64.encodeObject(value.getNode())); jgen.writeEndObject(); } }
@Override public void serialize(ESNode value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeStartObject(); jgen.writeStringField("id", value.getId()); jgen.writeStringField("agent", System.getProperty("runtime.id")); if (value.isMaster()) { jgen.writeArrayFieldStart("services"); jgen.writeString("elasticsearch"); jgen.writeEndArray(); } jgen.writeStringField("nodeName", value.getNode().name()); jgen.writeStringField("nodeId", value.getNode().id()); jgen.writeStringField("address", value.getNode().address().toString()); jgen.writeStringField("version", value.getNode().version().toString()); jgen.writeFieldName("attributes"); jgen.writeStartObject(); for (Map.Entry<String, String> entry : value.getNode().attributes().entrySet()) { jgen.writeStringField(entry.getKey(), entry.getValue()); } jgen.writeEndObject(); jgen.writeStringField("binary", Base64.encodeObject(value.getNode())); jgen.writeEndObject(); } }
builder.field("ip", node.getAddress()); if (!node.attributes().isEmpty()) { builder.startObject("attributes"); for (Map.Entry<String, String> attr : node.attributes().entrySet()) { builder.field(attr.getKey(), attr.getValue(), XContentBuilder.FieldCaseConversion.NONE);
String s = node.attributes().get(GathererConstants.GATHERER_LOAD); if (s != null) { set.add(new WeightedDiscoveryNode(node, s)); String s = node.attributes().get(GathererConstants.GATHERER_LENGTH); if (s != null) { set.add(new WeightedDiscoveryNode(node, s));
String nodeAttributeValue = node.attributes().get(attr); if (nodeAttributeValue == null) { if (opType == OpType.AND) {
DiscoveryNode tempNode = new DiscoveryNode("", UNICAST_NODE_PREFIX + unicastNodeIdGenerator.incrementAndGet() + "_" + nodeToSend.id() + "#", nodeToSend.getHostName(), nodeToSend.getHostAddress(), nodeToSend.address(), nodeToSend.attributes(), nodeToSend.version() ); logger.trace("replacing {} with temp node {}", nodeToSend, tempNode);
for (String awarenessAttribute : awarenessAttributes) { if (!node.node().attributes().containsKey(awarenessAttribute)) { return allocation.decision(Decision.NO, NAME, "node does not contain awareness attribute: [%s]", awarenessAttribute); shardPerAttribute.addTo(routingNode.node().attributes().get(awarenessAttribute), 1); if (!node.nodeId().equals(nodeId)) { shardPerAttribute.putOrAdd(allocation.routingNodes().node(nodeId).node().attributes().get(awarenessAttribute), 0, -1); shardPerAttribute.addTo(node.node().attributes().get(awarenessAttribute), 1); shardPerAttribute.addTo(node.node().attributes().get(awarenessAttribute), 1); int currentNodeCount = shardPerAttribute.get(node.node().attributes().get(awarenessAttribute));
newNodes.add(new DiscoveryNode(nodeWithInfo.name(), nodeWithInfo.id(), nodeWithInfo.getHostName(), nodeWithInfo.getHostAddress(), listedNode.address(), nodeWithInfo.attributes(), nodeWithInfo.version())); } else {
@Override public void serialize(ESNode value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeStartObject(); jgen.writeStringField("id", value.id()); jgen.writeStringField("nodeName", value.node().name()); jgen.writeStringField("nodeId", value.node().id()); jgen.writeStringField("address", value.node().address().toString()); jgen.writeStringField("version", value.node().version().toString()); jgen.writeFieldName("attributes"); jgen.writeStartObject(); for (Map.Entry<String, String> entry : value.node().attributes().entrySet()) { jgen.writeStringField(entry.getKey(), entry.getValue()); } jgen.writeEndObject(); jgen.writeStringField("binary", Base64.encodeObject(value.node())); jgen.writeEndObject(); } }
if (!nodeInfo.getNode().attributes().isEmpty()) { builder.startObject("attributes"); for (Map.Entry<String, String> attr : nodeInfo.getNode().attributes().entrySet()) { builder.field(attr.getKey(), attr.getValue(), XContentBuilder.FieldCaseConversion.NONE);
for (Map.Entry<String, String> entry : node.attributes().entrySet()) { String attrName = entry.getKey(); String attrValue = entry.getValue();
builder.field("ip", getNode().getAddress(), XContentBuilder.FieldCaseConversion.NONE); if (!getNode().attributes().isEmpty()) { builder.startObject("attributes"); for (Map.Entry<String, String> attr : getNode().attributes().entrySet()) { builder.field(attr.getKey(), attr.getValue(), XContentBuilder.FieldCaseConversion.NONE);
String markedTribeName = discoNode.attributes().get(TRIBE_NAME); if (markedTribeName != null && markedTribeName.equals(tribeName)) { if (tribeState.nodes().get(discoNode.id()) == null) { if (currentState.nodes().get(tribe.id()) == null) { ImmutableMap<String, String> tribeAttr = MapBuilder.newMapBuilder(tribe.attributes()).put(TRIBE_NAME, tribeName).immutableMap(); DiscoveryNode discoNode = new DiscoveryNode(tribe.name(), tribe.id(), tribe.getHostName(), tribe.getHostAddress(), tribe.address(), tribeAttr, tribe.version()); clusterStateChanged = true;