Skip to content

Commit 981775f

Browse files
authored
Remove the getConcreteIndexAndAliasMetadatas() method from IndexAbstraction.Alias class (#66165)
This change is part of series of changes to clean up the usage `IndexAbstraction.Alias` in the codebase, so that it is no longer needed to cast to `IndexAbstraction.Alias` and just use the methods on the `IndexAbstraction` interface. This should help adding data stream aliases, so that `IndexAbstraction` instances of type `ALIAS` can also be data stream aliases. Relates to #66163
1 parent eddab39 commit 981775f

File tree

2 files changed

+3
-32
lines changed

2 files changed

+3
-32
lines changed

server/src/main/java/org/elasticsearch/cluster/metadata/IndexAbstraction.java

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@
2020

2121
import org.elasticsearch.common.Nullable;
2222
import org.elasticsearch.common.Strings;
23-
import org.elasticsearch.common.collect.Tuple;
2423

25-
import java.util.Iterator;
2624
import java.util.List;
2725
import java.util.Map;
2826
import java.util.Objects;
@@ -221,7 +219,6 @@ public List<IndexMetadata> getIndices() {
221219
return referenceIndexMetadatas;
222220
}
223221

224-
225222
@Nullable
226223
public IndexMetadata getWriteIndex() {
227224
return writeIndex;
@@ -243,30 +240,6 @@ public boolean isSystem() {
243240
return referenceIndexMetadatas.stream().allMatch(IndexMetadata::isSystem);
244241
}
245242

246-
/**
247-
* Returns the unique alias metadata per concrete index.
248-
* <p>
249-
* (note that although alias can point to the same concrete indices, each alias reference may have its own routing
250-
* and filters)
251-
*/
252-
public Iterable<Tuple<String, AliasMetadata>> getConcreteIndexAndAliasMetadatas() {
253-
return () -> new Iterator<>() {
254-
255-
int index = 0;
256-
257-
@Override
258-
public boolean hasNext() {
259-
return index < referenceIndexMetadatas.size();
260-
}
261-
262-
@Override
263-
public Tuple<String, AliasMetadata> next() {
264-
IndexMetadata indexMetadata = referenceIndexMetadatas.get(index++);
265-
return new Tuple<>(indexMetadata.getIndex().getName(), indexMetadata.getAliases().get(aliasName));
266-
}
267-
};
268-
}
269-
270243
public AliasMetadata getFirstAliasMetadata() {
271244
return referenceIndexMetadatas.get(0).getAliases().get(aliasName);
272245
}

server/src/main/java/org/elasticsearch/cluster/metadata/IndexNameExpressionResolver.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.elasticsearch.common.Nullable;
2929
import org.elasticsearch.common.Strings;
3030
import org.elasticsearch.common.collect.ImmutableOpenMap;
31-
import org.elasticsearch.common.collect.Tuple;
3231
import org.elasticsearch.common.logging.DeprecationLogger;
3332
import org.elasticsearch.common.regex.Regex;
3433
import org.elasticsearch.common.time.DateFormatter;
@@ -563,10 +562,9 @@ public Map<String, Set<String>> resolveSearchRouting(ClusterState state, @Nullab
563562
for (String expression : resolvedExpressions) {
564563
IndexAbstraction indexAbstraction = state.metadata().getIndicesLookup().get(expression);
565564
if (indexAbstraction != null && indexAbstraction.getType() == IndexAbstraction.Type.ALIAS) {
566-
IndexAbstraction.Alias alias = (IndexAbstraction.Alias) indexAbstraction;
567-
for (Tuple<String, AliasMetadata> item : alias.getConcreteIndexAndAliasMetadatas()) {
568-
String concreteIndex = item.v1();
569-
AliasMetadata aliasMetadata = item.v2();
565+
for (IndexMetadata index : indexAbstraction.getIndices()) {
566+
String concreteIndex = index.getIndex().getName();
567+
AliasMetadata aliasMetadata = index.getAliases().get(indexAbstraction.getName());
570568
if (!norouting.contains(concreteIndex)) {
571569
if (!aliasMetadata.searchRoutingValues().isEmpty()) {
572570
// Routing alias

0 commit comments

Comments
 (0)