Skip to content

Commit 48b9fae

Browse files
authored
Fix trappy timeouts in GetAliasesRequest (#119817)
Removes the use of the trappy default master node timeout and configures a sensible default instead.
1 parent 933da4e commit 48b9fae

File tree

36 files changed

+394
-254
lines changed

36 files changed

+394
-254
lines changed

modules/data-streams/src/internalClusterTest/java/org/elasticsearch/datastreams/DataStreamIT.java

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,11 @@ public void testResolvabilityOfDataStreamsInAPIs() throws Exception {
588588
verifyResolvability(dataStreamName, indicesAdmin().prepareForceMerge(dataStreamName), false);
589589
verifyResolvability(dataStreamName, indicesAdmin().prepareValidateQuery(dataStreamName), false);
590590
verifyResolvability(dataStreamName, indicesAdmin().prepareRecoveries(dataStreamName), false);
591-
verifyResolvability(dataStreamName, indicesAdmin().prepareGetAliases("dummy").setIndices(dataStreamName), false);
591+
verifyResolvability(
592+
dataStreamName,
593+
indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "dummy").setIndices(dataStreamName),
594+
false
595+
);
592596
verifyResolvability(dataStreamName, indicesAdmin().prepareGetFieldMappings(dataStreamName), false);
593597
verifyResolvability(dataStreamName, indicesAdmin().preparePutMapping(dataStreamName).setSource("""
594598
{"_doc":{"properties": {"my_field":{"type":"keyword"}}}}""", XContentType.JSON), false);
@@ -635,7 +639,7 @@ public void testResolvabilityOfDataStreamsInAPIs() throws Exception {
635639
verifyResolvability(wildcardExpression, indicesAdmin().prepareForceMerge(wildcardExpression), false);
636640
verifyResolvability(wildcardExpression, indicesAdmin().prepareValidateQuery(wildcardExpression), false);
637641
verifyResolvability(wildcardExpression, indicesAdmin().prepareRecoveries(wildcardExpression), false);
638-
verifyResolvability(wildcardExpression, indicesAdmin().prepareGetAliases(wildcardExpression), false);
642+
verifyResolvability(wildcardExpression, indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, wildcardExpression), false);
639643
verifyResolvability(wildcardExpression, indicesAdmin().prepareGetFieldMappings(wildcardExpression), false);
640644
verifyResolvability(wildcardExpression, indicesAdmin().preparePutMapping(wildcardExpression).setSource("""
641645
{"_doc":{"properties": {"my_field":{"type":"keyword"}}}}""", XContentType.JSON), false);
@@ -738,7 +742,7 @@ public void testAliasActionsOnDataStreams() throws Exception {
738742
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest();
739743
aliasesAddRequest.addAliasAction(addAction);
740744
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
741-
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest()).actionGet();
745+
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
742746
assertThat(
743747
response.getDataStreamAliases(),
744748
equalTo(Map.of("metrics-foo", List.of(new DataStreamAlias("foo", List.of("metrics-foo"), null, null))))
@@ -764,7 +768,7 @@ public void testDataSteamAliasWithFilter() throws Exception {
764768
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest();
765769
aliasesAddRequest.addAliasAction(addAction);
766770
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
767-
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest()).actionGet();
771+
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
768772
assertThat(
769773
response.getDataStreamAliases(),
770774
equalTo(
@@ -794,7 +798,7 @@ public void testDataSteamAliasWithFilter() throws Exception {
794798
aliasesAddRequest = new IndicesAliasesRequest();
795799
aliasesAddRequest.addAliasAction(addAction);
796800
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
797-
response = indicesAdmin().getAliases(new GetAliasesRequest()).actionGet();
801+
response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
798802
assertThat(
799803
response.getDataStreamAliases(),
800804
equalTo(
@@ -840,7 +844,7 @@ public void testSearchFilteredAndUnfilteredAlias() throws Exception {
840844
aliasesAddRequest.addAliasAction(addFilteredAliasAction);
841845
aliasesAddRequest.addAliasAction(addUnfilteredAliasAction);
842846
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
843-
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest()).actionGet();
847+
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
844848
assertThat(response.getDataStreamAliases(), hasKey("logs-foobar"));
845849
assertThat(
846850
response.getDataStreamAliases().get("logs-foobar"),
@@ -884,7 +888,7 @@ public void testRandomDataSteamAliasesUpdate() throws Exception {
884888
addAction = new AliasActions(AliasActions.Type.ADD).aliases(alias).indices(dataStreams[0]).filter(indexFilters).writeIndex(true);
885889
assertAcked(indicesAdmin().aliases(new IndicesAliasesRequest().addAliasAction(addAction)).actionGet());
886890

887-
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest()).actionGet();
891+
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
888892
assertThat(response.getDataStreamAliases().size(), equalTo(dataStreams.length));
889893
List<DataStreamAlias> result = response.getDataStreamAliases()
890894
.values()
@@ -933,7 +937,7 @@ public void testDataSteamAliasWithMalformedFilter() throws Exception {
933937
indicesAdmin().aliases(new IndicesAliasesRequest().addAliasAction(addAction))
934938
);
935939
assertThat(e.getMessage(), equalTo("failed to parse filter for alias [" + alias + "]"));
936-
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest()).actionGet();
940+
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
937941
assertThat(response.getDataStreamAliases(), anEmptyMap());
938942
}
939943

@@ -998,7 +1002,7 @@ public void testRemoveDataStreamAliasesMixedExpression() throws Exception {
9981002
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("metrics-foo").aliases("my-alias1"));
9991003
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("metrics-myindex").aliases("my-alias2"));
10001004
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
1001-
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest()).actionGet();
1005+
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
10021006
assertThat(
10031007
response.getDataStreamAliases(),
10041008
equalTo(Map.of("metrics-foo", List.of(new DataStreamAlias("my-alias1", List.of("metrics-foo"), null, null))))
@@ -1013,7 +1017,7 @@ public void testRemoveDataStreamAliasesMixedExpression() throws Exception {
10131017
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.REMOVE).index("_all").aliases("my-*"));
10141018
}
10151019
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
1016-
response = indicesAdmin().getAliases(new GetAliasesRequest()).actionGet();
1020+
response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
10171021
assertThat(response.getDataStreamAliases(), anEmptyMap());
10181022
assertThat(response.getAliases().get("metrics-myindex").size(), equalTo(0));
10191023
assertThat(response.getAliases().size(), equalTo(1));
@@ -1034,7 +1038,7 @@ public void testUpdateDataStreamsWithWildcards() throws Exception {
10341038
new AliasActions(AliasActions.Type.ADD).index("metrics-foo").aliases("my-alias1", "my-alias2")
10351039
);
10361040
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
1037-
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest()).actionGet();
1041+
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
10381042
assertThat(response.getDataStreamAliases().keySet(), containsInAnyOrder("metrics-foo"));
10391043
assertThat(
10401044
response.getDataStreamAliases().get("metrics-foo"),
@@ -1060,7 +1064,7 @@ public void testUpdateDataStreamsWithWildcards() throws Exception {
10601064
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.REMOVE).index("_all").aliases("_all"));
10611065
}
10621066
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
1063-
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest()).actionGet();
1067+
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
10641068
assertThat(response.getDataStreamAliases(), anEmptyMap());
10651069
assertThat(response.getAliases().size(), equalTo(0));
10661070
}

modules/data-streams/src/internalClusterTest/java/org/elasticsearch/datastreams/DataStreamsSnapshotsIT.java

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,10 @@ public void testSnapshotAndRestore() throws Exception {
213213
assertEquals(1, ds.get(0).getDataStream().getIndices().size());
214214
assertEquals(dsBackingIndexName, ds.get(0).getDataStream().getIndices().get(0).getName());
215215

216-
GetAliasesResponse getAliasesResponse = client.admin().indices().getAliases(new GetAliasesRequest("my-alias")).actionGet();
216+
GetAliasesResponse getAliasesResponse = client.admin()
217+
.indices()
218+
.getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT, "my-alias"))
219+
.actionGet();
217220
assertThat(getAliasesResponse.getDataStreamAliases().keySet(), containsInAnyOrder("ds", "other-ds"));
218221
assertThat(getAliasesResponse.getDataStreamAliases().get("ds").size(), equalTo(1));
219222
assertThat(getAliasesResponse.getDataStreamAliases().get("ds").get(0).getName(), equalTo("my-alias"));
@@ -462,7 +465,10 @@ public void testSnapshotAndRestoreAllIncludeSpecificDataStream() throws Exceptio
462465
assertEquals(1, dataStreamInfos.get(0).getDataStream().getIndices().size());
463466
assertEquals(backingIndexName, dataStreamInfos.get(0).getDataStream().getIndices().get(0).getName());
464467

465-
GetAliasesResponse getAliasesResponse = client.admin().indices().getAliases(new GetAliasesRequest("my-alias")).actionGet();
468+
GetAliasesResponse getAliasesResponse = client.admin()
469+
.indices()
470+
.getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT, "my-alias"))
471+
.actionGet();
466472
assertThat(getAliasesResponse.getDataStreamAliases().keySet(), contains(dataStreamToSnapshot));
467473
assertThat(
468474
getAliasesResponse.getDataStreamAliases().get(dataStreamToSnapshot),
@@ -520,7 +526,10 @@ public void testSnapshotAndRestoreReplaceAll() throws Exception {
520526
containsInAnyOrder("ds", "other-ds", "with-fs")
521527
);
522528

523-
GetAliasesResponse getAliasesResponse = client.admin().indices().getAliases(new GetAliasesRequest("my-alias")).actionGet();
529+
GetAliasesResponse getAliasesResponse = client.admin()
530+
.indices()
531+
.getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT, "my-alias"))
532+
.actionGet();
524533
assertThat(getAliasesResponse.getDataStreamAliases().keySet(), containsInAnyOrder("ds", "other-ds"));
525534
assertThat(getAliasesResponse.getDataStreamAliases().get("ds").size(), equalTo(1));
526535
assertThat(getAliasesResponse.getDataStreamAliases().get("ds").get(0).getName(), equalTo("my-alias"));
@@ -581,7 +590,10 @@ public void testSnapshotAndRestoreAll() throws Exception {
581590
assertEquals(1, dataStreamInfos.get(2).getDataStream().getFailureIndices().getIndices().size());
582591
assertEquals(fsFailureIndexName, dataStreamInfos.get(2).getDataStream().getFailureIndices().getIndices().get(0).getName());
583592

584-
GetAliasesResponse getAliasesResponse = client.admin().indices().getAliases(new GetAliasesRequest("my-alias")).actionGet();
593+
GetAliasesResponse getAliasesResponse = client.admin()
594+
.indices()
595+
.getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT, "my-alias"))
596+
.actionGet();
585597
assertThat(getAliasesResponse.getDataStreamAliases().keySet(), containsInAnyOrder("ds", "other-ds"));
586598

587599
assertThat(getAliasesResponse.getDataStreamAliases().get("ds").size(), equalTo(1));
@@ -649,7 +661,10 @@ public void testSnapshotAndRestoreIncludeAliasesFalse() throws Exception {
649661
assertEquals(1, dataStreamInfos.get(2).getDataStream().getIndices().size());
650662
assertEquals(fsFailureIndexName, dataStreamInfos.get(2).getDataStream().getFailureIndices().getIndices().get(0).getName());
651663

652-
GetAliasesResponse getAliasesResponse = client.admin().indices().getAliases(new GetAliasesRequest("*")).actionGet();
664+
GetAliasesResponse getAliasesResponse = client.admin()
665+
.indices()
666+
.getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT, "*"))
667+
.actionGet();
653668
assertThat(getAliasesResponse.getDataStreamAliases(), anEmptyMap());
654669
assertAcked(
655670
client().execute(
@@ -699,7 +714,10 @@ public void testRename() throws Exception {
699714
);
700715
assertEquals(DOCUMENT_SOURCE, client.prepareGet(ds2BackingIndexName, id).get().getSourceAsMap());
701716

702-
GetAliasesResponse getAliasesResponse = client.admin().indices().getAliases(new GetAliasesRequest("my-alias")).actionGet();
717+
GetAliasesResponse getAliasesResponse = client.admin()
718+
.indices()
719+
.getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT, "my-alias"))
720+
.actionGet();
703721
assertThat(getAliasesResponse.getDataStreamAliases().keySet(), containsInAnyOrder("ds", "ds2", "other-ds"));
704722
assertThat(getAliasesResponse.getDataStreamAliases().get("ds2").size(), equalTo(1));
705723
assertThat(getAliasesResponse.getDataStreamAliases().get("ds2").get(0).getName(), equalTo("my-alias"));
@@ -749,7 +767,10 @@ public void testRenameWriteDataStream() throws Exception {
749767
assertEquals(1, dataStreamInfos.get(0).getDataStream().getIndices().size());
750768
assertEquals(otherDs2BackingIndexName, dataStreamInfos.get(0).getDataStream().getIndices().get(0).getName());
751769

752-
GetAliasesResponse getAliasesResponse = client.admin().indices().getAliases(new GetAliasesRequest("my-alias")).actionGet();
770+
GetAliasesResponse getAliasesResponse = client.admin()
771+
.indices()
772+
.getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT, "my-alias"))
773+
.actionGet();
753774
assertThat(getAliasesResponse.getDataStreamAliases().keySet(), containsInAnyOrder("ds", "other-ds", "other-ds2"));
754775
assertThat(getAliasesResponse.getDataStreamAliases().get("other-ds2").size(), equalTo(1));
755776
assertThat(getAliasesResponse.getDataStreamAliases().get("other-ds2").get(0).getName(), equalTo("my-alias"));

server/src/internalClusterTest/java/org/elasticsearch/action/admin/indices/alias/ValidateIndicesAliasesRequestIT.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,10 @@ public void testAllowed() {
8181
final IndicesAliasesRequest request = new IndicesAliasesRequest().origin("allowed");
8282
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index").alias("alias"));
8383
assertAcked(client().admin().indices().aliases(request).actionGet());
84-
final GetAliasesResponse response = client().admin().indices().getAliases(new GetAliasesRequest("alias")).actionGet();
84+
final GetAliasesResponse response = client().admin()
85+
.indices()
86+
.getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT, "alias"))
87+
.actionGet();
8588
assertThat(response.getAliases().keySet().size(), equalTo(1));
8689
assertThat(response.getAliases().keySet().iterator().next(), equalTo("index"));
8790
final List<AliasMetadata> aliasMetadata = response.getAliases().get("index");
@@ -117,6 +120,8 @@ public void testSomeAllowed() {
117120
final Exception e = expectThrows(IllegalStateException.class, client().admin().indices().aliases(request));
118121
final String index = "foo_allowed".equals(origin) ? "bar" : "foo";
119122
assertThat(e, hasToString(containsString("origin [" + origin + "] not allowed for index [" + index + "]")));
120-
assertTrue(client().admin().indices().getAliases(new GetAliasesRequest("alias")).actionGet().getAliases().isEmpty());
123+
assertTrue(
124+
client().admin().indices().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT, "alias")).actionGet().getAliases().isEmpty()
125+
);
121126
}
122127
}

server/src/internalClusterTest/java/org/elasticsearch/action/admin/indices/create/AutoCreateSystemIndexIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ public void testAutoCreateSystemAliasViaComposableTemplateAllowsTemplates() thro
273273
private void assertAliasesHidden(String nonPrimaryIndex, Set<String> aliasNames, int aliasCount) throws InterruptedException,
274274
ExecutionException {
275275
final GetAliasesResponse getAliasesResponse = indicesAdmin().getAliases(
276-
new GetAliasesRequest().indicesOptions(IndicesOptions.strictExpandHidden())
276+
new GetAliasesRequest(TEST_REQUEST_TIMEOUT).indicesOptions(IndicesOptions.strictExpandHidden())
277277
).get();
278278

279279
assertThat(getAliasesResponse.getAliases().size(), equalTo(1));

server/src/internalClusterTest/java/org/elasticsearch/action/admin/indices/create/CreateSystemIndicesIT.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public void testNonPrimarySystemIndexIsAutoCreatedViaConcreteName() throws Excep
115115

116116
// Check that a non-primary system index is not assigned as the write index for the alias
117117
final GetAliasesResponse getAliasesResponse = indicesAdmin().getAliases(
118-
new GetAliasesRequest().indicesOptions(IndicesOptions.strictExpandHidden())
118+
new GetAliasesRequest(TEST_REQUEST_TIMEOUT).indicesOptions(IndicesOptions.strictExpandHidden())
119119
).actionGet();
120120

121121
assertThat(getAliasesResponse.getAliases().size(), equalTo(1));
@@ -322,7 +322,7 @@ public void onFailure(Exception e) {
322322
*/
323323
private void assertAliases(String concreteIndex) {
324324
final GetAliasesResponse getAliasesResponse = indicesAdmin().getAliases(
325-
new GetAliasesRequest().indicesOptions(IndicesOptions.strictExpandHidden())
325+
new GetAliasesRequest(TEST_REQUEST_TIMEOUT).indicesOptions(IndicesOptions.strictExpandHidden())
326326
).actionGet();
327327

328328
assertThat(getAliasesResponse.getAliases().size(), equalTo(1));
@@ -334,7 +334,7 @@ private void assertAliases(String concreteIndex) {
334334
private void assertHasAliases(Set<String> aliasNames, String name, String primaryName, int aliasCount) throws InterruptedException,
335335
java.util.concurrent.ExecutionException {
336336
final GetAliasesResponse getAliasesResponse = indicesAdmin().getAliases(
337-
new GetAliasesRequest().indicesOptions(IndicesOptions.strictExpandHidden())
337+
new GetAliasesRequest(TEST_REQUEST_TIMEOUT).indicesOptions(IndicesOptions.strictExpandHidden())
338338
).get();
339339

340340
assertThat(getAliasesResponse.getAliases().size(), equalTo(1));

server/src/internalClusterTest/java/org/elasticsearch/action/admin/indices/rollover/RolloverIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -866,7 +866,7 @@ public void testRolloverConcurrently() throws Exception {
866866

867867
for (int i = 0; i < numOfThreads; i++) {
868868
var aliasName = "test-" + i;
869-
var response = indicesAdmin().getAliases(new GetAliasesRequest(aliasName)).get();
869+
var response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT, aliasName)).get();
870870
List<Map.Entry<String, List<AliasMetadata>>> actual = response.getAliases().entrySet().stream().toList();
871871
List<Map.Entry<String, List<AliasMetadata>>> expected = new ArrayList<>(numberOfRolloversPerThread);
872872
int numOfIndices = numberOfRolloversPerThread + 1;

0 commit comments

Comments
 (0)