Skip to content

Commit c995a82

Browse files
committed
Make use of new TransportLocalClusterStateAction changes
1 parent 91faa7f commit c995a82

File tree

6 files changed

+32
-15
lines changed

6 files changed

+32
-15
lines changed

server/src/internalClusterTest/java/org/elasticsearch/reservedstate/service/ComponentTemplatesFileSettingsIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ private void assertComponentAndIndexTemplateDelete(CountDownLatch savedClusterSt
463463

464464
final var componentResponse = client().execute(
465465
GetComponentTemplateAction.INSTANCE,
466-
new GetComponentTemplateAction.Request("other*")
466+
new GetComponentTemplateAction.Request(TEST_REQUEST_TIMEOUT, "other*")
467467
).get();
468468

469469
assertTrue(componentResponse.getComponentTemplates().isEmpty());

server/src/main/java/org/elasticsearch/action/admin/indices/template/get/GetComponentTemplateAction.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,17 @@
99

1010
package org.elasticsearch.action.admin.indices.template.get;
1111

12-
import org.elasticsearch.action.ActionRequest;
1312
import org.elasticsearch.action.ActionRequestValidationException;
1413
import org.elasticsearch.action.ActionResponse;
1514
import org.elasticsearch.action.ActionType;
1615
import org.elasticsearch.action.admin.indices.rollover.RolloverConfiguration;
1716
import org.elasticsearch.action.support.TransportAction;
17+
import org.elasticsearch.action.support.local.LocalClusterStateRequest;
1818
import org.elasticsearch.cluster.metadata.ComponentTemplate;
1919
import org.elasticsearch.cluster.metadata.DataStreamGlobalRetention;
2020
import org.elasticsearch.common.io.stream.StreamOutput;
2121
import org.elasticsearch.core.Nullable;
22+
import org.elasticsearch.core.TimeValue;
2223
import org.elasticsearch.tasks.CancellableTask;
2324
import org.elasticsearch.tasks.Task;
2425
import org.elasticsearch.tasks.TaskId;
@@ -45,22 +46,18 @@ private GetComponentTemplateAction() {
4546
/**
4647
* Request that to retrieve one or more component templates
4748
*/
48-
public static class Request extends ActionRequest {
49+
public static class Request extends LocalClusterStateRequest {
4950

5051
@Nullable
5152
private String name;
5253
private boolean includeDefaults;
5354

54-
public Request(String name) {
55+
public Request(TimeValue masterTimeout, String name) {
56+
super(masterTimeout);
5557
this.name = name;
5658
this.includeDefaults = false;
5759
}
5860

59-
@Override
60-
public void writeTo(StreamOutput out) throws IOException {
61-
TransportAction.localOnly();
62-
}
63-
6461
@Override
6562
public ActionRequestValidationException validate() {
6663
return null;

server/src/main/java/org/elasticsearch/action/admin/indices/template/get/TransportGetComponentTemplateAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import org.elasticsearch.ResourceNotFoundException;
1313
import org.elasticsearch.action.ActionListener;
1414
import org.elasticsearch.action.support.ActionFilters;
15-
import org.elasticsearch.action.support.TransportLocalClusterStateAction;
15+
import org.elasticsearch.action.support.local.TransportLocalClusterStateAction;
1616
import org.elasticsearch.cluster.ClusterState;
1717
import org.elasticsearch.cluster.block.ClusterBlockException;
1818
import org.elasticsearch.cluster.block.ClusterBlockLevel;

server/src/main/java/org/elasticsearch/action/support/local/TransportLocalClusterStateAction.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,16 @@
2121
import org.elasticsearch.cluster.ClusterStateObserver;
2222
import org.elasticsearch.cluster.block.ClusterBlockException;
2323
import org.elasticsearch.cluster.service.ClusterService;
24+
import org.elasticsearch.common.logging.DeprecationCategory;
25+
import org.elasticsearch.common.logging.DeprecationLogger;
2426
import org.elasticsearch.common.util.concurrent.EsExecutors;
2527
import org.elasticsearch.core.TimeValue;
28+
import org.elasticsearch.core.UpdateForV10;
2629
import org.elasticsearch.node.NodeClosedException;
2730
import org.elasticsearch.tasks.CancellableTask;
2831
import org.elasticsearch.tasks.Task;
2932
import org.elasticsearch.tasks.TaskManager;
33+
import org.elasticsearch.xcontent.ToXContent;
3034

3135
import java.util.concurrent.Executor;
3236

@@ -125,4 +129,18 @@ public void onTimeout(TimeValue timeout) {
125129
private boolean isTaskCancelled(Task task) {
126130
return task instanceof CancellableTask cancellableTask && cancellableTask.isCancelled();
127131
}
132+
133+
// Remove the BWC support for the deprecated ?local parameter.
134+
// NOTE: ensure each usage of this method has been deprecated for long enough to remove it.
135+
@UpdateForV10(owner = UpdateForV10.Owner.DISTRIBUTED_COORDINATION)
136+
public static void consumeDeprecatedLocalParameter(ToXContent.Params params) {
137+
if (params.paramAsBoolean("local", false)) {
138+
DeprecationLogger.getLogger(TransportLocalClusterStateAction.class)
139+
.critical(
140+
DeprecationCategory.API,
141+
"TransportLocalClusterStateAction-local-parameter",
142+
"the [?local] query parameter to this API has no effect, is now deprecated, and will be removed in a future version"
143+
);
144+
}
145+
}
128146
}

server/src/main/java/org/elasticsearch/rest/action/admin/indices/RestGetComponentTemplateAction.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
package org.elasticsearch.rest.action.admin.indices;
1111

1212
import org.elasticsearch.action.admin.indices.template.get.GetComponentTemplateAction;
13-
import org.elasticsearch.action.support.TransportLocalClusterStateAction;
13+
import org.elasticsearch.action.support.local.TransportLocalClusterStateAction;
1414
import org.elasticsearch.client.internal.node.NodeClient;
1515
import org.elasticsearch.common.settings.Settings;
1616
import org.elasticsearch.rest.BaseRestHandler;
@@ -28,6 +28,7 @@
2828
import static org.elasticsearch.rest.RestRequest.Method.HEAD;
2929
import static org.elasticsearch.rest.RestStatus.NOT_FOUND;
3030
import static org.elasticsearch.rest.RestStatus.OK;
31+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
3132

3233
@ServerlessScope(Scope.PUBLIC)
3334
public class RestGetComponentTemplateAction extends BaseRestHandler {
@@ -48,11 +49,12 @@ public String getName() {
4849

4950
@Override
5051
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
51-
52-
final GetComponentTemplateAction.Request getRequest = new GetComponentTemplateAction.Request(request.param("name"));
52+
final GetComponentTemplateAction.Request getRequest = new GetComponentTemplateAction.Request(
53+
getMasterNodeTimeout(request),
54+
request.param("name")
55+
);
5356
getRequest.includeDefaults(request.paramAsBoolean("include_defaults", false));
5457
TransportLocalClusterStateAction.consumeDeprecatedLocalParameter(request);
55-
TransportLocalClusterStateAction.consumeDeprecatedMasterTimeoutParameter(request);
5658

5759
final boolean implicitAll = getRequest.name() == null;
5860

test/framework/src/main/java/org/elasticsearch/test/TestCluster.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ private void deleteTemplates(Set<String> excludeTemplates, ActionListener<Void>
120120
);
121121

122122
final SubscribableListener<GetComponentTemplateAction.Response> getComponentTemplates = SubscribableListener.newForked(
123-
l -> client().execute(GetComponentTemplateAction.INSTANCE, new GetComponentTemplateAction.Request("*"), l)
123+
l -> client().execute(GetComponentTemplateAction.INSTANCE, new GetComponentTemplateAction.Request(TEST_REQUEST_TIMEOUT, "*"), l)
124124
);
125125

126126
SubscribableListener

0 commit comments

Comments
 (0)