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..9cd635e9e2b03 100644 --- a/server/src/main/java/org/elasticsearch/action/search/SearchShardIterator.java +++ b/server/src/main/java/org/elasticsearch/action/search/SearchShardIterator.java @@ -10,8 +10,8 @@ package org.elasticsearch.action.search; import org.elasticsearch.action.OriginalIndices; -import org.elasticsearch.cluster.routing.PlainShardIterator; import org.elasticsearch.cluster.routing.ShardRouting; +import org.elasticsearch.cluster.routing.ShardsIterator; import org.elasticsearch.common.util.Countable; import org.elasticsearch.common.util.PlainIterator; import org.elasticsearch.core.Nullable; @@ -24,7 +24,7 @@ import java.util.Objects; /** - * Extension of {@link PlainShardIterator} used in the search api, which also holds the {@link OriginalIndices} + * Iterator for shards 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 SearchShardIterator} 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 SearchShardIterator} 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 @@ -103,6 +103,9 @@ public String getClusterAlias() { return clusterAlias; } + /** + * Returns the next shard, or {@code null} if none available. + */ SearchShardTarget nextOrNull() { final String nodeId = targetNodesIterator.nextOrNull(); if (nodeId != null) { @@ -111,6 +114,11 @@ SearchShardTarget nextOrNull() { return null; } + /** + * Return the number of shards remaining in this {@link ShardsIterator} + * + * @return number of shard remaining + */ int remaining() { return targetNodesIterator.remaining(); } @@ -130,6 +138,9 @@ List getTargetNodeIds() { return targetNodesIterator.asList(); } + /** + * Resets the iterator to its initial state. + */ void reset() { targetNodesIterator.reset(); } @@ -155,11 +166,19 @@ boolean prefiltered() { return prefiltered; } + /** + * The number of shard routing instances. + * + * @return number of shard routing instances in this iterator + */ @Override public int size() { return targetNodesIterator.size(); } + /** + * The shard id this group relates to. + */ ShardId shardId() { return shardId; } 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 14a512a206775..8e0c73184f9e2 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/IndexShardRoutingTable.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/IndexShardRoutingTable.java @@ -207,11 +207,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)); } /** @@ -228,12 +228,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); } /** @@ -247,10 +247,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()); @@ -258,7 +255,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) { @@ -416,9 +413,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) { @@ -434,7 +431,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) { @@ -469,7 +466,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) { @@ -487,7 +484,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 1c0dafb799eab..15eba6fb3dfea 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/OperationRouting.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/OperationRouting.java @@ -88,7 +88,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()) ); @@ -126,10 +126,10 @@ public List searchShards( nodeCounts ); if (iterator != null) { - set.add(PlainShardIterator.allSearchableShards(iterator)); + set.add(ShardIterator.allSearchableShards(iterator)); } } - var res = new ArrayList<>(set); + List res = new ArrayList<>(set); CollectionUtil.timSort(res); return res; } 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 1f3aadedcb533..0067d4b577b4e 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/RoutingTable.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/RoutingTable.java @@ -228,7 +228,7 @@ private List 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())); } } } @@ -301,7 +301,7 @@ public List activePrimaryShardsGrouped(String[] indices, boolean 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..7056d5c953cdc 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,65 @@ 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} is a {@link ShardsIterator} which iterates all + * shards of a given {@link ShardId shard id} */ -public interface ShardIterator extends ShardsIterator, Comparable { +public final class ShardIterator extends PlainShardsIterator implements Comparable { + + 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; + } /** - * The shard id this group relates to. + * Creates a {@link ShardIterator} instance that iterates all shards + * of a given shardId. + * + * @param shardId shard id of the group + * @param shards shards to iterate */ - ShardId shardId(); + public ShardIterator(ShardId shardId, List shards) { + super(shards); + this.shardId = shardId; + } /** - * Resets the iterator. + * The shard id this group relates to. */ + 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 7e947da0210ea..2ce349e2d3b61 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/ShardRouting.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/ShardRouting.java @@ -328,7 +328,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 420c56947c11c..564bcee973ae5 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 @@ -18,7 +18,6 @@ import org.elasticsearch.cluster.node.DiscoveryNode; import org.elasticsearch.cluster.node.DiscoveryNodeUtils; import org.elasticsearch.cluster.node.DiscoveryNodes; -import org.elasticsearch.cluster.routing.PlainShardIterator; import org.elasticsearch.cluster.routing.ShardIterator; import org.elasticsearch.cluster.routing.ShardRouting; import org.elasticsearch.cluster.routing.ShardRoutingState; @@ -305,7 +304,7 @@ protected List 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 shardIterators; } diff --git a/server/src/test/java/org/elasticsearch/action/get/TransportMultiGetActionTests.java b/server/src/test/java/org/elasticsearch/action/get/TransportMultiGetActionTests.java index dad392970b6a1..96b06bed27ce8 100644 --- a/server/src/test/java/org/elasticsearch/action/get/TransportMultiGetActionTests.java +++ b/server/src/test/java/org/elasticsearch/action/get/TransportMultiGetActionTests.java @@ -46,6 +46,7 @@ import org.junit.AfterClass; import org.junit.BeforeClass; +import java.util.Collections; import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; @@ -67,7 +68,6 @@ public class TransportMultiGetActionTests extends ESTestCase { private static TransportService transportService; private static ClusterService clusterService; private static TransportMultiGetAction transportAction; - private static TransportShardMultiGetAction shardAction; @BeforeClass public static void beforeClass() throws Exception { @@ -135,11 +135,9 @@ public static void beforeClass() throws Exception { ) .build(); - final ShardIterator index1ShardIterator = mock(ShardIterator.class); - when(index1ShardIterator.shardId()).thenReturn(new ShardId(index1, randomInt())); + final ShardIterator index1ShardIterator = new ShardIterator(new ShardId(index1, randomInt()), Collections.emptyList()); - final ShardIterator index2ShardIterator = mock(ShardIterator.class); - when(index2ShardIterator.shardId()).thenReturn(new ShardId(index2, randomInt())); + final ShardIterator index2ShardIterator = new ShardIterator(new ShardId(index2, randomInt()), Collections.emptyList()); final OperationRouting operationRouting = mock(OperationRouting.class); when( @@ -153,21 +151,6 @@ public static void beforeClass() throws Exception { when(clusterService.localNode()).thenReturn(transportService.getLocalNode()); when(clusterService.state()).thenReturn(clusterState); when(clusterService.operationRouting()).thenReturn(operationRouting); - final NodeClient client = new NodeClient(Settings.EMPTY, threadPool); - - shardAction = new TransportShardMultiGetAction( - clusterService, - transportService, - mock(IndicesService.class), - threadPool, - new ActionFilters(emptySet()), - new Resolver(), - EmptySystemIndices.INSTANCE.getExecutorSelector(), - client - ) { - @Override - protected void doExecute(Task task, MultiGetShardRequest request, ActionListener listener) {} - }; } @AfterClass @@ -177,7 +160,6 @@ public static void afterClass() { transportService = null; clusterService = null; transportAction = null; - shardAction = null; } public void testTransportMultiGetAction() { @@ -270,5 +252,4 @@ public Index concreteSingleIndex(ClusterState state, IndicesRequest request) { return new Index("index1", randomBase64UUID()); } } - } diff --git a/server/src/test/java/org/elasticsearch/action/termvectors/TransportMultiTermVectorsActionTests.java b/server/src/test/java/org/elasticsearch/action/termvectors/TransportMultiTermVectorsActionTests.java index 4655d2e47bac5..d5be6727927db 100644 --- a/server/src/test/java/org/elasticsearch/action/termvectors/TransportMultiTermVectorsActionTests.java +++ b/server/src/test/java/org/elasticsearch/action/termvectors/TransportMultiTermVectorsActionTests.java @@ -34,7 +34,6 @@ import org.elasticsearch.index.IndexVersion; import org.elasticsearch.index.shard.ShardId; import org.elasticsearch.indices.EmptySystemIndices; -import org.elasticsearch.indices.IndicesService; import org.elasticsearch.tasks.Task; import org.elasticsearch.tasks.TaskId; import org.elasticsearch.test.ESTestCase; @@ -47,6 +46,7 @@ import org.junit.AfterClass; import org.junit.BeforeClass; +import java.util.Collections; import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; @@ -68,7 +68,6 @@ public class TransportMultiTermVectorsActionTests extends ESTestCase { private static TransportService transportService; private static ClusterService clusterService; private static TransportMultiTermVectorsAction transportAction; - private static TransportShardMultiTermsVectorAction shardAction; @BeforeClass public static void beforeClass() throws Exception { @@ -136,12 +135,8 @@ public static void beforeClass() throws Exception { ) .build(); - final ShardIterator index1ShardIterator = mock(ShardIterator.class); - when(index1ShardIterator.shardId()).thenReturn(new ShardId(index1, randomInt())); - - final ShardIterator index2ShardIterator = mock(ShardIterator.class); - when(index2ShardIterator.shardId()).thenReturn(new ShardId(index2, randomInt())); - + final ShardIterator index1ShardIterator = new ShardIterator(new ShardId(index1, randomInt()), Collections.emptyList()); + final ShardIterator index2ShardIterator = new ShardIterator(new ShardId(index2, randomInt()), Collections.emptyList()); final OperationRouting operationRouting = mock(OperationRouting.class); when( operationRouting.getShards(eq(clusterState), eq(index1.getName()), anyString(), nullable(String.class), nullable(String.class)) @@ -154,22 +149,6 @@ public static void beforeClass() throws Exception { when(clusterService.localNode()).thenReturn(transportService.getLocalNode()); when(clusterService.state()).thenReturn(clusterState); when(clusterService.operationRouting()).thenReturn(operationRouting); - - shardAction = new TransportShardMultiTermsVectorAction( - clusterService, - transportService, - mock(IndicesService.class), - threadPool, - new ActionFilters(emptySet()), - new Resolver() - ) { - @Override - protected void doExecute( - Task task, - MultiTermVectorsShardRequest request, - ActionListener listener - ) {} - }; } @AfterClass @@ -179,7 +158,6 @@ public static void afterClass() { transportService = null; clusterService = null; transportAction = null; - shardAction = null; } public void testTransportMultiGetAction() { 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 77% 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 a7d3ed95320cc..8666abf1292c8 100644 --- a/server/src/test/java/org/elasticsearch/cluster/routing/PlainShardIteratorTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/routing/ShardIteratorTests.java @@ -19,12 +19,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)); @@ -40,7 +40,7 @@ public void testEqualsAndHashCode() { ); default -> throw new UnsupportedOperationException(); }; - return new PlainShardIterator(shardId, i.getShardRoutings()); + return new ShardIterator(shardId, i.getShardRoutings()); } ); } @@ -50,26 +50,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, SearchShardIteratorTests.randomShardRoutings(shardId))); + shardIterators.add(new ShardIterator(shardId, SearchShardIteratorTests.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); @@ -78,15 +78,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, SearchShardIteratorTests.randomShardRoutings(shardId)); + return new ShardIterator(shardId, SearchShardIteratorTests.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 7997cb1cef457..75f9a89764392 100644 --- a/server/src/test/java/org/elasticsearch/cluster/structure/RoutingIteratorTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/structure/RoutingIteratorTests.java @@ -18,7 +18,6 @@ import org.elasticsearch.cluster.metadata.Metadata; import org.elasticsearch.cluster.node.DiscoveryNodes; 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; @@ -50,7 +49,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()) ); @@ -60,21 +59,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));