From 4f5ce771026e05bbbac8016a141984740e665998 Mon Sep 17 00:00:00 2001 From: Joe Gallo Date: Thu, 10 Feb 2022 14:56:12 -0500 Subject: [PATCH 1/4] Fix the changelog for my previous PR --- docs/changelog/83760.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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: [] From eaa6f87e74ee1d19cfd9bdd6a5fb332978c2e3c7 Mon Sep 17 00:00:00 2001 From: Joe Gallo Date: Thu, 10 Feb 2022 14:56:40 -0500 Subject: [PATCH 2/4] Simplest possible ActionListener --- .../cluster/metadata/MetadataIndexStateService.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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..613149f053e87 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) { + // no-op + } + + @Override + public void onFailure(Exception e) { + task.onFailure(e); + } + }); } } catch (Exception e) { for (OpenIndicesTask task : tasks) { From 9340e09fdc735b904e684a079eef35b4d87ddb5c Mon Sep 17 00:00:00 2001 From: Joe Gallo Date: Thu, 10 Feb 2022 14:59:33 -0500 Subject: [PATCH 3/4] A bit more ceremony --- .../cluster/metadata/MetadataIndexStateService.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 613149f053e87..9c91ef6327b60 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexStateService.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexStateService.java @@ -1081,7 +1081,7 @@ public ClusterTasksResult execute(ClusterState currentState, Li builder.success(task, new ActionListener<>() { @Override public void onResponse(ClusterState clusterState) { - // no-op + task.onPublicationComplete(); } @Override @@ -1201,5 +1201,12 @@ public void onAckTimeout() { public TimeValue ackTimeout() { return request.ackTimeout(); } + + @Override + public void clusterStateProcessed(ClusterState oldState, ClusterState newState) { + assert false : "not called"; + } + + protected void onPublicationComplete() {} } } From b157653c117f2c32ecc232f9bbc5b4e0c2624adf Mon Sep 17 00:00:00 2001 From: Joe Gallo Date: Thu, 10 Feb 2022 15:36:02 -0500 Subject: [PATCH 4/4] Simpler is fine, with a better comment --- .../cluster/metadata/MetadataIndexStateService.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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 9c91ef6327b60..ddd449f9d265d 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexStateService.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexStateService.java @@ -1081,7 +1081,7 @@ public ClusterTasksResult execute(ClusterState currentState, Li builder.success(task, new ActionListener<>() { @Override public void onResponse(ClusterState clusterState) { - task.onPublicationComplete(); + // listener is notified at the end of acking } @Override @@ -1206,7 +1206,5 @@ public TimeValue ackTimeout() { public void clusterStateProcessed(ClusterState oldState, ClusterState newState) { assert false : "not called"; } - - protected void onPublicationComplete() {} } }