diff --git a/docs/changelog/83760.yaml b/docs/changelog/83760.yaml index 05e7775d4401d..f4249f9c04771 100644 --- a/docs/changelog/83760.yaml +++ b/docs/changelog/83760.yaml @@ -1,5 +1,5 @@ pr: 83760 -summary: Batch open-indices +summary: Batch open-indices cluster state updates area: Indices APIs type: enhancement issues: [] diff --git a/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexStateService.java b/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexStateService.java index 408fadd3bf04b..ddd449f9d265d 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexStateService.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexStateService.java @@ -1078,7 +1078,17 @@ public ClusterTasksResult execute(ClusterState currentState, Li state = allocationService.reroute(state, "indices opened"); for (OpenIndicesTask task : tasks) { - builder.success(task, new LegacyClusterTaskResultActionListener(task, currentState)); + builder.success(task, new ActionListener<>() { + @Override + public void onResponse(ClusterState clusterState) { + // listener is notified at the end of acking + } + + @Override + public void onFailure(Exception e) { + task.onFailure(e); + } + }); } } catch (Exception e) { for (OpenIndicesTask task : tasks) { @@ -1191,5 +1201,10 @@ public void onAckTimeout() { public TimeValue ackTimeout() { return request.ackTimeout(); } + + @Override + public void clusterStateProcessed(ClusterState oldState, ClusterState newState) { + assert false : "not called"; + } } }