Skip to content

Commit 1c47ad7

Browse files
TransportIndicesResolvingAction implemented by a few actions
1 parent 70a79f7 commit 1c47ad7

File tree

2 files changed

+32
-3
lines changed

2 files changed

+32
-3
lines changed

server/src/main/java/org/opensearch/action/admin/indices/datastream/DeleteDataStreamAction.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.opensearch.action.IndicesRequest;
3939
import org.opensearch.action.support.ActionFilters;
4040
import org.opensearch.action.support.IndicesOptions;
41+
import org.opensearch.action.support.TransportIndicesResolvingAction;
4142
import org.opensearch.action.support.clustermanager.AcknowledgedResponse;
4243
import org.opensearch.action.support.clustermanager.ClusterManagerNodeRequest;
4344
import org.opensearch.action.support.clustermanager.TransportClusterManagerNodeAction;
@@ -49,6 +50,7 @@
4950
import org.opensearch.cluster.metadata.IndexNameExpressionResolver;
5051
import org.opensearch.cluster.metadata.Metadata;
5152
import org.opensearch.cluster.metadata.MetadataDeleteIndexService;
53+
import org.opensearch.cluster.metadata.ResolvedIndices;
5254
import org.opensearch.cluster.service.ClusterManagerTaskThrottler;
5355
import org.opensearch.cluster.service.ClusterService;
5456
import org.opensearch.common.Priority;
@@ -169,7 +171,7 @@ public IndicesRequest indices(String... indices) {
169171
*
170172
* @opensearch.internal
171173
*/
172-
public static class TransportAction extends TransportClusterManagerNodeAction<Request, AcknowledgedResponse> {
174+
public static class TransportAction extends TransportClusterManagerNodeAction<Request, AcknowledgedResponse> implements TransportIndicesResolvingAction<Request>{
173175

174176
private final MetadataDeleteIndexService deleteIndexService;
175177
private final ClusterManagerTaskThrottler.ThrottlingKey removeDataStreamTaskKey;
@@ -279,6 +281,21 @@ static ClusterState removeDataStream(MetadataDeleteIndexService deleteIndexServi
279281
protected ClusterBlockException checkBlock(Request request, ClusterState state) {
280282
return state.blocks().globalBlockedException(ClusterBlockLevel.METADATA_WRITE);
281283
}
284+
285+
@Override
286+
public ResolvedIndices resolveIndices(Request request) {
287+
ClusterState currentState = clusterService.state();
288+
Set<String> dataStreams = new HashSet<>();
289+
for (String name : request.names) {
290+
for (String dataStreamName : currentState.metadata().dataStreams().keySet()) {
291+
if (Regex.simpleMatch(name, dataStreamName)) {
292+
dataStreams.add(dataStreamName);
293+
}
294+
}
295+
296+
}
297+
return ResolvedIndices.of(dataStreams);
298+
}
282299
}
283300

284301
}

server/src/main/java/org/opensearch/action/admin/indices/tiering/TransportHotToWarmTieringAction.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@
1111
import org.apache.logging.log4j.LogManager;
1212
import org.apache.logging.log4j.Logger;
1313
import org.opensearch.action.support.ActionFilters;
14+
import org.opensearch.action.support.TransportIndicesResolvingAction;
1415
import org.opensearch.action.support.clustermanager.TransportClusterManagerNodeAction;
1516
import org.opensearch.cluster.ClusterInfoService;
1617
import org.opensearch.cluster.ClusterState;
1718
import org.opensearch.cluster.block.ClusterBlockException;
1819
import org.opensearch.cluster.block.ClusterBlockLevel;
1920
import org.opensearch.cluster.metadata.IndexNameExpressionResolver;
21+
import org.opensearch.cluster.metadata.ResolvedIndices;
2022
import org.opensearch.cluster.routing.allocation.DiskThresholdSettings;
2123
import org.opensearch.cluster.service.ClusterService;
2224
import org.opensearch.common.annotation.ExperimentalApi;
@@ -39,7 +41,8 @@
3941
* @opensearch.experimental
4042
*/
4143
@ExperimentalApi
42-
public class TransportHotToWarmTieringAction extends TransportClusterManagerNodeAction<TieringIndexRequest, HotToWarmTieringResponse> {
44+
public class TransportHotToWarmTieringAction extends TransportClusterManagerNodeAction<TieringIndexRequest, HotToWarmTieringResponse> implements
45+
TransportIndicesResolvingAction<TieringIndexRequest> {
4346

4447
private static final Logger logger = LogManager.getLogger(TransportHotToWarmTieringAction.class);
4548
private final ClusterInfoService clusterInfoService;
@@ -90,7 +93,7 @@ protected void clusterManagerOperation(
9093
ClusterState state,
9194
ActionListener<HotToWarmTieringResponse> listener
9295
) throws Exception {
93-
Index[] concreteIndices = indexNameExpressionResolver.concreteIndices(state, request);
96+
Index[] concreteIndices = resolveIndices(state, request);
9497
if (concreteIndices == null || concreteIndices.length == 0) {
9598
listener.onResponse(new HotToWarmTieringResponse(true));
9699
return;
@@ -107,4 +110,13 @@ protected void clusterManagerOperation(
107110
return;
108111
}
109112
}
113+
114+
private Index[] resolveIndices(ClusterState state, TieringIndexRequest request) {
115+
return indexNameExpressionResolver.concreteIndices(state, request);
116+
}
117+
118+
@Override
119+
public ResolvedIndices resolveIndices(TieringIndexRequest request) {
120+
return ResolvedIndices.of(resolveIndices(clusterService.state(), request));
121+
}
110122
}

0 commit comments

Comments
 (0)