Skip to content

Commit 30d31bf

Browse files
authored
Introduce RestUtils#getMasterNodeTimeout (#107986)
Many APIs accept a `?master_timeout` parameter, but reading this parameter requires a little unnecessary boilerplate to specify the literal parameter name and default value. Moreover, today's convention is to construct a `MasterNodeRequest` and then read the default master timeout from the freshly-created request. In practice this results in a default of 30s, but we specify in the docs that this default is _always_ 30s, and in principle one could create a transport request with a different initial value which would deviate from the documented behaviour. This commit introduces a utility method for reading this parameter in a fashion which is completely consistent with the documented behaviour. Relates #107984
1 parent f2fe71b commit 30d31bf

File tree

142 files changed

+340
-157
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+340
-157
lines changed

modules/data-streams/src/main/java/org/elasticsearch/datastreams/lifecycle/rest/RestDataStreamLifecycleStatsAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.List;
2020

2121
import static org.elasticsearch.rest.RestRequest.Method.GET;
22+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
2223

2324
@ServerlessScope(Scope.PUBLIC)
2425
public class RestDataStreamLifecycleStatsAction extends BaseRestHandler {
@@ -36,7 +37,7 @@ public List<Route> routes() {
3637
@Override
3738
protected RestChannelConsumer prepareRequest(RestRequest restRequest, NodeClient client) {
3839
GetDataStreamLifecycleStatsAction.Request request = new GetDataStreamLifecycleStatsAction.Request();
39-
request.masterNodeTimeout(restRequest.paramAsTime("master_timeout", request.masterNodeTimeout()));
40+
request.masterNodeTimeout(getMasterNodeTimeout(restRequest));
4041
return channel -> client.execute(
4142
GetDataStreamLifecycleStatsAction.INSTANCE,
4243
request,

modules/data-streams/src/main/java/org/elasticsearch/datastreams/lifecycle/rest/RestExplainDataStreamLifecycleAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.util.List;
2222

2323
import static org.elasticsearch.rest.RestRequest.Method.GET;
24+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
2425

2526
@ServerlessScope(Scope.PUBLIC)
2627
public class RestExplainDataStreamLifecycleAction extends BaseRestHandler {
@@ -41,7 +42,7 @@ protected RestChannelConsumer prepareRequest(RestRequest restRequest, NodeClient
4142
ExplainDataStreamLifecycleAction.Request explainRequest = new ExplainDataStreamLifecycleAction.Request(indices);
4243
explainRequest.includeDefaults(restRequest.paramAsBoolean("include_defaults", false));
4344
explainRequest.indicesOptions(IndicesOptions.fromRequest(restRequest, IndicesOptions.strictExpandOpen()));
44-
explainRequest.masterNodeTimeout(restRequest.paramAsTime("master_timeout", explainRequest.masterNodeTimeout()));
45+
explainRequest.masterNodeTimeout(getMasterNodeTimeout(restRequest));
4546
return channel -> client.execute(
4647
ExplainDataStreamLifecycleAction.INSTANCE,
4748
explainRequest,

modules/data-streams/src/main/java/org/elasticsearch/datastreams/lifecycle/rest/RestPutDataStreamLifecycleAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.List;
2323

2424
import static org.elasticsearch.rest.RestRequest.Method.PUT;
25+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
2526

2627
@ServerlessScope(Scope.PUBLIC)
2728
public class RestPutDataStreamLifecycleAction extends BaseRestHandler {
@@ -41,7 +42,7 @@ protected RestChannelConsumer prepareRequest(RestRequest request, NodeClient cli
4142
try (XContentParser parser = request.contentParser()) {
4243
PutDataStreamLifecycleAction.Request putLifecycleRequest = PutDataStreamLifecycleAction.Request.parseRequest(parser);
4344
putLifecycleRequest.indices(Strings.splitStringByCommaToArray(request.param("name")));
44-
putLifecycleRequest.masterNodeTimeout(request.paramAsTime("master_timeout", putLifecycleRequest.masterNodeTimeout()));
45+
putLifecycleRequest.masterNodeTimeout(getMasterNodeTimeout(request));
4546
putLifecycleRequest.ackTimeout(request.paramAsTime("timeout", putLifecycleRequest.ackTimeout()));
4647
putLifecycleRequest.indicesOptions(IndicesOptions.fromRequest(request, putLifecycleRequest.indicesOptions()));
4748
return channel -> client.execute(

modules/data-streams/src/main/java/org/elasticsearch/datastreams/rest/RestModifyDataStreamsAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.List;
2121

2222
import static org.elasticsearch.rest.RestRequest.Method.POST;
23+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
2324

2425
@ServerlessScope(Scope.PUBLIC)
2526
public class RestModifyDataStreamsAction extends BaseRestHandler {
@@ -43,7 +44,7 @@ protected RestChannelConsumer prepareRequest(RestRequest request, NodeClient cli
4344
if (modifyDsRequest.getActions() == null || modifyDsRequest.getActions().isEmpty()) {
4445
throw new IllegalArgumentException("no data stream actions specified, at least one must be specified");
4546
}
46-
modifyDsRequest.masterNodeTimeout(request.paramAsTime("master_timeout", modifyDsRequest.masterNodeTimeout()));
47+
modifyDsRequest.masterNodeTimeout(getMasterNodeTimeout(request));
4748
modifyDsRequest.ackTimeout(request.paramAsTime("timeout", modifyDsRequest.ackTimeout()));
4849
return channel -> client.execute(ModifyDataStreamsAction.INSTANCE, modifyDsRequest, new RestToXContentListener<>(channel));
4950
}

qa/smoke-test-http/src/javaRestTest/java/org/elasticsearch/http/DanglingIndicesRestIT.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import static org.elasticsearch.cluster.metadata.IndexGraveyard.SETTING_MAX_TOMBSTONES;
3434
import static org.elasticsearch.indices.IndicesService.WRITE_DANGLING_INDICES_INFO_SETTING;
3535
import static org.elasticsearch.rest.RestStatus.ACCEPTED;
36+
import static org.elasticsearch.rest.RestUtils.REST_MASTER_TIMEOUT_PARAM;
3637
import static org.elasticsearch.test.XContentTestUtils.createJsonMapView;
3738
import static org.hamcrest.Matchers.empty;
3839
import static org.hamcrest.Matchers.equalTo;
@@ -111,7 +112,7 @@ public void testDanglingIndicesCanBeImported() throws Exception {
111112
importRequest.addParameter("accept_data_loss", "true");
112113
// Ensure this parameter is accepted
113114
importRequest.addParameter("timeout", "20s");
114-
importRequest.addParameter("master_timeout", "20s");
115+
importRequest.addParameter(REST_MASTER_TIMEOUT_PARAM, "20s");
115116
final Response importResponse = restClient.performRequest(importRequest);
116117
assertThat(importResponse.getStatusLine().getStatusCode(), equalTo(ACCEPTED.getStatus()));
117118

@@ -147,7 +148,7 @@ public void testDanglingIndicesCanBeDeleted() throws Exception {
147148
deleteRequest.addParameter("accept_data_loss", "true");
148149
// Ensure these parameters is accepted
149150
deleteRequest.addParameter("timeout", "20s");
150-
deleteRequest.addParameter("master_timeout", "20s");
151+
deleteRequest.addParameter(REST_MASTER_TIMEOUT_PARAM, "20s");
151152
final Response deleteResponse = restClient.performRequest(deleteRequest);
152153
assertThat(deleteResponse.getStatusLine().getStatusCode(), equalTo(ACCEPTED.getStatus()));
153154

server/src/internalClusterTest/java/org/elasticsearch/rest/action/admin/cluster/RestClusterStateActionIT.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414
import java.io.IOException;
1515

16+
import static org.elasticsearch.rest.RestUtils.REST_MASTER_TIMEOUT_PARAM;
17+
1618
public class RestClusterStateActionIT extends ESIntegTestCase {
1719

1820
@Override
@@ -22,7 +24,7 @@ protected boolean addMockHttpTransport() {
2224

2325
public void testInfiniteTimeOut() throws IOException {
2426
final var request = new Request("GET", "/_cluster/state/none");
25-
request.addParameter("master_timeout", "-1");
27+
request.addParameter(REST_MASTER_TIMEOUT_PARAM, "-1");
2628
getRestClient().performRequest(request);
2729
}
2830
}

server/src/main/java/org/elasticsearch/rest/RestUtils.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import org.elasticsearch.common.Strings;
1212
import org.elasticsearch.core.Booleans;
13+
import org.elasticsearch.core.TimeValue;
1314

1415
import java.nio.charset.Charset;
1516
import java.nio.charset.StandardCharsets;
@@ -256,4 +257,27 @@ public static Optional<String> extractTraceId(String traceparent) {
256257
return traceparent != null && traceparent.length() >= 55 ? Optional.of(traceparent.substring(3, 35)) : Optional.empty();
257258
}
258259

260+
/**
261+
* The name of the common {@code ?master_timeout} query parameter.
262+
*/
263+
public static final String REST_MASTER_TIMEOUT_PARAM = "master_timeout";
264+
265+
/**
266+
* The default value for the common {@code ?master_timeout} query parameter.
267+
*/
268+
public static final TimeValue REST_MASTER_TIMEOUT_DEFAULT = TimeValue.timeValueSeconds(30);
269+
270+
/**
271+
* Extract the {@code ?master_timeout} parameter from the request, imposing the common default of {@code 30s} in case the parameter is
272+
* missing.
273+
*
274+
* @param restRequest The request from which to extract the {@code ?master_timeout} parameter
275+
* @return the timeout from the request, with a default of {@link #REST_MASTER_TIMEOUT_DEFAULT} ({@code 30s}) if the request does not
276+
* specify the parameter
277+
*/
278+
public static TimeValue getMasterNodeTimeout(RestRequest restRequest) {
279+
assert restRequest != null;
280+
return restRequest.paramAsTime(REST_MASTER_TIMEOUT_PARAM, REST_MASTER_TIMEOUT_DEFAULT);
281+
}
282+
259283
}

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestAddVotingConfigExclusionAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.List;
2323

2424
import static org.elasticsearch.rest.RestRequest.Method.POST;
25+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
2526

2627
public class RestAddVotingConfigExclusionAction extends BaseRestHandler {
2728
private static final TimeValue DEFAULT_TIMEOUT = TimeValue.timeValueSeconds(30L);
@@ -82,7 +83,7 @@ static AddVotingConfigExclusionsRequest resolveVotingConfigExclusionsRequest(fin
8283
request.paramAsTime("timeout", DEFAULT_TIMEOUT)
8384
);
8485

85-
return resolvedRequest.masterNodeTimeout(request.paramAsTime("master_timeout", resolvedRequest.masterNodeTimeout()));
86+
return resolvedRequest.masterNodeTimeout(getMasterNodeTimeout(request));
8687
}
8788

8889
}

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestCleanupRepositoryAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.List;
2121

2222
import static org.elasticsearch.rest.RestRequest.Method.POST;
23+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
2324

2425
/**
2526
* Cleans up a repository
@@ -42,7 +43,7 @@ public RestChannelConsumer prepareRequest(final RestRequest request, final NodeC
4243
String name = request.param("repository");
4344
CleanupRepositoryRequest cleanupRepositoryRequest = new CleanupRepositoryRequest(name);
4445
cleanupRepositoryRequest.ackTimeout(request.paramAsTime("timeout", cleanupRepositoryRequest.ackTimeout()));
45-
cleanupRepositoryRequest.masterNodeTimeout(request.paramAsTime("master_timeout", cleanupRepositoryRequest.masterNodeTimeout()));
46+
cleanupRepositoryRequest.masterNodeTimeout(getMasterNodeTimeout(request));
4647
return channel -> client.admin().cluster().cleanupRepository(cleanupRepositoryRequest, new RestToXContentListener<>(channel));
4748
}
4849
}

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClearVotingConfigExclusionsAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.List;
2020

2121
import static org.elasticsearch.rest.RestRequest.Method.DELETE;
22+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
2223

2324
public class RestClearVotingConfigExclusionsAction extends BaseRestHandler {
2425

@@ -45,7 +46,7 @@ protected RestChannelConsumer prepareRequest(final RestRequest request, final No
4546

4647
static ClearVotingConfigExclusionsRequest resolveVotingConfigExclusionsRequest(final RestRequest request) {
4748
final var resolvedRequest = new ClearVotingConfigExclusionsRequest();
48-
resolvedRequest.masterNodeTimeout(request.paramAsTime("master_timeout", resolvedRequest.masterNodeTimeout()));
49+
resolvedRequest.masterNodeTimeout(getMasterNodeTimeout(request));
4950
resolvedRequest.setTimeout(resolvedRequest.masterNodeTimeout());
5051
resolvedRequest.setWaitForRemoval(request.paramAsBoolean("wait_for_removal", resolvedRequest.getWaitForRemoval()));
5152
return resolvedRequest;

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestCloneSnapshotAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.util.Map;
2525

2626
import static org.elasticsearch.rest.RestRequest.Method.PUT;
27+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
2728

2829
/**
2930
* Clones indices from one snapshot into another snapshot in the same repository
@@ -51,7 +52,7 @@ public RestChannelConsumer prepareRequest(final RestRequest request, final NodeC
5152
request.param("target_snapshot"),
5253
XContentMapValues.nodeStringArrayValue(source.getOrDefault("indices", Collections.emptyList()))
5354
);
54-
cloneSnapshotRequest.masterNodeTimeout(request.paramAsTime("master_timeout", cloneSnapshotRequest.masterNodeTimeout()));
55+
cloneSnapshotRequest.masterNodeTimeout(getMasterNodeTimeout(request));
5556
cloneSnapshotRequest.indicesOptions(IndicesOptions.fromMap(source, cloneSnapshotRequest.indicesOptions()));
5657
return channel -> client.admin().cluster().cloneSnapshot(cloneSnapshotRequest, new RestToXContentListener<>(channel));
5758
}

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClusterGetSettingsAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import java.util.function.Predicate;
3030

3131
import static org.elasticsearch.rest.RestRequest.Method.GET;
32+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
3233

3334
@ServerlessScope(Scope.INTERNAL)
3435
public class RestClusterGetSettingsAction extends BaseRestHandler {
@@ -64,7 +65,7 @@ public String getName() {
6465

6566
private static void setUpRequestParams(MasterNodeReadRequest<?> clusterRequest, RestRequest request) {
6667
clusterRequest.local(request.paramAsBoolean("local", clusterRequest.local()));
67-
clusterRequest.masterNodeTimeout(request.paramAsTime("master_timeout", clusterRequest.masterNodeTimeout()));
68+
clusterRequest.masterNodeTimeout(getMasterNodeTimeout(request));
6869
}
6970

7071
@Override

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClusterHealthAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import java.util.Set;
3232

3333
import static org.elasticsearch.rest.RestRequest.Method.GET;
34+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
3435

3536
@ServerlessScope(Scope.INTERNAL)
3637
public class RestClusterHealthAction extends BaseRestHandler {
@@ -63,7 +64,7 @@ public static ClusterHealthRequest fromRequest(final RestRequest request) {
6364
final ClusterHealthRequest clusterHealthRequest = new ClusterHealthRequest(indices);
6465
clusterHealthRequest.indicesOptions(IndicesOptions.fromRequest(request, clusterHealthRequest.indicesOptions()));
6566
clusterHealthRequest.local(request.paramAsBoolean("local", clusterHealthRequest.local()));
66-
clusterHealthRequest.masterNodeTimeout(request.paramAsTime("master_timeout", clusterHealthRequest.masterNodeTimeout()));
67+
clusterHealthRequest.masterNodeTimeout(getMasterNodeTimeout(request));
6768
clusterHealthRequest.timeout(request.paramAsTime("timeout", clusterHealthRequest.timeout()));
6869
String waitForStatus = request.param("wait_for_status");
6970
if (waitForStatus != null) {

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClusterRerouteAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131

3232
import static org.elasticsearch.common.util.set.Sets.addToCopy;
3333
import static org.elasticsearch.rest.RestRequest.Method.POST;
34+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
3435

3536
@ServerlessScope(Scope.INTERNAL)
3637
public class RestClusterRerouteAction extends BaseRestHandler {
@@ -98,7 +99,7 @@ public static ClusterRerouteRequest createRequest(RestRequest request) throws IO
9899
clusterRerouteRequest.explain(request.paramAsBoolean("explain", clusterRerouteRequest.explain()));
99100
clusterRerouteRequest.ackTimeout(request.paramAsTime("timeout", clusterRerouteRequest.ackTimeout()));
100101
clusterRerouteRequest.setRetryFailed(request.paramAsBoolean("retry_failed", clusterRerouteRequest.isRetryFailed()));
101-
clusterRerouteRequest.masterNodeTimeout(request.paramAsTime("master_timeout", clusterRerouteRequest.masterNodeTimeout()));
102+
clusterRerouteRequest.masterNodeTimeout(getMasterNodeTimeout(request));
102103
request.applyContentParser(parser -> PARSER.parse(parser, clusterRerouteRequest, null));
103104
return clusterRerouteRequest;
104105
}

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClusterStateAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import static java.util.Collections.singletonMap;
4343
import static org.elasticsearch.common.util.set.Sets.addToCopy;
4444
import static org.elasticsearch.rest.RestRequest.Method.GET;
45+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
4546

4647
@ServerlessScope(Scope.INTERNAL)
4748
public class RestClusterStateAction extends BaseRestHandler {
@@ -81,7 +82,7 @@ public RestChannelConsumer prepareRequest(final RestRequest request, final NodeC
8182
final ClusterStateRequest clusterStateRequest = new ClusterStateRequest();
8283
clusterStateRequest.indicesOptions(IndicesOptions.fromRequest(request, clusterStateRequest.indicesOptions()));
8384
clusterStateRequest.local(request.paramAsBoolean("local", clusterStateRequest.local()));
84-
clusterStateRequest.masterNodeTimeout(request.paramAsTime("master_timeout", clusterStateRequest.masterNodeTimeout()));
85+
clusterStateRequest.masterNodeTimeout(getMasterNodeTimeout(request));
8586
if (request.hasParam("wait_for_metadata_version")) {
8687
clusterStateRequest.waitForMetadataVersion(request.paramAsLong("wait_for_metadata_version", 0));
8788
}

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClusterUpdateSettingsAction.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.util.Set;
2525

2626
import static org.elasticsearch.rest.RestRequest.Method.PUT;
27+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
2728

2829
@ServerlessScope(Scope.INTERNAL)
2930
public class RestClusterUpdateSettingsAction extends BaseRestHandler {
@@ -45,9 +46,7 @@ public String getName() {
4546
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
4647
final ClusterUpdateSettingsRequest clusterUpdateSettingsRequest = new ClusterUpdateSettingsRequest();
4748
clusterUpdateSettingsRequest.ackTimeout(request.paramAsTime("timeout", clusterUpdateSettingsRequest.ackTimeout()));
48-
clusterUpdateSettingsRequest.masterNodeTimeout(
49-
request.paramAsTime("master_timeout", clusterUpdateSettingsRequest.masterNodeTimeout())
50-
);
49+
clusterUpdateSettingsRequest.masterNodeTimeout(getMasterNodeTimeout(request));
5150
Map<String, Object> source;
5251
try (XContentParser parser = request.contentParser()) {
5352
source = parser.map();

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestCreateSnapshotAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import static org.elasticsearch.rest.RestRequest.Method.POST;
2323
import static org.elasticsearch.rest.RestRequest.Method.PUT;
24+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
2425

2526
/**
2627
* Creates a new snapshot
@@ -44,7 +45,7 @@ public RestChannelConsumer prepareRequest(final RestRequest request, final NodeC
4445
String snapshot = request.param("snapshot");
4546
CreateSnapshotRequest createSnapshotRequest = new CreateSnapshotRequest(repository, snapshot);
4647
request.applyContentParser(p -> createSnapshotRequest.source(p.mapOrdered()));
47-
createSnapshotRequest.masterNodeTimeout(request.paramAsTime("master_timeout", createSnapshotRequest.masterNodeTimeout()));
48+
createSnapshotRequest.masterNodeTimeout(getMasterNodeTimeout(request));
4849
createSnapshotRequest.waitForCompletion(request.paramAsBoolean("wait_for_completion", false));
4950
return channel -> client.admin().cluster().createSnapshot(createSnapshotRequest, new RestToXContentListener<>(channel));
5051
}

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestDeleteDesiredNodesAction.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import java.io.IOException;
1919
import java.util.List;
2020

21+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
22+
2123
public class RestDeleteDesiredNodesAction extends BaseRestHandler {
2224
@Override
2325
public String getName() {
@@ -32,7 +34,7 @@ public List<Route> routes() {
3234
@Override
3335
protected RestChannelConsumer prepareRequest(RestRequest request, NodeClient client) throws IOException {
3436
final AcknowledgedRequest.Plain deleteDesiredNodesRequest = new AcknowledgedRequest.Plain();
35-
deleteDesiredNodesRequest.masterNodeTimeout(request.paramAsTime("master_timeout", deleteDesiredNodesRequest.masterNodeTimeout()));
37+
deleteDesiredNodesRequest.masterNodeTimeout(getMasterNodeTimeout(request));
3638
return restChannel -> client.execute(
3739
TransportDeleteDesiredNodesAction.TYPE,
3840
deleteDesiredNodesRequest,

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestDeleteRepositoryAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.util.List;
2424

2525
import static org.elasticsearch.rest.RestRequest.Method.DELETE;
26+
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
2627

2728
/**
2829
* Unregisters a repository
@@ -45,7 +46,7 @@ public RestChannelConsumer prepareRequest(final RestRequest request, final NodeC
4546
String name = request.param("repository");
4647
DeleteRepositoryRequest deleteRepositoryRequest = new DeleteRepositoryRequest(name);
4748
deleteRepositoryRequest.ackTimeout(request.paramAsTime("timeout", deleteRepositoryRequest.ackTimeout()));
48-
deleteRepositoryRequest.masterNodeTimeout(request.paramAsTime("master_timeout", deleteRepositoryRequest.masterNodeTimeout()));
49+
deleteRepositoryRequest.masterNodeTimeout(getMasterNodeTimeout(request));
4950
return channel -> client.admin()
5051
.cluster()
5152
.deleteRepository(

0 commit comments

Comments
 (0)