From cdc41f608275227ad8982a306826bf00553a4ba9 Mon Sep 17 00:00:00 2001 From: Yannick Welsch Date: Sat, 27 Aug 2016 15:19:49 +0200 Subject: [PATCH] Add recovery source to ShardRouting Relates to elastic/elasticsearchelastic/elasticsearch#19516 Original commit: elastic/x-pack-elasticsearch@051fb25bfc4c6b040e0d33230fbad34be651b0a3 --- .../indices/IndexRecoveryCollectorTests.java | 9 +-------- .../cluster/ClusterStatsResolverTests.java | 5 +++-- .../indices/IndexRecoveryResolverTests.java | 9 +++++++-- .../indices/IndexStatsResolverTests.java | 3 ++- .../indices/IndicesStatsResolverTests.java | 3 ++- .../resolver/node/NodeStatsResolverTests.java | 3 ++- .../resolver/shards/ShardsResolverTests.java | 16 ++++++++++------ .../execution/TriggeredWatchStoreTests.java | 2 +- .../xpack/watcher/watch/WatchStoreTests.java | 2 +- 9 files changed, 29 insertions(+), 23 deletions(-) diff --git a/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/collector/indices/IndexRecoveryCollectorTests.java b/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/collector/indices/IndexRecoveryCollectorTests.java index e1c59c10222..3c08b7a8b72 100644 --- a/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/collector/indices/IndexRecoveryCollectorTests.java +++ b/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/collector/indices/IndexRecoveryCollectorTests.java @@ -119,14 +119,7 @@ public class IndexRecoveryCollectorTests extends AbstractCollectorTestCase { List shardRecoveries = shard.getValue(); assertNotNull(shardRecoveries); assertThat(shardRecoveries.size(), greaterThan(0)); - - for (RecoveryState shardRecovery : shardRecoveries) { - assertThat(shard.getKey(), equalTo(indexName)); - assertThat(shardRecovery.getType(), anyOf(equalTo(RecoveryState.Type.PRIMARY_RELOCATION), - equalTo(RecoveryState.Type.STORE), - equalTo(RecoveryState.Type.REPLICA), - equalTo(RecoveryState.Type.SNAPSHOT))); - } + assertThat(shard.getKey(), equalTo(indexName)); } } diff --git a/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/cluster/ClusterStatsResolverTests.java b/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/cluster/ClusterStatsResolverTests.java index f7099b1053e..43f14099a2a 100644 --- a/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/cluster/ClusterStatsResolverTests.java +++ b/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/cluster/ClusterStatsResolverTests.java @@ -17,6 +17,7 @@ import org.elasticsearch.action.admin.indices.stats.ShardStats; import org.elasticsearch.cluster.ClusterName; import org.elasticsearch.cluster.health.ClusterHealthStatus; import org.elasticsearch.cluster.node.DiscoveryNode; +import org.elasticsearch.cluster.routing.RecoverySource; import org.elasticsearch.cluster.routing.ShardRouting; import org.elasticsearch.cluster.routing.UnassignedInfo; import org.elasticsearch.common.settings.Settings; @@ -138,8 +139,8 @@ public class ClusterStatsResolverTests extends MonitoringIndexNameResolverTestCa private ShardStats[] randomShardStats() { Index index = new Index("test", UUID.randomUUID().toString()); Path shardPath = createTempDir().resolve("indices").resolve(index.getUUID()).resolve("0"); - ShardRouting shardRouting = ShardRouting.newUnassigned(new ShardId(index, 0), null, false, - new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, "foo")); + ShardRouting shardRouting = ShardRouting.newUnassigned(new ShardId(index, 0), false, + RecoverySource.PeerRecoverySource.INSTANCE, new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, "foo")); CommonStats shardCommonStats = new CommonStats(); shardCommonStats.fieldData = new FieldDataStats(); shardCommonStats.queryCache = new QueryCacheStats(); diff --git a/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/indices/IndexRecoveryResolverTests.java b/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/indices/IndexRecoveryResolverTests.java index 5d89dec27c6..9a56018ba48 100644 --- a/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/indices/IndexRecoveryResolverTests.java +++ b/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/indices/IndexRecoveryResolverTests.java @@ -8,6 +8,10 @@ package org.elasticsearch.xpack.monitoring.agent.resolver.indices; import org.elasticsearch.Version; import org.elasticsearch.action.admin.indices.recovery.RecoveryResponse; import org.elasticsearch.cluster.node.DiscoveryNode; +import org.elasticsearch.cluster.routing.RecoverySource; +import org.elasticsearch.cluster.routing.ShardRouting; +import org.elasticsearch.cluster.routing.ShardRoutingState; +import org.elasticsearch.cluster.routing.TestShardRouting; import org.elasticsearch.common.transport.LocalTransportAddress; import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.index.shard.ShardId; @@ -36,8 +40,9 @@ public class IndexRecoveryResolverTests extends MonitoringIndexNameResolverTestC DiscoveryNode localNode = new DiscoveryNode("foo", LocalTransportAddress.buildUnique(), emptyMap(), emptySet(), Version.CURRENT); Map> shardRecoveryStates = new HashMap<>(); - shardRecoveryStates.put("test", Collections.singletonList(new RecoveryState(new ShardId("test", "uuid", 0), true, - RecoveryState.Type.STORE, localNode, localNode))); + ShardRouting shardRouting = TestShardRouting.newShardRouting(new ShardId("test", "uuid", 0), localNode.getId(), true, + ShardRoutingState.INITIALIZING, RecoverySource.StoreRecoverySource.EXISTING_STORE_INSTANCE); + shardRecoveryStates.put("test", Collections.singletonList(new RecoveryState(shardRouting, localNode, null))); doc.setRecoveryResponse(new RecoveryResponse(10, 10, 0, false, shardRecoveryStates, Collections.emptyList())); return doc; } diff --git a/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/indices/IndexStatsResolverTests.java b/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/indices/IndexStatsResolverTests.java index 88deec5691a..d2fb07589b8 100644 --- a/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/indices/IndexStatsResolverTests.java +++ b/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/indices/IndexStatsResolverTests.java @@ -10,6 +10,7 @@ import org.elasticsearch.action.admin.indices.stats.CommonStats; import org.elasticsearch.action.admin.indices.stats.IndexStats; import org.elasticsearch.action.admin.indices.stats.ShardStats; import org.elasticsearch.cluster.node.DiscoveryNode; +import org.elasticsearch.cluster.routing.RecoverySource; import org.elasticsearch.cluster.routing.ShardRouting; import org.elasticsearch.cluster.routing.UnassignedInfo; import org.elasticsearch.common.transport.LocalTransportAddress; @@ -80,7 +81,7 @@ public class IndexStatsResolverTests extends MonitoringIndexNameResolverTestCase Index index = new Index("test-" + randomIntBetween(0, 5), UUID.randomUUID().toString()); ShardId shardId = new ShardId(index, 0); Path path = createTempDir().resolve("indices").resolve(index.getUUID()).resolve("0"); - ShardRouting shardRouting = ShardRouting.newUnassigned(shardId, null, true, + ShardRouting shardRouting = ShardRouting.newUnassigned(shardId, true, RecoverySource.StoreRecoverySource.EMPTY_STORE_INSTANCE, new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, null)); shardRouting = shardRouting.initialize("node-0", null, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE); shardRouting = shardRouting.moveToStarted(); diff --git a/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/indices/IndicesStatsResolverTests.java b/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/indices/IndicesStatsResolverTests.java index ab60058bc34..62baf89e7da 100644 --- a/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/indices/IndicesStatsResolverTests.java +++ b/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/indices/IndicesStatsResolverTests.java @@ -11,6 +11,7 @@ import org.elasticsearch.action.admin.indices.stats.IndicesStatsResponse; import org.elasticsearch.action.admin.indices.stats.IndicesStatsResponseTestUtils; import org.elasticsearch.action.admin.indices.stats.ShardStats; import org.elasticsearch.cluster.node.DiscoveryNode; +import org.elasticsearch.cluster.routing.RecoverySource; import org.elasticsearch.cluster.routing.ShardRouting; import org.elasticsearch.cluster.routing.UnassignedInfo; import org.elasticsearch.common.transport.LocalTransportAddress; @@ -87,7 +88,7 @@ public class IndicesStatsResolverTests extends MonitoringIndexNameResolverTestCa for (int i=0; i < randomIntBetween(2, 5); i++) { ShardId shardId = new ShardId(index, i); Path path = createTempDir().resolve("indices").resolve(index.getUUID()).resolve(String.valueOf(i)); - ShardRouting shardRouting = ShardRouting.newUnassigned(shardId, null, true, + ShardRouting shardRouting = ShardRouting.newUnassigned(shardId, true, RecoverySource.StoreRecoverySource.EMPTY_STORE_INSTANCE, new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, null)); shardRouting = shardRouting.initialize("node-0", null, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE); shardRouting = shardRouting.moveToStarted(); diff --git a/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/node/NodeStatsResolverTests.java b/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/node/NodeStatsResolverTests.java index 6626328078f..810e4381298 100644 --- a/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/node/NodeStatsResolverTests.java +++ b/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/node/NodeStatsResolverTests.java @@ -12,6 +12,7 @@ import org.elasticsearch.action.admin.indices.stats.CommonStats; import org.elasticsearch.action.admin.indices.stats.IndexShardStats; import org.elasticsearch.action.admin.indices.stats.ShardStats; import org.elasticsearch.cluster.node.DiscoveryNode; +import org.elasticsearch.cluster.routing.RecoverySource; import org.elasticsearch.cluster.routing.ShardRouting; import org.elasticsearch.cluster.routing.UnassignedInfo; import org.elasticsearch.common.transport.LocalTransportAddress; @@ -105,7 +106,7 @@ public class NodeStatsResolverTests extends MonitoringIndexNameResolverTestCase< Index index = new Index("test-" + randomIntBetween(0, 5), UUID.randomUUID().toString()); ShardId shardId = new ShardId(index, 0); Path path = createTempDir().resolve("indices").resolve(index.getUUID()).resolve("0"); - ShardRouting shardRouting = ShardRouting.newUnassigned(shardId, null, true, + ShardRouting shardRouting = ShardRouting.newUnassigned(shardId, true, RecoverySource.StoreRecoverySource.EMPTY_STORE_INSTANCE, new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, null)); shardRouting = shardRouting.initialize("node-0", null, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE); shardRouting = shardRouting.moveToStarted(); diff --git a/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/shards/ShardsResolverTests.java b/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/shards/ShardsResolverTests.java index 086d8c36b7d..eccc8821b28 100644 --- a/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/shards/ShardsResolverTests.java +++ b/elasticsearch/x-pack/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/agent/resolver/shards/ShardsResolverTests.java @@ -7,7 +7,10 @@ package org.elasticsearch.xpack.monitoring.agent.resolver.shards; import org.elasticsearch.Version; import org.elasticsearch.cluster.node.DiscoveryNode; +import org.elasticsearch.cluster.routing.RecoverySource; import org.elasticsearch.cluster.routing.ShardRouting; +import org.elasticsearch.cluster.routing.ShardRoutingState; +import org.elasticsearch.cluster.routing.TestShardRouting; import org.elasticsearch.cluster.routing.UnassignedInfo; import org.elasticsearch.common.transport.LocalTransportAddress; import org.elasticsearch.common.xcontent.XContentType; @@ -33,8 +36,9 @@ public class ShardsResolverTests extends MonitoringIndexNameResolverTestCase