Use immutable ShardRouting
Relates to elastic/elasticsearchelastic/elasticsearch#17821 Original commit: elastic/x-pack-elasticsearch@92a9581327
This commit is contained in:
parent
e7b70794b6
commit
ee406e9c3f
|
@ -1,30 +0,0 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License;
|
||||
* you may not use this file except in compliance with the Elastic License.
|
||||
*/
|
||||
package org.elasticsearch.cluster.routing;
|
||||
|
||||
public class ShardRoutingTestUtils {
|
||||
|
||||
/**
|
||||
* Gives access to package private {@link ShardRouting#initialize(String, String, long)} method for test purpose.
|
||||
**/
|
||||
public static void initialize(ShardRouting shardRouting, String nodeId) {
|
||||
shardRouting.initialize(nodeId, null, -1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gives access to package private {@link ShardRouting#moveToStarted()} method for test purpose.
|
||||
**/
|
||||
public static void moveToStarted(ShardRouting shardRouting) {
|
||||
shardRouting.moveToStarted();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gives access to package private {@link ShardRouting#relocate(String, long)} method for test purpose.
|
||||
**/
|
||||
public static void relocate(ShardRouting shardRouting, String nodeId) {
|
||||
shardRouting.relocate(nodeId, -1);
|
||||
}
|
||||
}
|
|
@ -137,7 +137,7 @@ 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(index, 0, null, false,
|
||||
ShardRouting shardRouting = ShardRouting.newUnassigned(new ShardId(index, 0), null, false,
|
||||
new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, "foo"));
|
||||
CommonStats shardCommonStats = new CommonStats();
|
||||
shardCommonStats.fieldData = new FieldDataStats();
|
||||
|
|
|
@ -11,7 +11,6 @@ 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.ShardRouting;
|
||||
import org.elasticsearch.cluster.routing.ShardRoutingTestUtils;
|
||||
import org.elasticsearch.cluster.routing.UnassignedInfo;
|
||||
import org.elasticsearch.common.transport.DummyTransportAddress;
|
||||
import org.elasticsearch.common.xcontent.XContentType;
|
||||
|
@ -80,10 +79,10 @@ 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(index, 0, null, true,
|
||||
ShardRouting shardRouting = ShardRouting.newUnassigned(shardId, null, true,
|
||||
new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, null));
|
||||
ShardRoutingTestUtils.initialize(shardRouting, "node-0");
|
||||
ShardRoutingTestUtils.moveToStarted(shardRouting);
|
||||
shardRouting = shardRouting.initialize("node-0", null, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE);
|
||||
shardRouting = shardRouting.moveToStarted();
|
||||
CommonStats stats = new CommonStats();
|
||||
stats.fieldData = new FieldDataStats();
|
||||
stats.queryCache = new QueryCacheStats();
|
||||
|
|
|
@ -12,7 +12,6 @@ import org.elasticsearch.action.admin.indices.stats.IndicesStatsResponseTestUtil
|
|||
import org.elasticsearch.action.admin.indices.stats.ShardStats;
|
||||
import org.elasticsearch.cluster.node.DiscoveryNode;
|
||||
import org.elasticsearch.cluster.routing.ShardRouting;
|
||||
import org.elasticsearch.cluster.routing.ShardRoutingTestUtils;
|
||||
import org.elasticsearch.cluster.routing.UnassignedInfo;
|
||||
import org.elasticsearch.common.transport.DummyTransportAddress;
|
||||
import org.elasticsearch.common.xcontent.XContentType;
|
||||
|
@ -88,10 +87,10 @@ 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(index, i, null, true,
|
||||
ShardRouting shardRouting = ShardRouting.newUnassigned(shardId, null, true,
|
||||
new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, null));
|
||||
ShardRoutingTestUtils.initialize(shardRouting, "node-0");
|
||||
ShardRoutingTestUtils.moveToStarted(shardRouting);
|
||||
shardRouting = shardRouting.initialize("node-0", null, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE);
|
||||
shardRouting = shardRouting.moveToStarted();
|
||||
CommonStats stats = new CommonStats();
|
||||
stats.fieldData = new FieldDataStats();
|
||||
stats.queryCache = new QueryCacheStats();
|
||||
|
|
|
@ -13,7 +13,6 @@ 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.ShardRouting;
|
||||
import org.elasticsearch.cluster.routing.ShardRoutingTestUtils;
|
||||
import org.elasticsearch.cluster.routing.UnassignedInfo;
|
||||
import org.elasticsearch.common.transport.DummyTransportAddress;
|
||||
import org.elasticsearch.common.xcontent.XContentType;
|
||||
|
@ -107,10 +106,10 @@ 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(index, 0, null, true,
|
||||
ShardRouting shardRouting = ShardRouting.newUnassigned(shardId, null, true,
|
||||
new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, null));
|
||||
ShardRoutingTestUtils.initialize(shardRouting, "node-0");
|
||||
ShardRoutingTestUtils.moveToStarted(shardRouting);
|
||||
shardRouting = shardRouting.initialize("node-0", null, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE);
|
||||
shardRouting = shardRouting.moveToStarted();
|
||||
CommonStats stats = new CommonStats();
|
||||
stats.fieldData = new FieldDataStats();
|
||||
stats.queryCache = new QueryCacheStats();
|
||||
|
|
|
@ -8,11 +8,11 @@ package org.elasticsearch.marvel.agent.resolver.shards;
|
|||
import org.elasticsearch.Version;
|
||||
import org.elasticsearch.cluster.node.DiscoveryNode;
|
||||
import org.elasticsearch.cluster.routing.ShardRouting;
|
||||
import org.elasticsearch.cluster.routing.ShardRoutingTestUtils;
|
||||
import org.elasticsearch.cluster.routing.UnassignedInfo;
|
||||
import org.elasticsearch.common.transport.DummyTransportAddress;
|
||||
import org.elasticsearch.common.xcontent.XContentType;
|
||||
import org.elasticsearch.index.Index;
|
||||
import org.elasticsearch.index.shard.ShardId;
|
||||
import org.elasticsearch.marvel.agent.collector.shards.ShardMonitoringDoc;
|
||||
import org.elasticsearch.marvel.agent.exporter.MarvelTemplateUtils;
|
||||
import org.elasticsearch.marvel.agent.resolver.MonitoringIndexNameResolverTestCase;
|
||||
|
@ -33,11 +33,11 @@ public class ShardsResolverTests extends MonitoringIndexNameResolverTestCase<Sha
|
|||
doc.setClusterStateUUID(UUID.randomUUID().toString());
|
||||
doc.setSourceNode(new DiscoveryNode("id", DummyTransportAddress.INSTANCE, emptyMap(), emptySet(), Version.CURRENT));
|
||||
|
||||
ShardRouting shardRouting = ShardRouting.newUnassigned(new Index(randomAsciiOfLength(5), UUID.randomUUID().toString()),
|
||||
randomIntBetween(0, 5), null, randomBoolean(), new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, null));
|
||||
ShardRoutingTestUtils.initialize(shardRouting, "node-0");
|
||||
ShardRoutingTestUtils.moveToStarted(shardRouting);
|
||||
ShardRoutingTestUtils.relocate(shardRouting, "node-1");
|
||||
ShardRouting shardRouting = ShardRouting.newUnassigned(new ShardId(new Index(randomAsciiOfLength(5), UUID.randomUUID().toString()),
|
||||
randomIntBetween(0, 5)), null, randomBoolean(), new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, null));
|
||||
shardRouting = shardRouting.initialize("node-0", null, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE);
|
||||
shardRouting = shardRouting.moveToStarted();
|
||||
shardRouting = shardRouting.relocate("node-1", ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE);
|
||||
doc.setShardRouting(shardRouting);
|
||||
return doc;
|
||||
}
|
||||
|
@ -72,11 +72,11 @@ public class ShardsResolverTests extends MonitoringIndexNameResolverTestCase<Sha
|
|||
final String sourceNode = "node-" + randomIntBetween(0, 5);
|
||||
final String relocationNode = "node-" + randomIntBetween(6, 10);
|
||||
|
||||
final ShardRouting shardRouting = ShardRouting.newUnassigned(new Index(index, ""), shardId, null, primary,
|
||||
ShardRouting shardRouting = ShardRouting.newUnassigned(new ShardId(new Index(index, ""), shardId), null, primary,
|
||||
new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, null));
|
||||
ShardRoutingTestUtils.initialize(shardRouting, sourceNode);
|
||||
ShardRoutingTestUtils.moveToStarted(shardRouting);
|
||||
ShardRoutingTestUtils.relocate(shardRouting, relocationNode);
|
||||
shardRouting = shardRouting.initialize(sourceNode, null, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE);
|
||||
shardRouting = shardRouting.moveToStarted();
|
||||
shardRouting = shardRouting.relocate(relocationNode, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE);
|
||||
doc.setShardRouting(shardRouting);
|
||||
|
||||
assertThat(resolver.index(doc), equalTo(".monitoring-es-" + MarvelTemplateUtils.TEMPLATE_VERSION + "-2015.07.22"));
|
||||
|
@ -99,11 +99,11 @@ public class ShardsResolverTests extends MonitoringIndexNameResolverTestCase<Sha
|
|||
}
|
||||
|
||||
public void testShardId() {
|
||||
ShardRouting shardRouting = ShardRouting.newUnassigned(new Index("bar", ""), 42, null, false,
|
||||
ShardRouting shardRouting = ShardRouting.newUnassigned(new ShardId(new Index("bar", ""), 42), null, false,
|
||||
new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, null));
|
||||
assertThat(ShardsResolver.id("foo", shardRouting), equalTo("foo:_na:bar:42:r"));
|
||||
ShardRoutingTestUtils.initialize(shardRouting, "node1");
|
||||
ShardRoutingTestUtils.moveToStarted(shardRouting);
|
||||
shardRouting = shardRouting.initialize("node1", null, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE);
|
||||
shardRouting = shardRouting.moveToStarted();
|
||||
assertThat(ShardsResolver.id("foo", shardRouting), equalTo("foo:node1:bar:42:r"));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -101,8 +101,9 @@ public class TriggeredWatchStoreTests extends ESTestCase {
|
|||
} else {
|
||||
state = ShardRoutingState.UNASSIGNED;
|
||||
}
|
||||
indexRoutingTableBuilder.addIndexShard(new IndexShardRoutingTable.Builder(new ShardId(index, 0))
|
||||
.addShard(TestShardRouting.newShardRouting(index, 0, "_node_id", null, null, true, state,
|
||||
ShardId shardId = new ShardId(index, 0);
|
||||
indexRoutingTableBuilder.addIndexShard(new IndexShardRoutingTable.Builder(shardId)
|
||||
.addShard(TestShardRouting.newShardRouting(shardId, "_node_id", null, null, true, state,
|
||||
new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, "")))
|
||||
.build());
|
||||
indexRoutingTableBuilder.addReplica();
|
||||
|
@ -136,8 +137,9 @@ public class TriggeredWatchStoreTests extends ESTestCase {
|
|||
metaDateBuilder.put(IndexMetaData.builder(TriggeredWatchStore.INDEX_NAME).settings(settings).numberOfShards(1).numberOfReplicas(1));
|
||||
final Index index = metaDateBuilder.get(TriggeredWatchStore.INDEX_NAME).getIndex();
|
||||
IndexRoutingTable.Builder indexRoutingTableBuilder = IndexRoutingTable.builder(index);
|
||||
indexRoutingTableBuilder.addIndexShard(new IndexShardRoutingTable.Builder(new ShardId(index, 0))
|
||||
.addShard(TestShardRouting.newShardRouting(index, 0, "_node_id", null, true, ShardRoutingState.STARTED))
|
||||
ShardId shardId = new ShardId(index, 0);
|
||||
indexRoutingTableBuilder.addIndexShard(new IndexShardRoutingTable.Builder(shardId)
|
||||
.addShard(TestShardRouting.newShardRouting(shardId, "_node_id", null, true, ShardRoutingState.STARTED))
|
||||
.build());
|
||||
indexRoutingTableBuilder.addReplica();
|
||||
routingTableBuilder.add(indexRoutingTableBuilder.build());
|
||||
|
@ -170,8 +172,9 @@ public class TriggeredWatchStoreTests extends ESTestCase {
|
|||
metaDateBuilder.put(IndexMetaData.builder(TriggeredWatchStore.INDEX_NAME).settings(settings).numberOfShards(1).numberOfReplicas(1));
|
||||
final Index index = metaDateBuilder.get(TriggeredWatchStore.INDEX_NAME).getIndex();
|
||||
IndexRoutingTable.Builder indexRoutingTableBuilder = IndexRoutingTable.builder(index);
|
||||
indexRoutingTableBuilder.addIndexShard(new IndexShardRoutingTable.Builder(new ShardId(index, 0))
|
||||
.addShard(TestShardRouting.newShardRouting(index, 0, "_node_name", null, true, ShardRoutingState.STARTED))
|
||||
ShardId shardId = new ShardId(index, 0);
|
||||
indexRoutingTableBuilder.addIndexShard(new IndexShardRoutingTable.Builder(shardId)
|
||||
.addShard(TestShardRouting.newShardRouting(shardId, "_node_name", null, true, ShardRoutingState.STARTED))
|
||||
.build());
|
||||
indexRoutingTableBuilder.addReplica();
|
||||
routingTableBuilder.add(indexRoutingTableBuilder.build());
|
||||
|
@ -213,8 +216,9 @@ public class TriggeredWatchStoreTests extends ESTestCase {
|
|||
metaDateBuilder.put(IndexMetaData.builder(TriggeredWatchStore.INDEX_NAME).settings(settings).numberOfShards(1).numberOfReplicas(1));
|
||||
final Index index = metaDateBuilder.get(TriggeredWatchStore.INDEX_NAME).getIndex();
|
||||
IndexRoutingTable.Builder indexRoutingTableBuilder = IndexRoutingTable.builder(index);
|
||||
indexRoutingTableBuilder.addIndexShard(new IndexShardRoutingTable.Builder(new ShardId(index, 0))
|
||||
.addShard(TestShardRouting.newShardRouting(index, 0, "_node_name", null, true, ShardRoutingState.STARTED))
|
||||
ShardId shardId = new ShardId(index, 0);
|
||||
indexRoutingTableBuilder.addIndexShard(new IndexShardRoutingTable.Builder(shardId)
|
||||
.addShard(TestShardRouting.newShardRouting(shardId, "_node_name", null, true, ShardRoutingState.STARTED))
|
||||
.build());
|
||||
indexRoutingTableBuilder.addReplica();
|
||||
routingTableBuilder.add(indexRoutingTableBuilder.build());
|
||||
|
@ -255,8 +259,9 @@ public class TriggeredWatchStoreTests extends ESTestCase {
|
|||
metaDateBuilder.put(IndexMetaData.builder(TriggeredWatchStore.INDEX_NAME).settings(settings).numberOfShards(1).numberOfReplicas(1));
|
||||
final Index index = metaDateBuilder.get(TriggeredWatchStore.INDEX_NAME).getIndex();
|
||||
IndexRoutingTable.Builder indexRoutingTableBuilder = IndexRoutingTable.builder(index);
|
||||
indexRoutingTableBuilder.addIndexShard(new IndexShardRoutingTable.Builder(new ShardId(index, 0))
|
||||
.addShard(TestShardRouting.newShardRouting(index, 0, "_node_id", null, true, ShardRoutingState.STARTED))
|
||||
ShardId shardId = new ShardId(index, 0);
|
||||
indexRoutingTableBuilder.addIndexShard(new IndexShardRoutingTable.Builder(shardId)
|
||||
.addShard(TestShardRouting.newShardRouting(shardId, "_node_id", null, true, ShardRoutingState.STARTED))
|
||||
.build());
|
||||
indexRoutingTableBuilder.addReplica();
|
||||
routingTableBuilder.add(indexRoutingTableBuilder.build());
|
||||
|
|
Loading…
Reference in New Issue