diff --git a/server/src/main/java/org/elasticsearch/action/get/TransportGetAction.java b/server/src/main/java/org/elasticsearch/action/get/TransportGetAction.java index 29b926598ac32..83189198cd4d4 100644 --- a/server/src/main/java/org/elasticsearch/action/get/TransportGetAction.java +++ b/server/src/main/java/org/elasticsearch/action/get/TransportGetAction.java @@ -28,7 +28,6 @@ import org.elasticsearch.cluster.ClusterStateObserver; import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver; import org.elasticsearch.cluster.node.DiscoveryNode; -import org.elasticsearch.cluster.routing.PlainShardIterator; import org.elasticsearch.cluster.routing.ShardIterator; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.io.stream.Writeable; @@ -108,7 +107,7 @@ protected ShardIterator shards(ClusterState state, InternalRequest request) { if (iterator == null) { return null; } - return PlainShardIterator.allSearchableShards(iterator); + return ShardIterator.allSearchableShards(iterator); } @Override diff --git a/server/src/main/java/org/elasticsearch/action/get/TransportShardMultiGetAction.java b/server/src/main/java/org/elasticsearch/action/get/TransportShardMultiGetAction.java index d9a04acc0466e..2850ee675a1af 100644 --- a/server/src/main/java/org/elasticsearch/action/get/TransportShardMultiGetAction.java +++ b/server/src/main/java/org/elasticsearch/action/get/TransportShardMultiGetAction.java @@ -28,7 +28,6 @@ import org.elasticsearch.cluster.ClusterStateObserver; import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver; import org.elasticsearch.cluster.node.DiscoveryNode; -import org.elasticsearch.cluster.routing.PlainShardIterator; import org.elasticsearch.cluster.routing.ShardIterator; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.io.stream.Writeable; @@ -112,7 +111,7 @@ protected ShardIterator shards(ClusterState state, InternalRequest request) { if (iterator == null) { return null; } - return PlainShardIterator.allSearchableShards(iterator); + return ShardIterator.allSearchableShards(iterator); } @Override diff --git a/server/src/main/java/org/elasticsearch/action/search/SearchShardIterator.java b/server/src/main/java/org/elasticsearch/action/search/SearchShardIterator.java index b543ff922886f..1d567115d9e2d 100644 --- a/server/src/main/java/org/elasticsearch/action/search/SearchShardIterator.java +++ b/server/src/main/java/org/elasticsearch/action/search/SearchShardIterator.java @@ -10,7 +10,7 @@ package org.elasticsearch.action.search; import org.elasticsearch.action.OriginalIndices; -import org.elasticsearch.cluster.routing.PlainShardIterator; +import org.elasticsearch.cluster.routing.ShardIterator; import org.elasticsearch.cluster.routing.ShardRouting; import org.elasticsearch.common.util.Countable; import org.elasticsearch.common.util.PlainIterator; @@ -24,7 +24,7 @@ import java.util.Objects; /** - * Extension of {@link PlainShardIterator} used in the search api, which also holds the {@link OriginalIndices} + * Extension of {@link ShardIterator} used in the search api, which also holds the {@link OriginalIndices} * of the search request (useful especially with cross-cluster search, as each cluster has its own set of original indices) as well as * the cluster alias. * @see OriginalIndices @@ -42,7 +42,7 @@ public final class SearchShardIterator implements Comparable targetNodesIterator; /** - * Creates a {@link PlainShardIterator} instance that iterates over a subset of the given shards + * Creates a {@link ShardIterator} instance that iterates over a subset of the given shards * this the a given shardId. * * @param clusterAlias the alias of the cluster where the shard is located @@ -55,7 +55,7 @@ public SearchShardIterator(@Nullable String clusterAlias, ShardId shardId, List< } /** - * Creates a {@link PlainShardIterator} instance that iterates over a subset of the given shards + * Creates a {@link ShardIterator} instance that iterates over a subset of the given shards * * @param clusterAlias the alias of the cluster where the shard is located * @param shardId shard id of the group diff --git a/server/src/main/java/org/elasticsearch/action/termvectors/TransportShardMultiTermsVectorAction.java b/server/src/main/java/org/elasticsearch/action/termvectors/TransportShardMultiTermsVectorAction.java index 7840af1baad3a..8f1bb70be21cc 100644 --- a/server/src/main/java/org/elasticsearch/action/termvectors/TransportShardMultiTermsVectorAction.java +++ b/server/src/main/java/org/elasticsearch/action/termvectors/TransportShardMultiTermsVectorAction.java @@ -79,9 +79,11 @@ protected boolean resolveIndex(MultiTermVectorsShardRequest request) { @Override protected ShardIterator shards(ClusterState state, InternalRequest request) { - ShardIterator shards = clusterService.operationRouting() - .getShards(state, request.concreteIndex(), request.request().shardId(), request.request().preference()); - return clusterService.operationRouting().useOnlyPromotableShardsForStateless(shards); + return clusterService.operationRouting() + .useOnlyPromotableShardsForStateless( + clusterService.operationRouting() + .getShards(state, request.concreteIndex(), request.request().shardId(), request.request().preference()) + ); } @Override diff --git a/server/src/main/java/org/elasticsearch/action/termvectors/TransportTermVectorsAction.java b/server/src/main/java/org/elasticsearch/action/termvectors/TransportTermVectorsAction.java index 02479a9f8d143..19fc86fe6f982 100644 --- a/server/src/main/java/org/elasticsearch/action/termvectors/TransportTermVectorsAction.java +++ b/server/src/main/java/org/elasticsearch/action/termvectors/TransportTermVectorsAction.java @@ -60,7 +60,6 @@ public TransportTermVectorsAction( } - @Override protected ShardIterator shards(ClusterState state, InternalRequest request) { final var operationRouting = clusterService.operationRouting(); if (request.request().doc() != null && request.request().routing() == null) { diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/GroupShardsIterator.java b/server/src/main/java/org/elasticsearch/cluster/routing/GroupShardsIterator.java index 32f9530e4b185..ad2291c955140 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/GroupShardsIterator.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/GroupShardsIterator.java @@ -16,9 +16,8 @@ import java.util.List; /** - * This class implements a compilation of {@link ShardIterator}s. Each {@link ShardIterator} - * iterated by this {@link Iterable} represents a group of shards. - * ShardsIterators are always returned in ascending order independently of their order at construction + * This class implements a compilation of shard iterators. Each shard iterator iterated by this {@link Iterable} represents a group of + * shards. ShardsIterators are always returned in ascending order independently of their order at construction * time. The incoming iterators are sorted to ensure consistent iteration behavior across Nodes / JVMs. */ public final class GroupShardsIterator & Countable> implements Iterable { @@ -27,7 +26,7 @@ public final class GroupShardsIterator & Cou /** * Constructs a new sorted GroupShardsIterator from the given list. Items are sorted based on their natural ordering. - * @see PlainShardIterator#compareTo(ShardIterator) + * @see ShardIterator#compareTo(ShardIterator) */ public static & Countable> GroupShardsIterator sortAndCreate(List iterators) { CollectionUtil.timSort(iterators); diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/IndexShardRoutingTable.java b/server/src/main/java/org/elasticsearch/cluster/routing/IndexShardRoutingTable.java index 39e31ea70fa32..15f3fe79b6ec5 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/IndexShardRoutingTable.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/IndexShardRoutingTable.java @@ -189,11 +189,11 @@ public List unpromotableShards() { } public ShardIterator shardsRandomIt() { - return new PlainShardIterator(shardId, shuffler.shuffle(Arrays.asList(shards))); + return new ShardIterator(shardId, shuffler.shuffle(Arrays.asList(shards))); } public ShardIterator shardsIt(int seed) { - return new PlainShardIterator(shardId, shuffler.shuffle(Arrays.asList(shards), seed)); + return new ShardIterator(shardId, shuffler.shuffle(Arrays.asList(shards), seed)); } /** @@ -210,12 +210,12 @@ public ShardIterator activeInitializingShardsRandomIt() { */ public ShardIterator activeInitializingShardsIt(int seed) { if (allInitializingShards.isEmpty()) { - return new PlainShardIterator(shardId, shuffler.shuffle(activeShards, seed)); + return new ShardIterator(shardId, shuffler.shuffle(activeShards, seed)); } ArrayList ordered = new ArrayList<>(activeShards.size() + allInitializingShards.size()); ordered.addAll(shuffler.shuffle(activeShards, seed)); ordered.addAll(allInitializingShards); - return new PlainShardIterator(shardId, ordered); + return new ShardIterator(shardId, ordered); } /** @@ -229,10 +229,7 @@ public ShardIterator activeInitializingShardsRankedIt( ) { final int seed = shuffler.nextSeed(); if (allInitializingShards.isEmpty()) { - return new PlainShardIterator( - shardId, - rankShardsAndUpdateStats(shuffler.shuffle(activeShards, seed), collector, nodeSearchCounts) - ); + return new ShardIterator(shardId, rankShardsAndUpdateStats(shuffler.shuffle(activeShards, seed), collector, nodeSearchCounts)); } ArrayList ordered = new ArrayList<>(activeShards.size() + allInitializingShards.size()); @@ -240,7 +237,7 @@ public ShardIterator activeInitializingShardsRankedIt( ordered.addAll(rankedActiveShards); List rankedInitializingShards = rankShardsAndUpdateStats(allInitializingShards, collector, nodeSearchCounts); ordered.addAll(rankedInitializingShards); - return new PlainShardIterator(shardId, ordered); + return new ShardIterator(shardId, ordered); } private static Set getAllNodeIds(final List shards) { @@ -398,9 +395,9 @@ public int compare(ShardRouting s1, ShardRouting s2) { */ public ShardIterator primaryShardIt() { if (primary != null) { - return new PlainShardIterator(shardId, Collections.singletonList(primary)); + return new ShardIterator(shardId, Collections.singletonList(primary)); } - return new PlainShardIterator(shardId, Collections.emptyList()); + return new ShardIterator(shardId, Collections.emptyList()); } public ShardIterator onlyNodeActiveInitializingShardsIt(String nodeId) { @@ -416,7 +413,7 @@ public ShardIterator onlyNodeActiveInitializingShardsIt(String nodeId) { ordered.add(shardRouting); } } - return new PlainShardIterator(shardId, ordered); + return new ShardIterator(shardId, ordered); } public ShardIterator onlyNodeSelectorActiveInitializingShardsIt(String nodeAttributes, DiscoveryNodes discoveryNodes) { @@ -451,7 +448,7 @@ public ShardIterator onlyNodeSelectorActiveInitializingShardsIt(String[] nodeAtt ); throw new IllegalArgumentException(message); } - return new PlainShardIterator(shardId, ordered); + return new ShardIterator(shardId, ordered); } public ShardIterator preferNodeActiveInitializingShardsIt(Set nodeIds) { @@ -469,7 +466,7 @@ public ShardIterator preferNodeActiveInitializingShardsIt(Set nodeIds) { if (allInitializingShards.isEmpty() == false) { preferred.addAll(allInitializingShards); } - return new PlainShardIterator(shardId, preferred); + return new ShardIterator(shardId, preferred); } @Override diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/OperationRouting.java b/server/src/main/java/org/elasticsearch/cluster/routing/OperationRouting.java index 49da00eae8a5a..fbc7d23360b6a 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/OperationRouting.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/OperationRouting.java @@ -86,7 +86,7 @@ public ShardIterator useOnlyPromotableShardsForStateless(ShardIterator shards) { // If it is stateless, only route promotable shards. This is a temporary workaround until a more cohesive solution can be // implemented for search shards. if (isStateless && shards != null) { - return new PlainShardIterator( + return new ShardIterator( shards.shardId(), shards.getShardRoutings().stream().filter(ShardRouting::isPromotableToPrimary).collect(Collectors.toList()) ); @@ -124,7 +124,7 @@ public GroupShardsIterator searchShards( nodeCounts ); if (iterator != null) { - set.add(PlainShardIterator.allSearchableShards(iterator)); + set.add(ShardIterator.allSearchableShards(iterator)); } } return GroupShardsIterator.sortAndCreate(new ArrayList<>(set)); diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/PlainShardIterator.java b/server/src/main/java/org/elasticsearch/cluster/routing/PlainShardIterator.java deleted file mode 100644 index a429cc040de3c..0000000000000 --- a/server/src/main/java/org/elasticsearch/cluster/routing/PlainShardIterator.java +++ /dev/null @@ -1,73 +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 - * 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side - * Public License v 1"; you may not use this file except in compliance with, at - * your election, the "Elastic License 2.0", the "GNU Affero General Public - * License v3.0 only", or the "Server Side Public License, v 1". - */ - -package org.elasticsearch.cluster.routing; - -import org.elasticsearch.index.shard.ShardId; - -import java.util.ArrayList; -import java.util.List; - -/** - * The {@link PlainShardIterator} is a {@link ShardsIterator} which iterates all - * shards or a given {@link ShardId shard id} - */ -public class PlainShardIterator extends PlainShardsIterator implements ShardIterator { - - private final ShardId shardId; - - public static PlainShardIterator allSearchableShards(ShardIterator shardIterator) { - return new PlainShardIterator(shardIterator.shardId(), shardsThatCanHandleSearches(shardIterator)); - } - - private static List shardsThatCanHandleSearches(ShardIterator iterator) { - final List shardsThatCanHandleSearches = new ArrayList<>(iterator.size()); - for (ShardRouting shardRouting : iterator) { - if (shardRouting.isSearchable()) { - shardsThatCanHandleSearches.add(shardRouting); - } - } - return shardsThatCanHandleSearches; - } - - /** - * Creates a {@link PlainShardIterator} instance that iterates over a subset of the given shards - * this the a given shardId. - * - * @param shardId shard id of the group - * @param shards shards to iterate - */ - public PlainShardIterator(ShardId shardId, List shards) { - super(shards); - this.shardId = shardId; - } - - @Override - public ShardId shardId() { - return this.shardId; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - ShardIterator that = (ShardIterator) o; - return shardId.equals(that.shardId()); - } - - @Override - public int hashCode() { - return shardId.hashCode(); - } - - @Override - public int compareTo(ShardIterator o) { - return shardId.compareTo(o.shardId()); - } -} diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/RoutingTable.java b/server/src/main/java/org/elasticsearch/cluster/routing/RoutingTable.java index 60cf6b10417fa..568a5c3353591 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/RoutingTable.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/RoutingTable.java @@ -227,7 +227,7 @@ private GroupShardsIterator allSatisfyingPredicateShardsGrouped( if (predicate.test(shardRouting)) { set.add(shardRouting.shardsIt()); } else if (includeEmpty) { // we need this for counting properly, just make it an empty one - set.add(new PlainShardIterator(shardRouting.shardId(), Collections.emptyList())); + set.add(new ShardIterator(shardRouting.shardId(), Collections.emptyList())); } } } @@ -299,7 +299,7 @@ public GroupShardsIterator activePrimaryShardsGrouped(String[] in if (primary.active()) { set.add(primary.shardsIt()); } else if (includeEmpty) { // we need this for counting properly, just make it an empty one - set.add(new PlainShardIterator(primary.shardId(), Collections.emptyList())); + set.add(new ShardIterator(primary.shardId(), Collections.emptyList())); } } } diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/ShardIterator.java b/server/src/main/java/org/elasticsearch/cluster/routing/ShardIterator.java index 6093fc2c5b3ea..32105d910380f 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/ShardIterator.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/ShardIterator.java @@ -11,19 +11,61 @@ import org.elasticsearch.index.shard.ShardId; +import java.util.ArrayList; +import java.util.List; + /** - * Allows to iterate over a set of shard instances (routing) within a shard id group. + * The {@link ShardIterator} iterates shard copies for a given {@link ShardId shard id} */ -public interface ShardIterator extends ShardsIterator, Comparable { +public class ShardIterator extends PlainShardsIterator implements Comparable { - /** - * The shard id this group relates to. - */ - ShardId shardId(); + private final ShardId shardId; + + public static ShardIterator allSearchableShards(ShardIterator shardIterator) { + return new ShardIterator(shardIterator.shardId(), shardsThatCanHandleSearches(shardIterator)); + } + + private static List shardsThatCanHandleSearches(ShardIterator iterator) { + final List shardsThatCanHandleSearches = new ArrayList<>(iterator.size()); + for (ShardRouting shardRouting : iterator) { + if (shardRouting.isSearchable()) { + shardsThatCanHandleSearches.add(shardRouting); + } + } + return shardsThatCanHandleSearches; + } /** - * Resets the iterator. + * Creates a {@link ShardIterator} instance that iterates over a subset of the given shards + * this the a given shardId. + * + * @param shardId shard id of the group + * @param shards shards to iterate */ + public ShardIterator(ShardId shardId, List shards) { + super(shards); + this.shardId = shardId; + } + + public ShardId shardId() { + return this.shardId; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ShardIterator that = (ShardIterator) o; + return shardId.equals(that.shardId()); + } + + @Override + public int hashCode() { + return shardId.hashCode(); + } + @Override - void reset(); + public int compareTo(ShardIterator o) { + return shardId.compareTo(o.shardId()); + } } diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/ShardRouting.java b/server/src/main/java/org/elasticsearch/cluster/routing/ShardRouting.java index 157d28e61057c..d588ad2a40660 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/ShardRouting.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/ShardRouting.java @@ -329,7 +329,7 @@ public ShardId shardId() { * A shard iterator with just this shard in it. */ public ShardIterator shardsIt() { - return new PlainShardIterator(shardId, List.of(this)); + return new ShardIterator(shardId, List.of(this)); } public ShardRouting(ShardId shardId, StreamInput in) throws IOException { diff --git a/server/src/test/java/org/elasticsearch/action/admin/indices/diskusage/TransportAnalyzeIndexDiskUsageActionTests.java b/server/src/test/java/org/elasticsearch/action/admin/indices/diskusage/TransportAnalyzeIndexDiskUsageActionTests.java index f06ad47d306ef..fd3332a5f88ab 100644 --- a/server/src/test/java/org/elasticsearch/action/admin/indices/diskusage/TransportAnalyzeIndexDiskUsageActionTests.java +++ b/server/src/test/java/org/elasticsearch/action/admin/indices/diskusage/TransportAnalyzeIndexDiskUsageActionTests.java @@ -19,7 +19,6 @@ import org.elasticsearch.cluster.node.DiscoveryNodeUtils; import org.elasticsearch.cluster.node.DiscoveryNodes; import org.elasticsearch.cluster.routing.GroupShardsIterator; -import org.elasticsearch.cluster.routing.PlainShardIterator; import org.elasticsearch.cluster.routing.ShardIterator; import org.elasticsearch.cluster.routing.ShardRouting; import org.elasticsearch.cluster.routing.ShardRoutingState; @@ -306,7 +305,7 @@ protected GroupShardsIterator shards( ) { final List shardIterators = new ArrayList<>(targetShards.size()); for (Map.Entry> e : targetShards.entrySet()) { - shardIterators.add(new PlainShardIterator(e.getKey(), e.getValue())); + shardIterators.add(new ShardIterator(e.getKey(), e.getValue())); } return new GroupShardsIterator<>(shardIterators); } diff --git a/server/src/test/java/org/elasticsearch/cluster/routing/GroupShardsIteratorTests.java b/server/src/test/java/org/elasticsearch/cluster/routing/GroupShardsIteratorTests.java index 8e111c3676284..b3d8d72ded51e 100644 --- a/server/src/test/java/org/elasticsearch/cluster/routing/GroupShardsIteratorTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/routing/GroupShardsIteratorTests.java @@ -43,21 +43,21 @@ public void testSize() { Index index = new Index("foo", "na"); { ShardId shardId = new ShardId(index, 0); - list.add(new PlainShardIterator(shardId, randomShardRoutings(shardId, 2))); + list.add(new ShardIterator(shardId, randomShardRoutings(shardId, 2))); } - list.add(new PlainShardIterator(new ShardId(index, 1), Collections.emptyList())); + list.add(new ShardIterator(new ShardId(index, 1), Collections.emptyList())); { ShardId shardId = new ShardId(index, 2); - list.add(new PlainShardIterator(shardId, randomShardRoutings(shardId, 0))); + list.add(new ShardIterator(shardId, randomShardRoutings(shardId, 0))); } index = new Index("foo_1", "na"); { ShardId shardId = new ShardId(index, 0); - list.add(new PlainShardIterator(shardId, randomShardRoutings(shardId, 0))); + list.add(new ShardIterator(shardId, randomShardRoutings(shardId, 0))); } { ShardId shardId = new ShardId(index, 1); - list.add(new PlainShardIterator(shardId, randomShardRoutings(shardId, 0))); + list.add(new ShardIterator(shardId, randomShardRoutings(shardId, 0))); } GroupShardsIterator iter = new GroupShardsIterator<>(list); assertEquals(7, iter.totalSizeWith1ForEmpty()); @@ -70,29 +70,29 @@ public void testIterate() { Index index = new Index("foo", "na"); { ShardId shardId = new ShardId(index, 0); - list.add(new PlainShardIterator(shardId, randomShardRoutings(shardId))); + list.add(new ShardIterator(shardId, randomShardRoutings(shardId))); } - list.add(new PlainShardIterator(new ShardId(index, 1), Collections.emptyList())); + list.add(new ShardIterator(new ShardId(index, 1), Collections.emptyList())); { ShardId shardId = new ShardId(index, 2); - list.add(new PlainShardIterator(shardId, randomShardRoutings(shardId))); + list.add(new ShardIterator(shardId, randomShardRoutings(shardId))); } { ShardId shardId = new ShardId(index, 0); - list.add(new PlainShardIterator(shardId, randomShardRoutings(shardId))); + list.add(new ShardIterator(shardId, randomShardRoutings(shardId))); } { ShardId shardId = new ShardId(index, 1); - list.add(new PlainShardIterator(shardId, randomShardRoutings(shardId))); + list.add(new ShardIterator(shardId, randomShardRoutings(shardId))); } index = new Index("foo_2", "na"); { ShardId shardId = new ShardId(index, 0); - list.add(new PlainShardIterator(shardId, randomShardRoutings(shardId))); + list.add(new ShardIterator(shardId, randomShardRoutings(shardId))); } { ShardId shardId = new ShardId(index, 1); - list.add(new PlainShardIterator(shardId, randomShardRoutings(shardId))); + list.add(new ShardIterator(shardId, randomShardRoutings(shardId))); } Collections.shuffle(list, random()); diff --git a/server/src/test/java/org/elasticsearch/cluster/routing/PlainShardIteratorTests.java b/server/src/test/java/org/elasticsearch/cluster/routing/ShardIteratorTests.java similarity index 76% rename from server/src/test/java/org/elasticsearch/cluster/routing/PlainShardIteratorTests.java rename to server/src/test/java/org/elasticsearch/cluster/routing/ShardIteratorTests.java index 0d6cc3fad1e52..e24192c9451ae 100644 --- a/server/src/test/java/org/elasticsearch/cluster/routing/PlainShardIteratorTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/routing/ShardIteratorTests.java @@ -18,12 +18,12 @@ import java.util.Arrays; import java.util.List; -public class PlainShardIteratorTests extends ESTestCase { +public class ShardIteratorTests extends ESTestCase { public void testEqualsAndHashCode() { EqualsHashCodeTestUtils.checkEqualsAndHashCode( randomPlainShardIterator(), - i -> new PlainShardIterator(i.shardId(), i.getShardRoutings()), + i -> new ShardIterator(i.shardId(), i.getShardRoutings()), i -> { ShardId shardId = switch (randomIntBetween(0, 2)) { case 0 -> new ShardId(i.shardId().getIndex(), i.shardId().getId() + randomIntBetween(1, 1000)); @@ -39,7 +39,7 @@ public void testEqualsAndHashCode() { ); default -> throw new UnsupportedOperationException(); }; - return new PlainShardIterator(shardId, i.getShardRoutings()); + return new ShardIterator(shardId, i.getShardRoutings()); } ); } @@ -49,26 +49,26 @@ public void testCompareTo() { Arrays.sort(indices); String[] uuids = generateRandomStringArray(3, 10, false, false); Arrays.sort(uuids); - List shardIterators = new ArrayList<>(); + List shardIterators = new ArrayList<>(); int numShards = randomIntBetween(1, 5); for (int i = 0; i < numShards; i++) { for (String index : indices) { for (String uuid : uuids) { ShardId shardId = new ShardId(index, uuid, i); - shardIterators.add(new PlainShardIterator(shardId, GroupShardsIteratorTests.randomShardRoutings(shardId))); + shardIterators.add(new ShardIterator(shardId, GroupShardsIteratorTests.randomShardRoutings(shardId))); } } } for (int i = 0; i < shardIterators.size(); i++) { - PlainShardIterator currentIterator = shardIterators.get(i); + ShardIterator currentIterator = shardIterators.get(i); for (int j = i + 1; j < shardIterators.size(); j++) { - PlainShardIterator greaterIterator = shardIterators.get(j); + ShardIterator greaterIterator = shardIterators.get(j); assertThat(currentIterator, Matchers.lessThan(greaterIterator)); assertThat(greaterIterator, Matchers.greaterThan(currentIterator)); assertNotEquals(currentIterator, greaterIterator); } for (int j = i - 1; j >= 0; j--) { - PlainShardIterator smallerIterator = shardIterators.get(j); + ShardIterator smallerIterator = shardIterators.get(j); assertThat(smallerIterator, Matchers.lessThan(currentIterator)); assertThat(currentIterator, Matchers.greaterThan(smallerIterator)); assertNotEquals(currentIterator, smallerIterator); @@ -77,15 +77,15 @@ public void testCompareTo() { } public void testCompareToEqualItems() { - PlainShardIterator shardIterator1 = randomPlainShardIterator(); - PlainShardIterator shardIterator2 = new PlainShardIterator(shardIterator1.shardId(), shardIterator1.getShardRoutings()); + ShardIterator shardIterator1 = randomPlainShardIterator(); + ShardIterator shardIterator2 = new ShardIterator(shardIterator1.shardId(), shardIterator1.getShardRoutings()); assertEquals(shardIterator1, shardIterator2); assertEquals(0, shardIterator1.compareTo(shardIterator2)); assertEquals(0, shardIterator2.compareTo(shardIterator1)); } - private static PlainShardIterator randomPlainShardIterator() { + private static ShardIterator randomPlainShardIterator() { ShardId shardId = new ShardId(randomAlphaOfLengthBetween(5, 10), randomAlphaOfLength(10), randomIntBetween(1, Integer.MAX_VALUE)); - return new PlainShardIterator(shardId, GroupShardsIteratorTests.randomShardRoutings(shardId)); + return new ShardIterator(shardId, GroupShardsIteratorTests.randomShardRoutings(shardId)); } } diff --git a/server/src/test/java/org/elasticsearch/cluster/structure/RoutingIteratorTests.java b/server/src/test/java/org/elasticsearch/cluster/structure/RoutingIteratorTests.java index 2d9055f718083..2a2595126c8ef 100644 --- a/server/src/test/java/org/elasticsearch/cluster/structure/RoutingIteratorTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/structure/RoutingIteratorTests.java @@ -19,7 +19,6 @@ import org.elasticsearch.cluster.node.DiscoveryNodes; import org.elasticsearch.cluster.routing.GroupShardsIterator; import org.elasticsearch.cluster.routing.OperationRouting; -import org.elasticsearch.cluster.routing.PlainShardIterator; import org.elasticsearch.cluster.routing.RotationShardShuffler; import org.elasticsearch.cluster.routing.RoutingTable; import org.elasticsearch.cluster.routing.ShardIterator; @@ -51,7 +50,7 @@ public class RoutingIteratorTests extends ESAllocationTestCase { public void testEmptyIterator() { ShardShuffler shuffler = new RotationShardShuffler(0); - ShardIterator shardIterator = new PlainShardIterator( + ShardIterator shardIterator = new ShardIterator( new ShardId("test1", "_na_", 0), shuffler.shuffle(Collections.emptyList()) ); @@ -61,21 +60,21 @@ public void testEmptyIterator() { assertThat(shardIterator.nextOrNull(), nullValue()); assertThat(shardIterator.remaining(), equalTo(0)); - shardIterator = new PlainShardIterator(new ShardId("test1", "_na_", 0), shuffler.shuffle(Collections.emptyList())); + shardIterator = new ShardIterator(new ShardId("test1", "_na_", 0), shuffler.shuffle(Collections.emptyList())); assertThat(shardIterator.remaining(), equalTo(0)); assertThat(shardIterator.nextOrNull(), nullValue()); assertThat(shardIterator.remaining(), equalTo(0)); assertThat(shardIterator.nextOrNull(), nullValue()); assertThat(shardIterator.remaining(), equalTo(0)); - shardIterator = new PlainShardIterator(new ShardId("test1", "_na_", 0), shuffler.shuffle(Collections.emptyList())); + shardIterator = new ShardIterator(new ShardId("test1", "_na_", 0), shuffler.shuffle(Collections.emptyList())); assertThat(shardIterator.remaining(), equalTo(0)); assertThat(shardIterator.nextOrNull(), nullValue()); assertThat(shardIterator.remaining(), equalTo(0)); assertThat(shardIterator.nextOrNull(), nullValue()); assertThat(shardIterator.remaining(), equalTo(0)); - shardIterator = new PlainShardIterator(new ShardId("test1", "_na_", 0), shuffler.shuffle(Collections.emptyList())); + shardIterator = new ShardIterator(new ShardId("test1", "_na_", 0), shuffler.shuffle(Collections.emptyList())); assertThat(shardIterator.remaining(), equalTo(0)); assertThat(shardIterator.nextOrNull(), nullValue()); assertThat(shardIterator.remaining(), equalTo(0));