diff --git a/server/src/main/java/org/opensearch/snapshots/RestoreService.java b/server/src/main/java/org/opensearch/snapshots/RestoreService.java index d7e89172c5837..b7f7de5498371 100644 --- a/server/src/main/java/org/opensearch/snapshots/RestoreService.java +++ b/server/src/main/java/org/opensearch/snapshots/RestoreService.java @@ -227,7 +227,12 @@ public ClusterState execute(ClusterState currentState) { List indicesToBeRestored = new ArrayList<>(); int totalShards = 0; - for (String index : request.indices()) { + List filteredIndices = filterIndices( + List.of(currentState.metadata().getConcreteAllIndices()), + request.indices(), + IndicesOptions.fromOptions(true, true, true, true) + ); + for (String index : filteredIndices) { IndexMetadata currentIndexMetadata = currentState.metadata().index(index); if (currentIndexMetadata == null) { // ToDo: Handle index metadata does not exist case. (GitHub #3457)