From 463fbe45c6c25b17e7738056b58d796d9bb965ad Mon Sep 17 00:00:00 2001 From: javanna Date: Wed, 30 Mar 2016 15:12:34 +0200 Subject: [PATCH] Remove DiscoveryNodes#dataNodes in favour of existing DiscoveryNodes#getDataNodes --- .../client/transport/TransportClientNodesService.java | 2 +- .../cluster/health/ClusterStateHealth.java | 2 +- .../cluster/metadata/MetaDataDeleteIndexService.java | 2 +- .../metadata/MetaDataUpdateSettingsService.java | 2 +- .../elasticsearch/cluster/node/DiscoveryNodes.java | 11 +---------- .../cluster/routing/OperationRouting.java | 2 +- .../elasticsearch/cluster/routing/RoutingNodes.java | 2 +- .../cluster/routing/allocation/AllocationService.java | 4 ++-- .../allocation/decider/DiskThresholdDecider.java | 2 +- .../org/elasticsearch/gateway/AsyncShardFetch.java | 2 +- .../org/elasticsearch/gateway/GatewayService.java | 8 ++++---- .../elasticsearch/gateway/ReplicaShardAllocator.java | 2 +- .../indices/recovery/IndexPrimaryRelocationIT.java | 4 ++-- .../test/java/org/elasticsearch/tribe/TribeIT.java | 4 ++-- 14 files changed, 20 insertions(+), 29 deletions(-) diff --git a/core/src/main/java/org/elasticsearch/client/transport/TransportClientNodesService.java b/core/src/main/java/org/elasticsearch/client/transport/TransportClientNodesService.java index a91fb09144e..6f62d4e888c 100644 --- a/core/src/main/java/org/elasticsearch/client/transport/TransportClientNodesService.java +++ b/core/src/main/java/org/elasticsearch/client/transport/TransportClientNodesService.java @@ -495,7 +495,7 @@ public class TransportClientNodesService extends AbstractComponent { newFilteredNodes.add(entry.getKey()); continue; } - for (ObjectCursor cursor : entry.getValue().getState().nodes().dataNodes().values()) { + for (ObjectCursor cursor : entry.getValue().getState().nodes().getDataNodes().values()) { newNodes.add(cursor.value); } } diff --git a/core/src/main/java/org/elasticsearch/cluster/health/ClusterStateHealth.java b/core/src/main/java/org/elasticsearch/cluster/health/ClusterStateHealth.java index 032425eda3d..03e4c6ee443 100644 --- a/core/src/main/java/org/elasticsearch/cluster/health/ClusterStateHealth.java +++ b/core/src/main/java/org/elasticsearch/cluster/health/ClusterStateHealth.java @@ -92,7 +92,7 @@ public final class ClusterStateHealth implements Iterable, S RoutingTableValidation validation = clusterState.routingTable().validate(clusterState.metaData()); validationFailures = validation.failures(); numberOfNodes = clusterState.nodes().getSize(); - numberOfDataNodes = clusterState.nodes().dataNodes().size(); + numberOfDataNodes = clusterState.nodes().getDataNodes().size(); for (String index : concreteIndices) { IndexRoutingTable indexRoutingTable = clusterState.routingTable().index(index); diff --git a/core/src/main/java/org/elasticsearch/cluster/metadata/MetaDataDeleteIndexService.java b/core/src/main/java/org/elasticsearch/cluster/metadata/MetaDataDeleteIndexService.java index 763b1038dc8..4cd9f5d4727 100644 --- a/core/src/main/java/org/elasticsearch/cluster/metadata/MetaDataDeleteIndexService.java +++ b/core/src/main/java/org/elasticsearch/cluster/metadata/MetaDataDeleteIndexService.java @@ -103,7 +103,7 @@ public class MetaDataDeleteIndexService extends AbstractComponent { // wait for events from all nodes that it has been removed from their respective metadata... int count = currentState.nodes().getSize(); // add the notifications that the store was deleted from *data* nodes - count += currentState.nodes().dataNodes().size(); + count += currentState.nodes().getDataNodes().size(); final AtomicInteger counter = new AtomicInteger(count * indices.size()); // this listener will be notified once we get back a notification based on the cluster state change below. diff --git a/core/src/main/java/org/elasticsearch/cluster/metadata/MetaDataUpdateSettingsService.java b/core/src/main/java/org/elasticsearch/cluster/metadata/MetaDataUpdateSettingsService.java index c925b43056b..4d503e9a92c 100644 --- a/core/src/main/java/org/elasticsearch/cluster/metadata/MetaDataUpdateSettingsService.java +++ b/core/src/main/java/org/elasticsearch/cluster/metadata/MetaDataUpdateSettingsService.java @@ -83,7 +83,7 @@ public class MetaDataUpdateSettingsService extends AbstractComponent implements return; } // we will want to know this for translating "all" to a number - final int dataNodeCount = event.state().nodes().dataNodes().size(); + final int dataNodeCount = event.state().nodes().getDataNodes().size(); Map> nrReplicasChanged = new HashMap<>(); // we need to do this each time in case it was changed by update settings diff --git a/core/src/main/java/org/elasticsearch/cluster/node/DiscoveryNodes.java b/core/src/main/java/org/elasticsearch/cluster/node/DiscoveryNodes.java index 9f7bc4c2a06..70f71a63cf0 100644 --- a/core/src/main/java/org/elasticsearch/cluster/node/DiscoveryNodes.java +++ b/core/src/main/java/org/elasticsearch/cluster/node/DiscoveryNodes.java @@ -114,22 +114,13 @@ public class DiscoveryNodes extends AbstractDiffable implements return this.nodes; } - /** - * Get a {@link Map} of the discovered data nodes arranged by their ids - * - * @return {@link Map} of the discovered data nodes arranged by their ids - */ - public ImmutableOpenMap dataNodes() { - return this.dataNodes; - } - /** * Get a {@link Map} of the discovered data nodes arranged by their ids * * @return {@link Map} of the discovered data nodes arranged by their ids */ public ImmutableOpenMap getDataNodes() { - return dataNodes(); + return this.dataNodes; } /** diff --git a/core/src/main/java/org/elasticsearch/cluster/routing/OperationRouting.java b/core/src/main/java/org/elasticsearch/cluster/routing/OperationRouting.java index 2b67b9f1820..3db26b45254 100644 --- a/core/src/main/java/org/elasticsearch/cluster/routing/OperationRouting.java +++ b/core/src/main/java/org/elasticsearch/cluster/routing/OperationRouting.java @@ -230,7 +230,7 @@ public class OperationRouting extends AbstractComponent { } private void ensureNodeIdExists(DiscoveryNodes nodes, String nodeId) { - if (!nodes.dataNodes().keys().contains(nodeId)) { + if (!nodes.getDataNodes().keys().contains(nodeId)) { throw new IllegalArgumentException("No data node with id[" + nodeId + "] found"); } } diff --git a/core/src/main/java/org/elasticsearch/cluster/routing/RoutingNodes.java b/core/src/main/java/org/elasticsearch/cluster/routing/RoutingNodes.java index 1af8b83d909..e5ea414ba87 100644 --- a/core/src/main/java/org/elasticsearch/cluster/routing/RoutingNodes.java +++ b/core/src/main/java/org/elasticsearch/cluster/routing/RoutingNodes.java @@ -86,7 +86,7 @@ public class RoutingNodes implements Iterable { Map> nodesToShards = new HashMap<>(); // fill in the nodeToShards with the "live" nodes - for (ObjectCursor cursor : clusterState.nodes().dataNodes().values()) { + for (ObjectCursor cursor : clusterState.nodes().getDataNodes().values()) { nodesToShards.put(cursor.value.getId(), new ArrayList<>()); } diff --git a/core/src/main/java/org/elasticsearch/cluster/routing/allocation/AllocationService.java b/core/src/main/java/org/elasticsearch/cluster/routing/allocation/AllocationService.java index da0fea69c68..cdfdace8136 100644 --- a/core/src/main/java/org/elasticsearch/cluster/routing/allocation/AllocationService.java +++ b/core/src/main/java/org/elasticsearch/cluster/routing/allocation/AllocationService.java @@ -406,7 +406,7 @@ public class AllocationService extends AbstractComponent { */ private void applyNewNodes(RoutingAllocation allocation) { final RoutingNodes routingNodes = allocation.routingNodes(); - for (ObjectCursor cursor : allocation.nodes().dataNodes().values()) { + for (ObjectCursor cursor : allocation.nodes().getDataNodes().values()) { DiscoveryNode node = cursor.value; if (!routingNodes.isKnown(node)) { routingNodes.addNode(node); @@ -418,7 +418,7 @@ public class AllocationService extends AbstractComponent { boolean changed = false; for (RoutingNodes.RoutingNodesIterator it = allocation.routingNodes().nodes(); it.hasNext(); ) { RoutingNode node = it.next(); - if (allocation.nodes().dataNodes().containsKey(node.nodeId())) { + if (allocation.nodes().getDataNodes().containsKey(node.nodeId())) { // its a live node, continue continue; } diff --git a/core/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/DiskThresholdDecider.java b/core/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/DiskThresholdDecider.java index 71968b0743b..4d56711c097 100644 --- a/core/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/DiskThresholdDecider.java +++ b/core/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/DiskThresholdDecider.java @@ -618,7 +618,7 @@ public class DiskThresholdDecider extends AllocationDecider { } // Allow allocation regardless if only a single data node is available - if (allocation.nodes().dataNodes().size() <= 1) { + if (allocation.nodes().getDataNodes().size() <= 1) { if (logger.isTraceEnabled()) { logger.trace("only a single data node is present, allowing allocation"); } diff --git a/core/src/main/java/org/elasticsearch/gateway/AsyncShardFetch.java b/core/src/main/java/org/elasticsearch/gateway/AsyncShardFetch.java index 1ccdb43cc45..51718350253 100644 --- a/core/src/main/java/org/elasticsearch/gateway/AsyncShardFetch.java +++ b/core/src/main/java/org/elasticsearch/gateway/AsyncShardFetch.java @@ -223,7 +223,7 @@ public abstract class AsyncShardFetch implements Rel */ private void fillShardCacheWithDataNodes(Map> shardCache, DiscoveryNodes nodes) { // verify that all current data nodes are there - for (ObjectObjectCursor cursor : nodes.dataNodes()) { + for (ObjectObjectCursor cursor : nodes.getDataNodes()) { DiscoveryNode node = cursor.value; if (shardCache.containsKey(node.getId()) == false) { shardCache.put(node.getId(), new NodeEntry(node.getId())); diff --git a/core/src/main/java/org/elasticsearch/gateway/GatewayService.java b/core/src/main/java/org/elasticsearch/gateway/GatewayService.java index 7dcc45f1c0a..288deac432e 100644 --- a/core/src/main/java/org/elasticsearch/gateway/GatewayService.java +++ b/core/src/main/java/org/elasticsearch/gateway/GatewayService.java @@ -168,9 +168,9 @@ public class GatewayService extends AbstractLifecycleComponent i } else if (recoverAfterNodes != -1 && (nodes.masterAndDataNodes().size()) < recoverAfterNodes) { logger.debug("not recovering from gateway, nodes_size (data+master) [{}] < recover_after_nodes [{}]", nodes.masterAndDataNodes().size(), recoverAfterNodes); - } else if (recoverAfterDataNodes != -1 && nodes.dataNodes().size() < recoverAfterDataNodes) { + } else if (recoverAfterDataNodes != -1 && nodes.getDataNodes().size() < recoverAfterDataNodes) { logger.debug("not recovering from gateway, nodes_size (data) [{}] < recover_after_data_nodes [{}]", - nodes.dataNodes().size(), recoverAfterDataNodes); + nodes.getDataNodes().size(), recoverAfterDataNodes); } else if (recoverAfterMasterNodes != -1 && nodes.masterNodes().size() < recoverAfterMasterNodes) { logger.debug("not recovering from gateway, nodes_size (master) [{}] < recover_after_master_nodes [{}]", nodes.masterNodes().size(), recoverAfterMasterNodes); @@ -188,9 +188,9 @@ public class GatewayService extends AbstractLifecycleComponent i if (expectedNodes != -1 && (nodes.masterAndDataNodes().size() < expectedNodes)) { // does not meet the expected... enforceRecoverAfterTime = true; reason = "expecting [" + expectedNodes + "] nodes, but only have [" + nodes.masterAndDataNodes().size() + "]"; - } else if (expectedDataNodes != -1 && (nodes.dataNodes().size() < expectedDataNodes)) { // does not meet the expected... + } else if (expectedDataNodes != -1 && (nodes.getDataNodes().size() < expectedDataNodes)) { // does not meet the expected... enforceRecoverAfterTime = true; - reason = "expecting [" + expectedDataNodes + "] data nodes, but only have [" + nodes.dataNodes().size() + "]"; + reason = "expecting [" + expectedDataNodes + "] data nodes, but only have [" + nodes.getDataNodes().size() + "]"; } else if (expectedMasterNodes != -1 && (nodes.masterNodes().size() < expectedMasterNodes)) { // does not meet the expected... enforceRecoverAfterTime = true; reason = "expecting [" + expectedMasterNodes + "] master nodes, but only have [" + nodes.masterNodes().size() + "]"; diff --git a/core/src/main/java/org/elasticsearch/gateway/ReplicaShardAllocator.java b/core/src/main/java/org/elasticsearch/gateway/ReplicaShardAllocator.java index e20988d051e..d2e3d7f42cf 100644 --- a/core/src/main/java/org/elasticsearch/gateway/ReplicaShardAllocator.java +++ b/core/src/main/java/org/elasticsearch/gateway/ReplicaShardAllocator.java @@ -216,7 +216,7 @@ public abstract class ReplicaShardAllocator extends AbstractComponent { * Can the shard be allocated on at least one node based on the allocation deciders. */ private boolean canBeAllocatedToAtLeastOneNode(ShardRouting shard, RoutingAllocation allocation) { - for (ObjectCursor cursor : allocation.nodes().dataNodes().values()) { + for (ObjectCursor cursor : allocation.nodes().getDataNodes().values()) { RoutingNode node = allocation.routingNodes().node(cursor.value.getId()); if (node == null) { continue; diff --git a/core/src/test/java/org/elasticsearch/indices/recovery/IndexPrimaryRelocationIT.java b/core/src/test/java/org/elasticsearch/indices/recovery/IndexPrimaryRelocationIT.java index 322ed269bcf..9bc2ce76cc4 100644 --- a/core/src/test/java/org/elasticsearch/indices/recovery/IndexPrimaryRelocationIT.java +++ b/core/src/test/java/org/elasticsearch/indices/recovery/IndexPrimaryRelocationIT.java @@ -64,8 +64,8 @@ public class IndexPrimaryRelocationIT extends ESIntegTestCase { indexingThread.start(); ClusterState initialState = client().admin().cluster().prepareState().get().getState(); - DiscoveryNode[] dataNodes = initialState.getNodes().dataNodes().values().toArray(DiscoveryNode.class); - DiscoveryNode relocationSource = initialState.getNodes().dataNodes().get(initialState.getRoutingTable().shardRoutingTable("test", 0).primaryShard().currentNodeId()); + DiscoveryNode[] dataNodes = initialState.getNodes().getDataNodes().values().toArray(DiscoveryNode.class); + DiscoveryNode relocationSource = initialState.getNodes().getDataNodes().get(initialState.getRoutingTable().shardRoutingTable("test", 0).primaryShard().currentNodeId()); for (int i = 0; i < RELOCATION_COUNT; i++) { DiscoveryNode relocationTarget = randomFrom(dataNodes); while (relocationTarget.equals(relocationSource)) { diff --git a/core/src/test/java/org/elasticsearch/tribe/TribeIT.java b/core/src/test/java/org/elasticsearch/tribe/TribeIT.java index 2d7d8843eea..5b922b40fe3 100644 --- a/core/src/test/java/org/elasticsearch/tribe/TribeIT.java +++ b/core/src/test/java/org/elasticsearch/tribe/TribeIT.java @@ -427,8 +427,8 @@ public class TribeIT extends ESIntegTestCase { @Override public void run() { DiscoveryNodes tribeNodes = tribeNode.client().admin().cluster().prepareState().get().getState().getNodes(); - assertThat(countDataNodesForTribe("t1", tribeNodes), equalTo(internalCluster().client().admin().cluster().prepareState().get().getState().getNodes().dataNodes().size())); - assertThat(countDataNodesForTribe("t2", tribeNodes), equalTo(cluster2.client().admin().cluster().prepareState().get().getState().getNodes().dataNodes().size())); + assertThat(countDataNodesForTribe("t1", tribeNodes), equalTo(internalCluster().client().admin().cluster().prepareState().get().getState().getNodes().getDataNodes().size())); + assertThat(countDataNodesForTribe("t2", tribeNodes), equalTo(cluster2.client().admin().cluster().prepareState().get().getState().getNodes().getDataNodes().size())); } }); }