Add recovery source to ShardRouting
Relates to elastic/elasticsearchelastic/elasticsearch#19516 Original commit: elastic/x-pack-elasticsearch@051fb25bfc
This commit is contained in:
parent
40c2672f12
commit
cdc41f6082
|
@ -119,14 +119,7 @@ public class IndexRecoveryCollectorTests extends AbstractCollectorTestCase {
|
|||
List<RecoveryState> 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)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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<String, java.util.List<RecoveryState>> 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;
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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<Sha
|
|||
doc.setClusterStateUUID(UUID.randomUUID().toString());
|
||||
doc.setSourceNode(new DiscoveryNode("id", LocalTransportAddress.buildUnique(), emptyMap(), emptySet(), Version.CURRENT));
|
||||
|
||||
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 = TestShardRouting.newShardRouting(
|
||||
new ShardId(new Index(randomAsciiOfLength(5), UUID.randomUUID().toString()), randomIntBetween(0, 5)),
|
||||
null, randomBoolean(), ShardRoutingState.UNASSIGNED);
|
||||
shardRouting = shardRouting.initialize("node-0", null, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE);
|
||||
shardRouting = shardRouting.moveToStarted();
|
||||
shardRouting = shardRouting.relocate("node-1", ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE);
|
||||
|
@ -72,8 +76,8 @@ public class ShardsResolverTests extends MonitoringIndexNameResolverTestCase<Sha
|
|||
final String sourceNode = "node-" + randomIntBetween(0, 5);
|
||||
final String relocationNode = "node-" + randomIntBetween(6, 10);
|
||||
|
||||
ShardRouting shardRouting = ShardRouting.newUnassigned(new ShardId(new Index(index, ""), shardId), null, primary,
|
||||
new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, null));
|
||||
ShardRouting shardRouting = TestShardRouting.newShardRouting(new ShardId(new Index(index, ""), shardId),
|
||||
null, primary, ShardRoutingState.UNASSIGNED);
|
||||
shardRouting = shardRouting.initialize(sourceNode, null, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE);
|
||||
shardRouting = shardRouting.moveToStarted();
|
||||
shardRouting = shardRouting.relocate(relocationNode, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE);
|
||||
|
@ -99,8 +103,8 @@ public class ShardsResolverTests extends MonitoringIndexNameResolverTestCase<Sha
|
|||
}
|
||||
|
||||
public void testShardId() {
|
||||
ShardRouting shardRouting = ShardRouting.newUnassigned(new ShardId(new Index("bar", ""), 42), null, false,
|
||||
new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, null));
|
||||
ShardRouting shardRouting = ShardRouting.newUnassigned(new ShardId(new Index("bar", ""), 42), false,
|
||||
RecoverySource.PeerRecoverySource.INSTANCE, new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, null));
|
||||
assertThat(ShardsResolver.id("foo", shardRouting), equalTo("foo:_na:bar:42:r"));
|
||||
shardRouting = shardRouting.initialize("node1", null, ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE);
|
||||
shardRouting = shardRouting.moveToStarted();
|
||||
|
|
|
@ -103,7 +103,7 @@ public class TriggeredWatchStoreTests extends ESTestCase {
|
|||
}
|
||||
ShardId shardId = new ShardId(index, 0);
|
||||
indexRoutingTableBuilder.addIndexShard(new IndexShardRoutingTable.Builder(shardId)
|
||||
.addShard(TestShardRouting.newShardRouting(shardId, "_node_id", null, null, true, state,
|
||||
.addShard(TestShardRouting.newShardRouting(shardId, "_node_id", null, true, state,
|
||||
new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, "")))
|
||||
.build());
|
||||
indexRoutingTableBuilder.addReplica();
|
||||
|
|
|
@ -108,7 +108,7 @@ public class WatchStoreTests extends ESTestCase {
|
|||
final Index index = metaDateBuilder.get(WatchStore.INDEX).getIndex();
|
||||
IndexRoutingTable.Builder indexRoutingTableBuilder = IndexRoutingTable.builder(index);
|
||||
indexRoutingTableBuilder.addIndexShard(new IndexShardRoutingTable.Builder(new ShardId(index, 0))
|
||||
.addShard(TestShardRouting.newShardRouting(WatchStore.INDEX, 0, "_node_id", null, null, true,
|
||||
.addShard(TestShardRouting.newShardRouting(WatchStore.INDEX, 0, "_node_id", null, true,
|
||||
ShardRoutingState.UNASSIGNED, new UnassignedInfo(UnassignedInfo.Reason.INDEX_CREATED, "")))
|
||||
.build());
|
||||
indexRoutingTableBuilder.addReplica();
|
||||
|
|
Loading…
Reference in New Issue