Remove trappy timeouts from IndicesAliasesRequest (#123987)

Relates #107984
This commit is contained in:
David Turner 2025-03-04 15:11:50 +00:00 committed by GitHub
parent 404c9e6290
commit 77a3d30d26
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
76 changed files with 760 additions and 338 deletions

View file

@ -565,7 +565,7 @@ public class DataStreamIT extends ESIntegTestCase {
dataStreamName dataStreamName
); );
client().execute(CreateDataStreamAction.INSTANCE, request).actionGet(); client().execute(CreateDataStreamAction.INSTANCE, request).actionGet();
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
String aliasToDataStream = "logs"; String aliasToDataStream = "logs";
aliasesRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).alias(aliasToDataStream).index("logs-foobar")); aliasesRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).alias(aliasToDataStream).index("logs-foobar"));
assertAcked(indicesAdmin().aliases(aliasesRequest).actionGet()); assertAcked(indicesAdmin().aliases(aliasesRequest).actionGet());
@ -741,7 +741,7 @@ public class DataStreamIT extends ESIntegTestCase {
client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get(); client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get();
AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index(dataStreamName).aliases("foo"); AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index(dataStreamName).aliases("foo");
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction); aliasesAddRequest.addAliasAction(addAction);
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet()); assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet(); GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
@ -767,7 +767,7 @@ public class DataStreamIT extends ESIntegTestCase {
AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index(dataStreamName) AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index(dataStreamName)
.aliases("foo") .aliases("foo")
.filter(Map.of("term", Map.of("type", Map.of("value", "y")))); .filter(Map.of("term", Map.of("type", Map.of("value", "y"))));
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction); aliasesAddRequest.addAliasAction(addAction);
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet()); assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet(); GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
@ -797,7 +797,7 @@ public class DataStreamIT extends ESIntegTestCase {
addAction = new AliasActions(AliasActions.Type.ADD).index(dataStreamName) addAction = new AliasActions(AliasActions.Type.ADD).index(dataStreamName)
.aliases("foo") .aliases("foo")
.filter(Map.of("term", Map.of("type", Map.of("value", "x")))); .filter(Map.of("term", Map.of("type", Map.of("value", "x"))));
aliasesAddRequest = new IndicesAliasesRequest(); aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction); aliasesAddRequest.addAliasAction(addAction);
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet()); assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet(); response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
@ -842,7 +842,7 @@ public class DataStreamIT extends ESIntegTestCase {
.filter(Map.of("term", Map.of("type", Map.of("value", "y")))); .filter(Map.of("term", Map.of("type", Map.of("value", "y"))));
AliasActions addUnfilteredAliasAction = new AliasActions(AliasActions.Type.ADD).index(dataStreamName).aliases("bar"); AliasActions addUnfilteredAliasAction = new AliasActions(AliasActions.Type.ADD).index(dataStreamName).aliases("bar");
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addFilteredAliasAction); aliasesAddRequest.addAliasAction(addFilteredAliasAction);
aliasesAddRequest.addAliasAction(addUnfilteredAliasAction); aliasesAddRequest.addAliasAction(addUnfilteredAliasAction);
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet()); assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
@ -885,10 +885,16 @@ public class DataStreamIT extends ESIntegTestCase {
} }
Map<String, Object> indexFilters = Map.of("term", Map.of("type", Map.of("value", "y"))); Map<String, Object> indexFilters = Map.of("term", Map.of("type", Map.of("value", "y")));
AliasActions addAction = new AliasActions(AliasActions.Type.ADD).aliases(alias).indices(dataStreams).filter(indexFilters); AliasActions addAction = new AliasActions(AliasActions.Type.ADD).aliases(alias).indices(dataStreams).filter(indexFilters);
assertAcked(indicesAdmin().aliases(new IndicesAliasesRequest().addAliasAction(addAction)).actionGet()); assertAcked(
indicesAdmin().aliases(new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAliasAction(addAction))
.actionGet()
);
addAction = new AliasActions(AliasActions.Type.ADD).aliases(alias).indices(dataStreams[0]).filter(indexFilters).writeIndex(true); addAction = new AliasActions(AliasActions.Type.ADD).aliases(alias).indices(dataStreams[0]).filter(indexFilters).writeIndex(true);
assertAcked(indicesAdmin().aliases(new IndicesAliasesRequest().addAliasAction(addAction)).actionGet()); assertAcked(
indicesAdmin().aliases(new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAliasAction(addAction))
.actionGet()
);
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet(); GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
assertThat(response.getDataStreamAliases().size(), equalTo(dataStreams.length)); assertThat(response.getDataStreamAliases().size(), equalTo(dataStreams.length));
@ -936,7 +942,7 @@ public class DataStreamIT extends ESIntegTestCase {
} }
Exception e = expectThrows( Exception e = expectThrows(
IllegalArgumentException.class, IllegalArgumentException.class,
indicesAdmin().aliases(new IndicesAliasesRequest().addAliasAction(addAction)) indicesAdmin().aliases(new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAliasAction(addAction))
); );
assertThat(e.getMessage(), equalTo("failed to parse filter for alias [" + alias + "]")); assertThat(e.getMessage(), equalTo("failed to parse filter for alias [" + alias + "]"));
GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet(); GetAliasesResponse response = indicesAdmin().getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT)).actionGet();
@ -955,7 +961,7 @@ public class DataStreamIT extends ESIntegTestCase {
String backingIndex = DataStream.getDefaultBackingIndexName(dataStreamName, 1); String backingIndex = DataStream.getDefaultBackingIndexName(dataStreamName, 1);
AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index(backingIndex).aliases("first_gen"); AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index(backingIndex).aliases("first_gen");
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction); aliasesAddRequest.addAliasAction(addAction);
Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest)); Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest));
assertThat( assertThat(
@ -983,7 +989,7 @@ public class DataStreamIT extends ESIntegTestCase {
client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get(); client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get();
AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index("metrics-*").aliases("my-alias"); AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index("metrics-*").aliases("my-alias");
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction); aliasesAddRequest.addAliasAction(addAction);
Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest)); Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest));
assertThat(e.getMessage(), equalTo("expressions [metrics-*] that match with both data streams and regular indices are disallowed")); assertThat(e.getMessage(), equalTo("expressions [metrics-*] that match with both data streams and regular indices are disallowed"));
@ -1000,7 +1006,7 @@ public class DataStreamIT extends ESIntegTestCase {
); );
client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get(); client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get();
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("metrics-foo").aliases("my-alias1")); aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("metrics-foo").aliases("my-alias1"));
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("metrics-myindex").aliases("my-alias2")); aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("metrics-myindex").aliases("my-alias2"));
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet()); assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
@ -1011,7 +1017,7 @@ public class DataStreamIT extends ESIntegTestCase {
); );
assertThat(response.getAliases().get("metrics-myindex"), equalTo(List.of(new AliasMetadata.Builder("my-alias2").build()))); assertThat(response.getAliases().get("metrics-myindex"), equalTo(List.of(new AliasMetadata.Builder("my-alias2").build())));
aliasesAddRequest = new IndicesAliasesRequest(); aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
if (randomBoolean()) { if (randomBoolean()) {
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.REMOVE).index("_all").aliases("my-alias1")); aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.REMOVE).index("_all").aliases("my-alias1"));
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.REMOVE).index("_all").aliases("my-alias2")); aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.REMOVE).index("_all").aliases("my-alias2"));
@ -1035,7 +1041,7 @@ public class DataStreamIT extends ESIntegTestCase {
); );
client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get(); client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get();
{ {
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction( aliasesAddRequest.addAliasAction(
new AliasActions(AliasActions.Type.ADD).index("metrics-foo").aliases("my-alias1", "my-alias2") new AliasActions(AliasActions.Type.ADD).index("metrics-foo").aliases("my-alias1", "my-alias2")
); );
@ -1053,13 +1059,13 @@ public class DataStreamIT extends ESIntegTestCase {
} }
// ADD doesn't resolve wildcards: // ADD doesn't resolve wildcards:
{ {
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("metrics-foo").aliases("my-alias*")); aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("metrics-foo").aliases("my-alias*"));
expectThrows(InvalidAliasNameException.class, indicesAdmin().aliases(aliasesAddRequest)); expectThrows(InvalidAliasNameException.class, indicesAdmin().aliases(aliasesAddRequest));
} }
// REMOVE does resolve wildcards: // REMOVE does resolve wildcards:
{ {
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
if (randomBoolean()) { if (randomBoolean()) {
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.REMOVE).index("metrics-*").aliases("my-*")); aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.REMOVE).index("metrics-*").aliases("my-*"));
} else { } else {
@ -1083,7 +1089,7 @@ public class DataStreamIT extends ESIntegTestCase {
client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get(); client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get();
{ {
AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index("metrics-*").aliases("my-alias").routing("[routing]"); AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index("metrics-*").aliases("my-alias").routing("[routing]");
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction); aliasesAddRequest.addAliasAction(addAction);
Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest)); Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest));
assertThat(e.getMessage(), equalTo("aliases that point to data streams don't support routing")); assertThat(e.getMessage(), equalTo("aliases that point to data streams don't support routing"));
@ -1092,7 +1098,7 @@ public class DataStreamIT extends ESIntegTestCase {
AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index("metrics-*") AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index("metrics-*")
.aliases("my-alias") .aliases("my-alias")
.indexRouting("[index_routing]"); .indexRouting("[index_routing]");
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction); aliasesAddRequest.addAliasAction(addAction);
Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest)); Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest));
assertThat(e.getMessage(), equalTo("aliases that point to data streams don't support index_routing")); assertThat(e.getMessage(), equalTo("aliases that point to data streams don't support index_routing"));
@ -1101,7 +1107,7 @@ public class DataStreamIT extends ESIntegTestCase {
AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index("metrics-*") AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index("metrics-*")
.aliases("my-alias") .aliases("my-alias")
.searchRouting("[search_routing]"); .searchRouting("[search_routing]");
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction); aliasesAddRequest.addAliasAction(addAction);
Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest)); Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest));
assertThat(e.getMessage(), equalTo("aliases that point to data streams don't support search_routing")); assertThat(e.getMessage(), equalTo("aliases that point to data streams don't support search_routing"));
@ -1110,7 +1116,7 @@ public class DataStreamIT extends ESIntegTestCase {
AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index("metrics-*") AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index("metrics-*")
.aliases("my-alias") .aliases("my-alias")
.isHidden(randomBoolean()); .isHidden(randomBoolean());
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction); aliasesAddRequest.addAliasAction(addAction);
Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest)); Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest));
assertThat(e.getMessage(), equalTo("aliases that point to data streams don't support is_hidden")); assertThat(e.getMessage(), equalTo("aliases that point to data streams don't support is_hidden"));
@ -1761,7 +1767,7 @@ public class DataStreamIT extends ESIntegTestCase {
DataStreamIT.putComposableIndexTemplate("my-template", List.of("my-*")); DataStreamIT.putComposableIndexTemplate("my-template", List.of("my-*"));
var request = new CreateDataStreamAction.Request(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT, "my-ds"); var request = new CreateDataStreamAction.Request(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT, "my-ds");
assertAcked(client().execute(CreateDataStreamAction.INSTANCE, request).actionGet()); assertAcked(client().execute(CreateDataStreamAction.INSTANCE, request).actionGet());
var aliasesAddRequest = new IndicesAliasesRequest(); var aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("my-ds").aliases("my-alias")); aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("my-ds").aliases("my-alias"));
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet()); assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
@ -1800,7 +1806,7 @@ public class DataStreamIT extends ESIntegTestCase {
var request = new CreateDataStreamAction.Request(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT, "logs-es"); var request = new CreateDataStreamAction.Request(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT, "logs-es");
assertAcked(client().execute(CreateDataStreamAction.INSTANCE, request).actionGet()); assertAcked(client().execute(CreateDataStreamAction.INSTANCE, request).actionGet());
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("logs-es").aliases("logs")); aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("logs-es").aliases("logs"));
var e = expectThrows(IllegalStateException.class, indicesAdmin().aliases(aliasesAddRequest)); var e = expectThrows(IllegalStateException.class, indicesAdmin().aliases(aliasesAddRequest));
assertThat(e.getMessage(), containsString("data stream alias and indices alias have the same name (logs)")); assertThat(e.getMessage(), containsString("data stream alias and indices alias have the same name (logs)"));
@ -1835,7 +1841,7 @@ public class DataStreamIT extends ESIntegTestCase {
{ {
var request = new CreateDataStreamAction.Request(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT, "logs-es"); var request = new CreateDataStreamAction.Request(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT, "logs-es");
assertAcked(client().execute(CreateDataStreamAction.INSTANCE, request).actionGet()); assertAcked(client().execute(CreateDataStreamAction.INSTANCE, request).actionGet());
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("logs-es").aliases("logs")); aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("logs-es").aliases("logs"));
var e = expectThrows(InvalidAliasNameException.class, indicesAdmin().aliases(aliasesAddRequest)); var e = expectThrows(InvalidAliasNameException.class, indicesAdmin().aliases(aliasesAddRequest));
assertThat( assertThat(
@ -1872,7 +1878,7 @@ public class DataStreamIT extends ESIntegTestCase {
var request = new CreateDataStreamAction.Request(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT, "logs-es"); var request = new CreateDataStreamAction.Request(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT, "logs-es");
assertAcked(client().execute(CreateDataStreamAction.INSTANCE, request).actionGet()); assertAcked(client().execute(CreateDataStreamAction.INSTANCE, request).actionGet());
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("logs-es").aliases("logs")); aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("logs-es").aliases("logs"));
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet()); assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
@ -1886,7 +1892,7 @@ public class DataStreamIT extends ESIntegTestCase {
var request = new CreateDataStreamAction.Request(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT, "logs-es"); var request = new CreateDataStreamAction.Request(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT, "logs-es");
assertAcked(client().execute(CreateDataStreamAction.INSTANCE, request).actionGet()); assertAcked(client().execute(CreateDataStreamAction.INSTANCE, request).actionGet());
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("logs-es").aliases("logs")); aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("logs-es").aliases("logs"));
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet()); assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
@ -1898,7 +1904,7 @@ public class DataStreamIT extends ESIntegTestCase {
{ {
CreateIndexRequest createIndexRequest = new CreateIndexRequest("my-index"); CreateIndexRequest createIndexRequest = new CreateIndexRequest("my-index");
assertAcked(indicesAdmin().create(createIndexRequest).actionGet()); assertAcked(indicesAdmin().create(createIndexRequest).actionGet());
IndicesAliasesRequest addAliasRequest = new IndicesAliasesRequest(); IndicesAliasesRequest addAliasRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
addAliasRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("my-index").aliases("logs")); addAliasRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).index("my-index").aliases("logs"));
var e = expectThrows(IllegalStateException.class, indicesAdmin().aliases(addAliasRequest)); var e = expectThrows(IllegalStateException.class, indicesAdmin().aliases(addAliasRequest));
assertThat(e.getMessage(), containsString("data stream alias and indices alias have the same name (logs)")); assertThat(e.getMessage(), containsString("data stream alias and indices alias have the same name (logs)"));

View file

@ -57,7 +57,7 @@ public class DataStreamMigrationIT extends ESIntegTestCase {
indexDocs("index2", numDocs2); indexDocs("index2", numDocs2);
String alias = "migrate-to-data-stream"; String alias = "migrate-to-data-stream";
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index1").alias(alias).writeIndex(true)); request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index1").alias(alias).writeIndex(true));
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index2").alias(alias).writeIndex(false)); request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index2").alias(alias).writeIndex(false));
assertAcked(indicesAdmin().aliases(request).get()); assertAcked(indicesAdmin().aliases(request).get());
@ -99,7 +99,7 @@ public class DataStreamMigrationIT extends ESIntegTestCase {
indexDocs("index2", numDocs2); indexDocs("index2", numDocs2);
String alias = "migrate-to-data-stream"; String alias = "migrate-to-data-stream";
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index1").alias(alias).writeIndex(true)); request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index1").alias(alias).writeIndex(true));
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index2").alias(alias).writeIndex(false)); request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index2").alias(alias).writeIndex(false));
assertAcked(indicesAdmin().aliases(request).get()); assertAcked(indicesAdmin().aliases(request).get());
@ -134,7 +134,7 @@ public class DataStreamMigrationIT extends ESIntegTestCase {
indicesAdmin().create(new CreateIndexRequest("index2")).get(); indicesAdmin().create(new CreateIndexRequest("index2")).get();
String alias = "migrate-to-data-stream"; String alias = "migrate-to-data-stream";
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index1").alias(alias).writeIndex(true)); request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index1").alias(alias).writeIndex(true));
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index2").alias(alias).writeIndex(false)); request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index2").alias(alias).writeIndex(false));
assertAcked(indicesAdmin().aliases(request).get()); assertAcked(indicesAdmin().aliases(request).get());
@ -172,7 +172,7 @@ public class DataStreamMigrationIT extends ESIntegTestCase {
indexDocs("index2", numDocs2, "foo"); indexDocs("index2", numDocs2, "foo");
String alias = "migrate-to-data-stream"; String alias = "migrate-to-data-stream";
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index1").alias(alias).writeIndex(true)); request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index1").alias(alias).writeIndex(true));
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index2").alias(alias).writeIndex(false)); request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index2").alias(alias).writeIndex(false));
assertAcked(indicesAdmin().aliases(request).get()); assertAcked(indicesAdmin().aliases(request).get());
@ -210,7 +210,7 @@ public class DataStreamMigrationIT extends ESIntegTestCase {
indexDocs("index2", numDocs2); indexDocs("index2", numDocs2);
String alias = "migrate-to-data-stream"; String alias = "migrate-to-data-stream";
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index1").alias(alias).writeIndex(false)); request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index1").alias(alias).writeIndex(false));
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index2").alias(alias).writeIndex(false)); request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index2").alias(alias).writeIndex(false));
assertAcked(indicesAdmin().aliases(request).get()); assertAcked(indicesAdmin().aliases(request).get());

View file

@ -162,7 +162,7 @@ public class DataStreamsSnapshotsIT extends AbstractSnapshotIntegTestCase {
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult()); assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
id = indexResponse.getId(); id = indexResponse.getId();
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesRequest.addAliasAction( aliasesRequest.addAliasAction(
new AliasActions(AliasActions.Type.ADD).alias("my-alias").index("ds").filter(QueryBuilders.matchAllQuery()) new AliasActions(AliasActions.Type.ADD).alias("my-alias").index("ds").filter(QueryBuilders.matchAllQuery())
); );

View file

@ -265,7 +265,7 @@ public class IngestFailureStoreMetricsIT extends ESIntegTestCase {
public void testDataStreamAlias() throws IOException { public void testDataStreamAlias() throws IOException {
putComposableIndexTemplate(false); putComposableIndexTemplate(false);
createDataStream(); createDataStream();
var indicesAliasesRequest = new IndicesAliasesRequest(); var indicesAliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
indicesAliasesRequest.addAliasAction( indicesAliasesRequest.addAliasAction(
IndicesAliasesRequest.AliasActions.add().alias("some-alias").index(dataStream).writeIndex(true) IndicesAliasesRequest.AliasActions.add().alias("some-alias").index(dataStream).writeIndex(true)
); );

View file

@ -1811,9 +1811,13 @@ public class ChildQuerySearchIT extends ParentChildTestCase {
refresh(); refresh();
assertAcked( assertAcked(
indicesAdmin().prepareAliases().addAlias("my-index", "filter1", hasChildQuery("child", matchAllQuery(), ScoreMode.None)) indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("my-index", "filter1", hasChildQuery("child", matchAllQuery(), ScoreMode.None))
);
assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("my-index", "filter2", hasParentQuery("parent", matchAllQuery(), false))
); );
assertAcked(indicesAdmin().prepareAliases().addAlias("my-index", "filter2", hasParentQuery("parent", matchAllQuery(), false)));
assertResponse(prepareSearch("filter1"), response -> { assertResponse(prepareSearch("filter1"), response -> {
assertHitCount(response, 1L); assertHitCount(response, 1L);

View file

@ -62,7 +62,10 @@ public class RankEvalRequestIT extends ESIntegTestCase {
refresh(); refresh();
// set up an alias that can also be used in tests // set up an alias that can also be used in tests
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(TEST_INDEX).alias(INDEX_ALIAS))); assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(TEST_INDEX).alias(INDEX_ALIAS))
);
} }
/** /**

View file

@ -78,7 +78,7 @@ public class ValidateIndicesAliasesRequestIT extends ESSingleNodeTestCase {
.putList(IndicesAliasesPlugin.ALLOWED_ORIGINS_SETTING.getKey(), Collections.singletonList("allowed")) .putList(IndicesAliasesPlugin.ALLOWED_ORIGINS_SETTING.getKey(), Collections.singletonList("allowed"))
.build(); .build();
createIndex("index", settings); createIndex("index", settings);
final IndicesAliasesRequest request = new IndicesAliasesRequest().origin("allowed"); final IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).origin("allowed");
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index").alias("alias")); request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index").alias("alias"));
assertAcked(client().admin().indices().aliases(request).actionGet()); assertAcked(client().admin().indices().aliases(request).actionGet());
final GetAliasesResponse response = client().admin() final GetAliasesResponse response = client().admin()
@ -98,7 +98,7 @@ public class ValidateIndicesAliasesRequestIT extends ESSingleNodeTestCase {
.build(); .build();
createIndex("index", settings); createIndex("index", settings);
final String origin = randomFrom("", "not-allowed"); final String origin = randomFrom("", "not-allowed");
final IndicesAliasesRequest request = new IndicesAliasesRequest().origin(origin); final IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).origin(origin);
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index").alias("alias")); request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("index").alias("alias"));
final Exception e = expectThrows(IllegalStateException.class, client().admin().indices().aliases(request)); final Exception e = expectThrows(IllegalStateException.class, client().admin().indices().aliases(request));
assertThat(e, hasToString(containsString("origin [" + origin + "] not allowed for index [index]"))); assertThat(e, hasToString(containsString("origin [" + origin + "] not allowed for index [index]")));
@ -114,7 +114,7 @@ public class ValidateIndicesAliasesRequestIT extends ESSingleNodeTestCase {
.build(); .build();
createIndex("bar", barIndexSettings); createIndex("bar", barIndexSettings);
final String origin = randomFrom("foo_allowed", "bar_allowed"); final String origin = randomFrom("foo_allowed", "bar_allowed");
final IndicesAliasesRequest request = new IndicesAliasesRequest().origin(origin); final IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).origin(origin);
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("foo").alias("alias")); request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("foo").alias("alias"));
request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("bar").alias("alias")); request.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("bar").alias("alias"));
final Exception e = expectThrows(IllegalStateException.class, client().admin().indices().aliases(request)); final Exception e = expectThrows(IllegalStateException.class, client().admin().indices().aliases(request));

View file

@ -278,7 +278,7 @@ public class CreateSystemIndicesIT extends ESIntegTestCase {
assertMappingsAndSettings(TestSystemIndexDescriptor.getOldMappings(), concreteIndex); assertMappingsAndSettings(TestSystemIndexDescriptor.getOldMappings(), concreteIndex);
// Remove the index and alias... // Remove the index and alias...
assertAcked(indicesAdmin().prepareAliases().removeAlias(concreteIndex, INDEX_NAME).get()); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias(concreteIndex, INDEX_NAME).get());
assertAcked(indicesAdmin().prepareDelete(concreteIndex)); assertAcked(indicesAdmin().prepareDelete(concreteIndex));
// ...so that we can check that the they will still be auto-created again, // ...so that we can check that the they will still be auto-created again,

View file

@ -313,8 +313,9 @@ public class TransportSearchIT extends ESIntegTestCase {
prepareCreate("test3").setSettings(Settings.builder().put(IndexMetadata.SETTING_NUMBER_OF_SHARDS, numberOfShards)) prepareCreate("test3").setSettings(Settings.builder().put(IndexMetadata.SETTING_NUMBER_OF_SHARDS, numberOfShards))
); );
assertAcked( assertAcked(
indicesAdmin().prepareAliases().addAlias("test1", "testAlias"), indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test1", "testAlias"),
indicesAdmin().prepareAliases().addAlias(new String[] { "test2", "test3" }, "testFailedAlias") indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias(new String[] { "test2", "test3" }, "testFailedAlias")
); );
long[] validCheckpoints = new long[numberOfShards]; long[] validCheckpoints = new long[numberOfShards];

View file

@ -85,7 +85,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases("test", () -> { assertAliasesVersionIncreases("test", () -> {
logger.info("--> aliasing index [test] with [alias1]"); logger.info("--> aliasing index [test] with [alias1]");
assertAcked(indicesAdmin().prepareAliases().addAlias("test", "alias1", false)); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "alias1", false));
}); });
logger.info("--> indexing against [alias1], should fail now"); logger.info("--> indexing against [alias1], should fail now");
@ -104,7 +104,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases("test", () -> { assertAliasesVersionIncreases("test", () -> {
logger.info("--> aliasing index [test] with [alias1]"); logger.info("--> aliasing index [test] with [alias1]");
assertAcked(indicesAdmin().prepareAliases().addAlias("test", "alias1")); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "alias1"));
}); });
logger.info("--> indexing against [alias1], should work now"); logger.info("--> indexing against [alias1], should work now");
@ -119,7 +119,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases("test_x", () -> { assertAliasesVersionIncreases("test_x", () -> {
logger.info("--> add index [test_x] with [alias1]"); logger.info("--> add index [test_x] with [alias1]");
assertAcked(indicesAdmin().prepareAliases().addAlias("test_x", "alias1")); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_x", "alias1"));
}); });
logger.info("--> indexing against [alias1], should fail now"); logger.info("--> indexing against [alias1], should fail now");
@ -149,7 +149,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases("test_x", () -> { assertAliasesVersionIncreases("test_x", () -> {
logger.info("--> remove aliasing index [test_x] with [alias1]"); logger.info("--> remove aliasing index [test_x] with [alias1]");
assertAcked(indicesAdmin().prepareAliases().removeAlias("test_x", "alias1")); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_x", "alias1"));
}); });
logger.info("--> indexing against [alias1], should work now"); logger.info("--> indexing against [alias1], should work now");
@ -158,7 +158,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases("test_x", () -> { assertAliasesVersionIncreases("test_x", () -> {
logger.info("--> add index [test_x] with [alias1] as write-index"); logger.info("--> add index [test_x] with [alias1] as write-index");
assertAcked(indicesAdmin().prepareAliases().addAlias("test_x", "alias1", true)); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_x", "alias1", true));
}); });
logger.info("--> indexing against [alias1], should work now"); logger.info("--> indexing against [alias1], should work now");
@ -171,7 +171,11 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases("test_x", () -> { assertAliasesVersionIncreases("test_x", () -> {
logger.info("--> remove [alias1], Aliasing index [test_x] with [alias1]"); logger.info("--> remove [alias1], Aliasing index [test_x] with [alias1]");
assertAcked(indicesAdmin().prepareAliases().removeAlias("test", "alias1").addAlias("test_x", "alias1")); assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.removeAlias("test", "alias1")
.addAlias("test_x", "alias1")
);
}); });
logger.info("--> indexing against [alias1], should work against [test_x]"); logger.info("--> indexing against [alias1], should work against [test_x]");
@ -184,11 +188,17 @@ public class IndexAliasesIT extends ESIntegTestCase {
createIndex("test"); createIndex("test");
// invalid filter, invalid json // invalid filter, invalid json
Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().prepareAliases().addAlias("test", "alias1", "abcde")); Exception e = expectThrows(
IllegalArgumentException.class,
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "alias1", "abcde")
);
assertThat(e.getMessage(), equalTo("failed to parse filter for alias [alias1]")); assertThat(e.getMessage(), equalTo("failed to parse filter for alias [alias1]"));
// valid json , invalid filter // valid json , invalid filter
e = expectThrows(IllegalArgumentException.class, indicesAdmin().prepareAliases().addAlias("test", "alias1", "{ \"test\": {} }")); e = expectThrows(
IllegalArgumentException.class,
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "alias1", "{ \"test\": {} }")
);
assertThat(e.getMessage(), equalTo("failed to parse filter for alias [alias1]")); assertThat(e.getMessage(), equalTo("failed to parse filter for alias [alias1]"));
} }
@ -200,7 +210,10 @@ public class IndexAliasesIT extends ESIntegTestCase {
logger.info("--> aliasing index [test] with [alias1] and filter [user:kimchy]"); logger.info("--> aliasing index [test] with [alias1] and filter [user:kimchy]");
QueryBuilder filter = termQuery("user", "kimchy"); QueryBuilder filter = termQuery("user", "kimchy");
assertAliasesVersionIncreases("test", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test", "alias1", filter))); assertAliasesVersionIncreases(
"test",
() -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "alias1", filter))
);
// For now just making sure that filter was stored with the alias // For now just making sure that filter was stored with the alias
logger.info("--> making sure that filter was stored with alias [alias1] and filter [user:kimchy]"); logger.info("--> making sure that filter was stored with alias [alias1] and filter [user:kimchy]");
@ -219,7 +232,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
logger.info("--> aliasing index [test] with [alias1] and empty filter"); logger.info("--> aliasing index [test] with [alias1] and empty filter");
IllegalArgumentException iae = expectThrows( IllegalArgumentException iae = expectThrows(
IllegalArgumentException.class, IllegalArgumentException.class,
indicesAdmin().prepareAliases().addAlias("test", "alias1", "{}") indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "alias1", "{}")
); );
assertEquals("failed to parse filter for alias [alias1]", iae.getMessage()); assertEquals("failed to parse filter for alias [alias1]", iae.getMessage());
} }
@ -232,19 +245,32 @@ public class IndexAliasesIT extends ESIntegTestCase {
logger.info("--> adding filtering aliases to index [test]"); logger.info("--> adding filtering aliases to index [test]");
assertAliasesVersionIncreases("test", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test", "alias1")));
assertAliasesVersionIncreases("test", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test", "alias2")));
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test", "test",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test", "foos", termQuery("name", "foo"))) () -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "alias1"))
); );
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test", "test",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test", "bars", termQuery("name", "bar"))) () -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "alias2"))
); );
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test", "test",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test", "tests", termQuery("name", "test"))) () -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "foos", termQuery("name", "foo"))
)
);
assertAliasesVersionIncreases(
"test",
() -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "bars", termQuery("name", "bar"))
)
);
assertAliasesVersionIncreases(
"test",
() -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test", "tests", termQuery("name", "test"))
)
); );
logger.info("--> indexing against [test]"); logger.info("--> indexing against [test]");
@ -328,23 +354,44 @@ public class IndexAliasesIT extends ESIntegTestCase {
ensureGreen(); ensureGreen();
logger.info("--> adding filtering aliases to index [test1]"); logger.info("--> adding filtering aliases to index [test1]");
assertAliasesVersionIncreases("test1", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "aliasToTest1")));
assertAliasesVersionIncreases("test1", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "aliasToTests")));
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test1", "test1",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "foos", termQuery("name", "foo"))) () -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test1", "aliasToTest1"))
); );
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test1", "test1",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "bars", termQuery("name", "bar"))) () -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test1", "aliasToTests"))
);
assertAliasesVersionIncreases(
"test1",
() -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test1", "foos", termQuery("name", "foo"))
)
);
assertAliasesVersionIncreases(
"test1",
() -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test1", "bars", termQuery("name", "bar"))
)
); );
logger.info("--> adding filtering aliases to index [test2]"); logger.info("--> adding filtering aliases to index [test2]");
assertAliasesVersionIncreases("test2", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test2", "aliasToTest2")));
assertAliasesVersionIncreases("test2", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test2", "aliasToTests")));
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test2", "test2",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test2", "foos", termQuery("name", "foo"))) () -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test2", "aliasToTest2"))
);
assertAliasesVersionIncreases(
"test2",
() -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test2", "aliasToTests"))
);
assertAliasesVersionIncreases(
"test2",
() -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test2", "foos", termQuery("name", "foo"))
)
); );
logger.info("--> indexing against [test1]"); logger.info("--> indexing against [test1]");
@ -431,31 +478,52 @@ public class IndexAliasesIT extends ESIntegTestCase {
ensureGreen(); ensureGreen();
logger.info("--> adding aliases to indices"); logger.info("--> adding aliases to indices");
assertAliasesVersionIncreases("test1", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "alias12"))); assertAliasesVersionIncreases(
assertAliasesVersionIncreases("test2", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test2", "alias12"))); "test1",
() -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test1", "alias12"))
);
assertAliasesVersionIncreases(
"test2",
() -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test2", "alias12"))
);
logger.info("--> adding filtering aliases to indices"); logger.info("--> adding filtering aliases to indices");
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test1", "test1",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "filter1", termQuery("name", "test1"))) () -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test1", "filter1", termQuery("name", "test1"))
)
); );
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test2", "test2",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test2", "filter23", termQuery("name", "foo"))) () -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test2", "filter23", termQuery("name", "foo"))
)
); );
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test3", "test3",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test3", "filter23", termQuery("name", "foo"))) () -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test3", "filter23", termQuery("name", "foo"))
)
); );
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test1", "test1",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "filter13", termQuery("name", "baz"))) () -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test1", "filter13", termQuery("name", "baz"))
)
); );
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test3", "test3",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test3", "filter13", termQuery("name", "baz"))) () -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test3", "filter13", termQuery("name", "baz"))
)
); );
logger.info("--> indexing against [test1]"); logger.info("--> indexing against [test1]");
@ -527,31 +595,58 @@ public class IndexAliasesIT extends ESIntegTestCase {
ensureGreen(); ensureGreen();
logger.info("--> adding filtering aliases to index [test1]"); logger.info("--> adding filtering aliases to index [test1]");
assertAliasesVersionIncreases("test1", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "aliasToTest1")));
assertAliasesVersionIncreases("test1", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "aliasToTests")));
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test1", "test1",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "foos", termQuery("name", "foo"))) () -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test1", "aliasToTest1"))
); );
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test1", "test1",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "bars", termQuery("name", "bar"))) () -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test1", "aliasToTests"))
); );
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test1", "test1",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "tests", termQuery("name", "test"))) () -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test1", "foos", termQuery("name", "foo"))
)
);
assertAliasesVersionIncreases(
"test1",
() -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test1", "bars", termQuery("name", "bar"))
)
);
assertAliasesVersionIncreases(
"test1",
() -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test1", "tests", termQuery("name", "test"))
)
); );
logger.info("--> adding filtering aliases to index [test2]"); logger.info("--> adding filtering aliases to index [test2]");
assertAliasesVersionIncreases("test2", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test2", "aliasToTest2")));
assertAliasesVersionIncreases("test2", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test2", "aliasToTests")));
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test2", "test2",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test2", "foos", termQuery("name", "foo"))) () -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test2", "aliasToTest2"))
); );
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test2", "test2",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test2", "tests", termQuery("name", "test"))) () -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test2", "aliasToTests"))
);
assertAliasesVersionIncreases(
"test2",
() -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test2", "foos", termQuery("name", "foo"))
)
);
assertAliasesVersionIncreases(
"test2",
() -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test2", "tests", termQuery("name", "test"))
)
); );
logger.info("--> indexing against [test1]"); logger.info("--> indexing against [test1]");
@ -584,7 +679,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test1", "test1",
() -> assertAcked( () -> assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test1", "aliasToTest1") .addAlias("test1", "aliasToTest1")
.addAlias("test1", "aliasToTests") .addAlias("test1", "aliasToTests")
.addAlias("test1", "foos", termQuery("name", "foo")) .addAlias("test1", "foos", termQuery("name", "foo"))
@ -597,7 +692,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test2", "test2",
() -> assertAcked( () -> assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test2", "aliasToTest2") .addAlias("test2", "aliasToTest2")
.addAlias("test2", "aliasToTests") .addAlias("test2", "aliasToTests")
.addAlias("test2", "foos", termQuery("name", "foo")) .addAlias("test2", "foos", termQuery("name", "foo"))
@ -608,7 +703,10 @@ public class IndexAliasesIT extends ESIntegTestCase {
String[] indices = { "test1", "test2" }; String[] indices = { "test1", "test2" };
String[] aliases = { "aliasToTest1", "foos", "bars", "tests", "aliasToTest2", "aliasToTests" }; String[] aliases = { "aliasToTest1", "foos", "bars", "tests", "aliasToTest2", "aliasToTests" };
assertAliasesVersionIncreases(indices, () -> indicesAdmin().prepareAliases().removeAlias(indices, aliases).get()); assertAliasesVersionIncreases(
indices,
() -> indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias(indices, aliases).get()
);
for (String alias : aliases) { for (String alias : aliases) {
assertTrue(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, alias).get().getAliases().isEmpty()); assertTrue(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, alias).get().getAliases().isEmpty());
@ -619,12 +717,21 @@ public class IndexAliasesIT extends ESIntegTestCase {
ensureGreen(); ensureGreen();
logger.info("--> adding [foo] alias to [foo_foo] and [bar_bar]"); logger.info("--> adding [foo] alias to [foo_foo] and [bar_bar]");
assertAliasesVersionIncreases("foo_foo", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("foo_foo", "foo"))); assertAliasesVersionIncreases(
assertAliasesVersionIncreases("bar_bar", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("bar_bar", "foo"))); "foo_foo",
() -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("foo_foo", "foo"))
);
assertAliasesVersionIncreases(
"bar_bar",
() -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("bar_bar", "foo"))
);
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"foo_foo", "foo_foo",
() -> assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.remove().index("foo*").alias("foo"))) () -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.remove().index("foo*").alias("foo"))
)
); );
assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foo").get().getAliases().isEmpty()); assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foo").get().getAliases().isEmpty());
@ -632,7 +739,8 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foo").setIndices("bar_bar").get().getAliases().isEmpty()); assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foo").setIndices("bar_bar").get().getAliases().isEmpty());
IllegalArgumentException iae = expectThrows( IllegalArgumentException iae = expectThrows(
IllegalArgumentException.class, IllegalArgumentException.class,
indicesAdmin().prepareAliases().addAliasAction(AliasActions.remove().index("foo").alias("foo")) indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.remove().index("foo").alias("foo"))
); );
assertEquals( assertEquals(
"The provided expression [foo] matches an alias, specify the corresponding concrete indices instead.", "The provided expression [foo] matches an alias, specify the corresponding concrete indices instead.",
@ -648,7 +756,10 @@ public class IndexAliasesIT extends ESIntegTestCase {
for (int i = 0; i < 10; i++) { for (int i = 0; i < 10; i++) {
final String aliasName = "alias" + i; final String aliasName = "alias" + i;
assertAliasesVersionIncreases("test", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test", aliasName))); assertAliasesVersionIncreases(
"test",
() -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", aliasName))
);
client().index(new IndexRequest(aliasName).id("1").source(source("1", "test"), XContentType.JSON)).get(); client().index(new IndexRequest(aliasName).id("1").source(source("1", "test"), XContentType.JSON)).get();
} }
} }
@ -661,7 +772,10 @@ public class IndexAliasesIT extends ESIntegTestCase {
for (int i = 0; i < 10; i++) { for (int i = 0; i < 10; i++) {
final String aliasName = "alias" + i; final String aliasName = "alias" + i;
assertAliasesVersionIncreases("test", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test", aliasName))); assertAliasesVersionIncreases(
"test",
() -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", aliasName))
);
client().index(new IndexRequest(aliasName).id("1").source(source("1", "test"), XContentType.JSON)).get(); client().index(new IndexRequest(aliasName).id("1").source(source("1", "test"), XContentType.JSON)).get();
} }
} }
@ -680,7 +794,12 @@ public class IndexAliasesIT extends ESIntegTestCase {
executor.submit(new Runnable() { executor.submit(new Runnable() {
@Override @Override
public void run() { public void run() {
assertAliasesVersionIncreases("test", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test", aliasName))); assertAliasesVersionIncreases(
"test",
() -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", aliasName)
)
);
client().index(new IndexRequest(aliasName).id("1").source(source("1", "test"), XContentType.JSON)).actionGet(); client().index(new IndexRequest(aliasName).id("1").source(source("1", "test"), XContentType.JSON)).actionGet();
} }
}); });
@ -699,14 +818,19 @@ public class IndexAliasesIT extends ESIntegTestCase {
ensureGreen(); ensureGreen();
logger.info("--> creating alias1 "); logger.info("--> creating alias1 ");
assertAliasesVersionIncreases("test", () -> assertAcked((indicesAdmin().prepareAliases().addAlias("test", "alias1")))); assertAliasesVersionIncreases(
"test",
() -> assertAcked((indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "alias1")))
);
TimeValue timeout = TimeValue.timeValueSeconds(2); TimeValue timeout = TimeValue.timeValueSeconds(2);
logger.info("--> recreating alias1 "); logger.info("--> recreating alias1 ");
StopWatch stopWatch = new StopWatch(); StopWatch stopWatch = new StopWatch();
stopWatch.start(); stopWatch.start();
assertAliasesVersionUnchanged( assertAliasesVersionUnchanged(
"test", "test",
() -> assertAcked((indicesAdmin().prepareAliases().addAlias("test", "alias1").setTimeout(timeout))) () -> assertAcked(
(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "alias1").setTimeout(timeout))
)
); );
assertThat(stopWatch.stop().lastTaskTime().millis(), lessThan(timeout.millis())); assertThat(stopWatch.stop().lastTaskTime().millis(), lessThan(timeout.millis()));
@ -715,7 +839,11 @@ public class IndexAliasesIT extends ESIntegTestCase {
final TermQueryBuilder fooFilter = termQuery("name", "foo"); final TermQueryBuilder fooFilter = termQuery("name", "foo");
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test", "test",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test", "alias1", fooFilter).setTimeout(timeout)) () -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test", "alias1", fooFilter)
.setTimeout(timeout)
)
); );
assertThat(stopWatch.stop().lastTaskTime().millis(), lessThan(timeout.millis())); assertThat(stopWatch.stop().lastTaskTime().millis(), lessThan(timeout.millis()));
@ -723,7 +851,11 @@ public class IndexAliasesIT extends ESIntegTestCase {
stopWatch.start(); stopWatch.start();
assertAliasesVersionUnchanged( assertAliasesVersionUnchanged(
"test", "test",
() -> assertAcked((indicesAdmin().prepareAliases().addAlias("test", "alias1", fooFilter).setTimeout(timeout))) () -> assertAcked(
(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test", "alias1", fooFilter)
.setTimeout(timeout))
)
); );
assertThat(stopWatch.stop().lastTaskTime().millis(), lessThan(timeout.millis())); assertThat(stopWatch.stop().lastTaskTime().millis(), lessThan(timeout.millis()));
@ -732,7 +864,11 @@ public class IndexAliasesIT extends ESIntegTestCase {
final TermQueryBuilder barFilter = termQuery("name", "bar"); final TermQueryBuilder barFilter = termQuery("name", "bar");
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test", "test",
() -> assertAcked((indicesAdmin().prepareAliases().addAlias("test", "alias1", barFilter).setTimeout(timeout))) () -> assertAcked(
(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test", "alias1", barFilter)
.setTimeout(timeout))
)
); );
assertThat(stopWatch.stop().lastTaskTime().millis(), lessThan(timeout.millis())); assertThat(stopWatch.stop().lastTaskTime().millis(), lessThan(timeout.millis()));
@ -747,7 +883,11 @@ public class IndexAliasesIT extends ESIntegTestCase {
stopWatch.start(); stopWatch.start();
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test", "test",
() -> assertAcked((indicesAdmin().prepareAliases().removeAlias("test", "alias1").setTimeout(timeout))) () -> assertAcked(
(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.removeAlias("test", "alias1")
.setTimeout(timeout))
)
); );
assertThat(stopWatch.stop().lastTaskTime().millis(), lessThan(timeout.millis())); assertThat(stopWatch.stop().lastTaskTime().millis(), lessThan(timeout.millis()));
} }
@ -758,7 +898,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
ensureGreen(); ensureGreen();
logger.info("--> deleting alias1 which does not exist"); logger.info("--> deleting alias1 which does not exist");
try { try {
indicesAdmin().prepareAliases().removeAlias("test", "alias1").get(); indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test", "alias1").get();
fail("Expected AliasesNotFoundException"); fail("Expected AliasesNotFoundException");
} catch (AliasesNotFoundException e) { } catch (AliasesNotFoundException e) {
assertThat(e.getMessage(), containsString("[alias1] missing")); assertThat(e.getMessage(), containsString("[alias1] missing"));
@ -779,7 +919,11 @@ public class IndexAliasesIT extends ESIntegTestCase {
logger.info("--> creating aliases [alias1, alias2]"); logger.info("--> creating aliases [alias1, alias2]");
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"foobar", "foobar",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("foobar", "alias1").addAlias("foobar", "alias2")) () -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("foobar", "alias1")
.addAlias("foobar", "alias2")
)
); );
logger.info("--> getting alias1"); logger.info("--> getting alias1");
@ -815,7 +959,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
new String[] { "bazbar", "foobar" }, new String[] { "bazbar", "foobar" },
() -> assertAcked( () -> assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("bazbar", "bar") .addAlias("bazbar", "bar")
.addAlias("bazbar", "bac", termQuery("field", "value")) .addAlias("bazbar", "bac", termQuery("field", "value"))
.addAlias("foobar", "foo") .addAlias("foobar", "foo")
@ -825,7 +969,8 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"foobar", "foobar",
() -> assertAcked( () -> assertAcked(
indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index("foobar").alias("bac").routing("bla")) indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("foobar").alias("bac").routing("bla"))
) )
); );
@ -952,7 +1097,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertThat(getResponse.getAliases().get("bazbar").size(), equalTo(2)); assertThat(getResponse.getAliases().get("bazbar").size(), equalTo(2));
assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "*").setIndices("*bac").get().getAliases().isEmpty()); assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "*").setIndices("*bac").get().getAliases().isEmpty());
assertAcked(indicesAdmin().prepareAliases().removeAlias("foobar", "foo")); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("foobar", "foo"));
getResponse = indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foo").setIndices("foobar").get(); getResponse = indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foo").setIndices("foobar").get();
for (final Map.Entry<String, List<AliasMetadata>> entry : getResponse.getAliases().entrySet()) { for (final Map.Entry<String, List<AliasMetadata>> entry : getResponse.getAliases().entrySet()) {
@ -967,7 +1112,11 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
new String[] { "index1", "index2" }, new String[] { "index1", "index2" },
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("index1", "alias1").addAlias("index2", "alias2")) () -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("index1", "alias1")
.addAlias("index2", "alias2")
)
); );
GetAliasesResponse response = indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT).get(); GetAliasesResponse response = indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT).get();
@ -1041,17 +1190,21 @@ public class IndexAliasesIT extends ESIntegTestCase {
ensureGreen(); ensureGreen();
logger.info("--> adding [week_20] alias to [2017-05-20]"); logger.info("--> adding [week_20] alias to [2017-05-20]");
assertAcked(indicesAdmin().prepareAliases().addAlias("2017-05-20", "week_20")); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("2017-05-20", "week_20"));
IllegalArgumentException iae = expectThrows( IllegalArgumentException iae = expectThrows(
IllegalArgumentException.class, IllegalArgumentException.class,
indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index("week_20").alias("tmp")) indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("week_20").alias("tmp"))
); );
assertEquals( assertEquals(
"The provided expression [week_20] matches an alias, specify the corresponding concrete indices instead.", "The provided expression [week_20] matches an alias, specify the corresponding concrete indices instead.",
iae.getMessage() iae.getMessage()
); );
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index("2017-05-20").alias("tmp"))); assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("2017-05-20").alias("tmp"))
);
} }
// Before 2.0 alias filters were parsed at alias creation time, in order // Before 2.0 alias filters were parsed at alias creation time, in order
@ -1063,15 +1216,21 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAcked(prepareCreate("test")); assertAcked(prepareCreate("test"));
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test", "test",
() -> indicesAdmin().prepareAliases().addAlias("test", "a", QueryBuilders.termQuery("field1", "term")).get() () -> indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test", "a", QueryBuilders.termQuery("field1", "term"))
.get()
); );
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test", "test",
() -> indicesAdmin().prepareAliases().addAlias("test", "a", QueryBuilders.rangeQuery("field2").from(0).to(1)).get() () -> indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test", "a", QueryBuilders.rangeQuery("field2").from(0).to(1))
.get()
); );
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test", "test",
() -> indicesAdmin().prepareAliases().addAlias("test", "a", QueryBuilders.matchAllQuery()).get() () -> indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test", "a", QueryBuilders.matchAllQuery())
.get()
); );
} }
@ -1080,13 +1239,15 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"my-index", "my-index",
() -> assertAcked( () -> assertAcked(
indicesAdmin().prepareAliases().addAlias("my-index", "filter1", rangeQuery("timestamp").from("2016-12-01").to("2016-12-31")) indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("my-index", "filter1", rangeQuery("timestamp").from("2016-12-01").to("2016-12-31"))
) )
); );
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"my-index", "my-index",
() -> assertAcked( () -> assertAcked(
indicesAdmin().prepareAliases().addAlias("my-index", "filter2", rangeQuery("timestamp").from("2016-01-01").to("2016-12-31")) indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("my-index", "filter2", rangeQuery("timestamp").from("2016-01-01").to("2016-12-31"))
) )
); );
@ -1111,9 +1272,18 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test", "test",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test", "alias1").addAlias("test", "alias2")) () -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test", "alias1")
.addAlias("test", "alias2")
)
);
assertAliasesVersionIncreases(
"test",
() -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test", "alias1")
)
); );
assertAliasesVersionIncreases("test", () -> assertAcked(indicesAdmin().prepareAliases().removeAlias("test", "alias1")));
assertThat( assertThat(
indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "alias2").get().getAliases().get("test").size(), indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "alias2").get().getAliases().get("test").size(),
equalTo(1) equalTo(1)
@ -1129,11 +1299,17 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionUnchanged( assertAliasesVersionUnchanged(
"test", "test",
() -> assertBlocked(indicesAdmin().prepareAliases().addAlias("test", "alias3"), INDEX_READ_ONLY_BLOCK) () -> assertBlocked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "alias3"),
INDEX_READ_ONLY_BLOCK
)
); );
assertAliasesVersionUnchanged( assertAliasesVersionUnchanged(
"test", "test",
() -> assertBlocked(indicesAdmin().prepareAliases().removeAlias("test", "alias2"), INDEX_READ_ONLY_BLOCK) () -> assertBlocked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test", "alias2"),
INDEX_READ_ONLY_BLOCK
)
); );
assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "alias2").get().getAliases().get("test").size(), equalTo(1)); assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "alias2").get().getAliases().get("test").size(), equalTo(1));
assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "alias2").get().getAliases().isEmpty()); assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "alias2").get().getAliases().isEmpty());
@ -1147,11 +1323,17 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionUnchanged( assertAliasesVersionUnchanged(
"test", "test",
() -> assertBlocked(indicesAdmin().prepareAliases().addAlias("test", "alias3"), INDEX_METADATA_BLOCK) () -> assertBlocked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "alias3"),
INDEX_METADATA_BLOCK
)
); );
assertAliasesVersionUnchanged( assertAliasesVersionUnchanged(
"test", "test",
() -> assertBlocked(indicesAdmin().prepareAliases().removeAlias("test", "alias2"), INDEX_METADATA_BLOCK) () -> assertBlocked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test", "alias2"),
INDEX_METADATA_BLOCK
)
); );
assertBlocked(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "alias2"), INDEX_METADATA_BLOCK); assertBlocked(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "alias2"), INDEX_METADATA_BLOCK);
assertBlocked(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "alias2"), INDEX_METADATA_BLOCK); assertBlocked(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "alias2"), INDEX_METADATA_BLOCK);
@ -1166,24 +1348,27 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
new String[] { "foo_foo", "bar_bar" }, new String[] { "foo_foo", "bar_bar" },
() -> assertAcked( () -> assertAcked(
indicesAdmin().prepareAliases().addAlias("bar_bar", "foo"), indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("bar_bar", "foo"),
indicesAdmin().prepareAliases().addAlias("foo_foo", "foo") indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("foo_foo", "foo")
) )
); );
IllegalArgumentException iae = expectThrows(IllegalArgumentException.class, indicesAdmin().prepareAliases().removeIndex("foo")); IllegalArgumentException iae = expectThrows(
IllegalArgumentException.class,
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeIndex("foo")
);
assertEquals( assertEquals(
"The provided expression [foo] matches an alias, specify the corresponding concrete indices instead.", "The provided expression [foo] matches an alias, specify the corresponding concrete indices instead.",
iae.getMessage() iae.getMessage()
); );
assertAcked(indicesAdmin().prepareAliases().removeIndex("foo*")); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeIndex("foo*"));
assertFalse(indexExists("foo_foo")); assertFalse(indexExists("foo_foo"));
assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foo").get().getAliases().isEmpty()); assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foo").get().getAliases().isEmpty());
assertTrue(indexExists("bar_bar")); assertTrue(indexExists("bar_bar"));
assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foo").setIndices("bar_bar").get().getAliases().isEmpty()); assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foo").setIndices("bar_bar").get().getAliases().isEmpty());
assertAcked(indicesAdmin().prepareAliases().removeIndex("bar_bar")); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeIndex("bar_bar"));
assertTrue(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foo").get().getAliases().isEmpty()); assertTrue(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foo").get().getAliases().isEmpty());
assertFalse(indexExists("bar_bar")); assertFalse(indexExists("bar_bar"));
} }
@ -1193,7 +1378,9 @@ public class IndexAliasesIT extends ESIntegTestCase {
indexRandom(true, prepareIndex("test_2").setId("test").setSource("test", "test")); indexRandom(true, prepareIndex("test_2").setId("test").setSource("test", "test"));
assertAliasesVersionIncreases( assertAliasesVersionIncreases(
"test_2", "test_2",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test_2", "test").removeIndex("test")) () -> assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_2", "test").removeIndex("test")
)
); );
assertHitCount(prepareSearch("test"), 1); assertHitCount(prepareSearch("test"), 1);
} }
@ -1204,56 +1391,93 @@ public class IndexAliasesIT extends ESIntegTestCase {
final String alias = randomAlphaOfLength(7).toLowerCase(Locale.ROOT); final String alias = randomAlphaOfLength(7).toLowerCase(Locale.ROOT);
createIndex(index1, index2); createIndex(index1, index2);
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index1).alias(alias))); assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(index1).alias(alias))
);
IllegalStateException ex = expectThrows( IllegalStateException ex = expectThrows(
IllegalStateException.class, IllegalStateException.class,
indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(true)) indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(true))
); );
logger.error("exception: {}", ex.getMessage()); logger.error("exception: {}", ex.getMessage());
assertThat(ex.getMessage(), containsString("has is_hidden set to true on indices")); assertThat(ex.getMessage(), containsString("has is_hidden set to true on indices"));
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.remove().index(index1).alias(alias))); assertAcked(
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index1).alias(alias).isHidden(false))); indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.remove().index(index1).alias(alias))
);
assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(index1).alias(alias).isHidden(false))
);
expectThrows( expectThrows(
IllegalStateException.class, IllegalStateException.class,
indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(true)) indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(true))
); );
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.remove().index(index1).alias(alias))); assertAcked(
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index1).alias(alias).isHidden(true))); indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
expectThrows( .addAliasAction(AliasActions.remove().index(index1).alias(alias))
IllegalStateException.class, );
indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(false)) assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(index1).alias(alias).isHidden(true))
); );
expectThrows( expectThrows(
IllegalStateException.class, IllegalStateException.class,
indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index2).alias(alias)) indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(false))
);
expectThrows(
IllegalStateException.class,
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(index2).alias(alias))
); );
// Both visible // Both visible
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.remove().index(index1).alias(alias))); assertAcked(
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index1).alias(alias).isHidden(false))); indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(false))); .addAliasAction(AliasActions.remove().index(index1).alias(alias))
);
assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(index1).alias(alias).isHidden(false))
);
assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(false))
);
// Both hidden // Both hidden
assertAcked( assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.remove().index(index1).alias(alias)) .addAliasAction(AliasActions.remove().index(index1).alias(alias))
.addAliasAction(AliasActions.remove().index(index2).alias(alias)) .addAliasAction(AliasActions.remove().index(index2).alias(alias))
); );
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index1).alias(alias).isHidden(true))); assertAcked(
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(true))); indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(index1).alias(alias).isHidden(true))
);
assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(true))
);
// Visible on one, then update it to hidden & add to a second as hidden simultaneously // Visible on one, then update it to hidden & add to a second as hidden simultaneously
assertAcked( assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.remove().index(index1).alias(alias)) .addAliasAction(AliasActions.remove().index(index1).alias(alias))
.addAliasAction(AliasActions.remove().index(index2).alias(alias)) .addAliasAction(AliasActions.remove().index(index2).alias(alias))
); );
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(false)));
assertAcked( assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(false))
);
assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(index1).alias(alias).isHidden(true)) .addAliasAction(AliasActions.add().index(index1).alias(alias).isHidden(true))
.addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(true)) .addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(true))
); );
@ -1266,7 +1490,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
createIndex(writeIndex, nonWriteIndex); createIndex(writeIndex, nonWriteIndex);
assertAcked( assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(writeIndex).alias(alias).isHidden(true).writeIndex(true)) .addAliasAction(AliasActions.add().index(writeIndex).alias(alias).isHidden(true).writeIndex(true))
.addAliasAction(AliasActions.add().index(nonWriteIndex).alias(alias).isHidden(true)) .addAliasAction(AliasActions.add().index(nonWriteIndex).alias(alias).isHidden(true))
); );

View file

@ -38,7 +38,10 @@ public class SystemIndexAliasIT extends ESIntegTestCase {
public void testCreateAliasForSystemIndex() throws Exception { public void testCreateAliasForSystemIndex() throws Exception {
createIndex(PRIMARY_INDEX_NAME); createIndex(PRIMARY_INDEX_NAME);
ensureGreen(); ensureGreen();
assertAcked(indicesAdmin().prepareAliases().addAlias(PRIMARY_INDEX_NAME, INDEX_NAME + "-system-alias")); assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias(PRIMARY_INDEX_NAME, INDEX_NAME + "-system-alias")
);
final GetAliasesResponse getAliasesResponse = indicesAdmin().getAliases( final GetAliasesResponse getAliasesResponse = indicesAdmin().getAliases(
new GetAliasesRequest(TEST_REQUEST_TIMEOUT).indicesOptions(IndicesOptions.strictExpandHidden()) new GetAliasesRequest(TEST_REQUEST_TIMEOUT).indicesOptions(IndicesOptions.strictExpandHidden())

View file

@ -281,7 +281,7 @@ public class SpecificMasterNodesIT extends ESIntegTestCase {
} }
} }
}""")); }"""));
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias( .addAlias(
"test", "test",
"a_test", "a_test",

View file

@ -84,7 +84,7 @@ public class ClusterSearchShardsIT extends ESIntegTestCase {
public void testMultipleIndicesAllocation() { public void testMultipleIndicesAllocation() {
createIndex("test1", 4, 1); createIndex("test1", 4, 1);
createIndex("test2", 4, 1); createIndex("test2", 4, 1);
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("test1").alias("routing_alias").routing("ABC")) .addAliasAction(AliasActions.add().index("test1").alias("routing_alias").routing("ABC"))
.addAliasAction(AliasActions.add().index("test2").alias("routing_alias").routing("EFG")) .addAliasAction(AliasActions.add().index("test2").alias("routing_alias").routing("EFG"))
.get(); .get();

View file

@ -407,7 +407,9 @@ public class RecoveryFromGatewayIT extends ESIntegTestCase {
.endObject() .endObject()
) )
.get(); .get();
indicesAdmin().prepareAliases().addAlias("test", "test_alias", QueryBuilders.termQuery("field", "value")).get(); indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test", "test_alias", QueryBuilders.termQuery("field", "value"))
.get();
logger.info("--> stopping the second node"); logger.info("--> stopping the second node");
internalCluster().stopRandomDataNode(); internalCluster().stopRandomDataNode();

View file

@ -146,7 +146,8 @@ public class HiddenIndexIT extends ESIntegTestCase {
assertAcked(indicesAdmin().prepareCreate(hiddenIndex).setSettings(Settings.builder().put("index.hidden", true).build()).get()); assertAcked(indicesAdmin().prepareCreate(hiddenIndex).setSettings(Settings.builder().put("index.hidden", true).build()).get());
assertAcked( assertAcked(
indicesAdmin().prepareAliases().addAliasAction(IndicesAliasesRequest.AliasActions.add().index(hiddenIndex).alias(visibleAlias)) indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(hiddenIndex).alias(visibleAlias))
); );
// The index should be returned here when queried by name or by wildcard because the alias is visible // The index should be returned here when queried by name or by wildcard because the alias is visible
@ -163,7 +164,7 @@ public class HiddenIndexIT extends ESIntegTestCase {
// Now try with a hidden alias // Now try with a hidden alias
assertAcked( assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(hiddenIndex).alias(visibleAlias)) .addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(hiddenIndex).alias(visibleAlias))
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(hiddenIndex).alias(hiddenAlias).isHidden(true)) .addAliasAction(IndicesAliasesRequest.AliasActions.add().index(hiddenIndex).alias(hiddenAlias).isHidden(true))
); );
@ -188,7 +189,7 @@ public class HiddenIndexIT extends ESIntegTestCase {
// Now try with a hidden alias that starts with a dot // Now try with a hidden alias that starts with a dot
assertAcked( assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(hiddenIndex).alias(hiddenAlias)) .addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(hiddenIndex).alias(hiddenAlias))
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(hiddenIndex).alias(dotHiddenAlias).isHidden(true)) .addAliasAction(IndicesAliasesRequest.AliasActions.add().index(hiddenIndex).alias(dotHiddenAlias).isHidden(true))
); );

View file

@ -496,7 +496,7 @@ public class IndicesOptionsIntegrationIT extends ESIntegTestCase {
public void testPutAlias() throws Exception { public void testPutAlias() throws Exception {
createIndex("foobar"); createIndex("foobar");
verify(indicesAdmin().prepareAliases().addAlias("foobar", "foobar_alias"), false); verify(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("foobar", "foobar_alias"), false);
assertFalse( assertFalse(
indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foobar_alias").setIndices("foobar").get().getAliases().isEmpty() indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foobar_alias").setIndices("foobar").get().getAliases().isEmpty()
); );
@ -506,7 +506,7 @@ public class IndicesOptionsIntegrationIT extends ESIntegTestCase {
public void testPutAliasWildcard() throws Exception { public void testPutAliasWildcard() throws Exception {
createIndex("foo", "foobar", "bar", "barbaz"); createIndex("foo", "foobar", "bar", "barbaz");
verify(indicesAdmin().prepareAliases().addAlias("foo*", "foobar_alias"), false); verify(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("foo*", "foobar_alias"), false);
assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foobar_alias").setIndices("foo").get().getAliases().isEmpty()); assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foobar_alias").setIndices("foo").get().getAliases().isEmpty());
assertFalse( assertFalse(
indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foobar_alias").setIndices("foobar").get().getAliases().isEmpty() indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foobar_alias").setIndices("foobar").get().getAliases().isEmpty()
@ -516,7 +516,7 @@ public class IndicesOptionsIntegrationIT extends ESIntegTestCase {
indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foobar_alias").setIndices("barbaz").get().getAliases().isEmpty() indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foobar_alias").setIndices("barbaz").get().getAliases().isEmpty()
); );
verify(indicesAdmin().prepareAliases().addAlias("*", "foobar_alias"), false); verify(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("*", "foobar_alias"), false);
assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foobar_alias").setIndices("foo").get().getAliases().isEmpty()); assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foobar_alias").setIndices("foo").get().getAliases().isEmpty());
assertFalse( assertFalse(
indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foobar_alias").setIndices("foobar").get().getAliases().isEmpty() indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foobar_alias").setIndices("foobar").get().getAliases().isEmpty()

View file

@ -745,7 +745,7 @@ public class ResolveClusterIT extends AbstractMultiClustersTestCase {
IndicesAliasesRequest.AliasActions addAction = new IndicesAliasesRequest.AliasActions( IndicesAliasesRequest.AliasActions addAction = new IndicesAliasesRequest.AliasActions(
IndicesAliasesRequest.AliasActions.Type.ADD IndicesAliasesRequest.AliasActions.Type.ADD
).index(localIndex).aliases(localAlias); ).index(localIndex).aliases(localAlias);
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction); aliasesAddRequest.addAliasAction(addAction);
assertAcked(client(LOCAL_CLUSTER).admin().indices().aliases(aliasesAddRequest)); assertAcked(client(LOCAL_CLUSTER).admin().indices().aliases(aliasesAddRequest));
@ -773,7 +773,7 @@ public class ResolveClusterIT extends AbstractMultiClustersTestCase {
IndicesAliasesRequest.AliasActions addAction = new IndicesAliasesRequest.AliasActions( IndicesAliasesRequest.AliasActions addAction = new IndicesAliasesRequest.AliasActions(
IndicesAliasesRequest.AliasActions.Type.ADD IndicesAliasesRequest.AliasActions.Type.ADD
).index(remoteIndex1).aliases(remoteAlias1); ).index(remoteIndex1).aliases(remoteAlias1);
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction); aliasesAddRequest.addAliasAction(addAction);
assertAcked(client(REMOTE_CLUSTER_1).admin().indices().aliases(aliasesAddRequest)); assertAcked(client(REMOTE_CLUSTER_1).admin().indices().aliases(aliasesAddRequest));
@ -811,7 +811,7 @@ public class ResolveClusterIT extends AbstractMultiClustersTestCase {
IndicesAliasesRequest.AliasActions addAction = new IndicesAliasesRequest.AliasActions( IndicesAliasesRequest.AliasActions addAction = new IndicesAliasesRequest.AliasActions(
IndicesAliasesRequest.AliasActions.Type.ADD IndicesAliasesRequest.AliasActions.Type.ADD
).index(remoteIndex2).aliases(remoteAlias2); ).index(remoteIndex2).aliases(remoteAlias2);
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction); aliasesAddRequest.addAliasAction(addAction);
assertAcked(client(REMOTE_CLUSTER_2).admin().indices().aliases(aliasesAddRequest)); assertAcked(client(REMOTE_CLUSTER_2).admin().indices().aliases(aliasesAddRequest));

View file

@ -192,7 +192,11 @@ public class OpenCloseIndexIT extends ESIntegTestCase {
ClusterHealthResponse healthResponse = client.admin().cluster().prepareHealth(TEST_REQUEST_TIMEOUT).setWaitForGreenStatus().get(); ClusterHealthResponse healthResponse = client.admin().cluster().prepareHealth(TEST_REQUEST_TIMEOUT).setWaitForGreenStatus().get();
assertThat(healthResponse.isTimedOut(), equalTo(false)); assertThat(healthResponse.isTimedOut(), equalTo(false));
AcknowledgedResponse aliasesResponse = client.admin().indices().prepareAliases().addAlias("test1", "test1-alias").get(); AcknowledgedResponse aliasesResponse = client.admin()
.indices()
.prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test1", "test1-alias")
.get();
assertThat(aliasesResponse.isAcknowledged(), equalTo(true)); assertThat(aliasesResponse.isAcknowledged(), equalTo(true));
AcknowledgedResponse closeIndexResponse = client.admin().indices().prepareClose("test1-alias").get(); AcknowledgedResponse closeIndexResponse = client.admin().indices().prepareClose("test1-alias").get();
@ -211,9 +215,17 @@ public class OpenCloseIndexIT extends ESIntegTestCase {
ClusterHealthResponse healthResponse = client.admin().cluster().prepareHealth(TEST_REQUEST_TIMEOUT).setWaitForGreenStatus().get(); ClusterHealthResponse healthResponse = client.admin().cluster().prepareHealth(TEST_REQUEST_TIMEOUT).setWaitForGreenStatus().get();
assertThat(healthResponse.isTimedOut(), equalTo(false)); assertThat(healthResponse.isTimedOut(), equalTo(false));
AcknowledgedResponse aliasesResponse1 = client.admin().indices().prepareAliases().addAlias("test1", "test-alias").get(); AcknowledgedResponse aliasesResponse1 = client.admin()
.indices()
.prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test1", "test-alias")
.get();
assertThat(aliasesResponse1.isAcknowledged(), equalTo(true)); assertThat(aliasesResponse1.isAcknowledged(), equalTo(true));
AcknowledgedResponse aliasesResponse2 = client.admin().indices().prepareAliases().addAlias("test2", "test-alias").get(); AcknowledgedResponse aliasesResponse2 = client.admin()
.indices()
.prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test2", "test-alias")
.get();
assertThat(aliasesResponse2.isAcknowledged(), equalTo(true)); assertThat(aliasesResponse2.isAcknowledged(), equalTo(true));
AcknowledgedResponse closeIndexResponse = client.admin().indices().prepareClose("test-alias").get(); AcknowledgedResponse closeIndexResponse = client.admin().indices().prepareClose("test-alias").get();

View file

@ -34,7 +34,10 @@ public class AliasResolveRoutingIT extends ESIntegTestCase {
createIndex("test-0"); createIndex("test-0");
createIndex("test-1"); createIndex("test-1");
ensureGreen(); ensureGreen();
indicesAdmin().prepareAliases().addAlias("test-0", "alias-0").addAlias("test-1", "alias-1").get(); indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test-0", "alias-0")
.addAlias("test-1", "alias-1")
.get();
indicesAdmin().prepareClose("test-1").get(); indicesAdmin().prepareClose("test-1").get();
indexRandom( indexRandom(
true, true,
@ -54,7 +57,7 @@ public class AliasResolveRoutingIT extends ESIntegTestCase {
createIndex("test2"); createIndex("test2");
clusterAdmin().prepareHealth(TEST_REQUEST_TIMEOUT).setWaitForEvents(Priority.LANGUID).setWaitForGreenStatus().get(); clusterAdmin().prepareHealth(TEST_REQUEST_TIMEOUT).setWaitForEvents(Priority.LANGUID).setWaitForGreenStatus().get();
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("test1").alias("alias")) .addAliasAction(AliasActions.add().index("test1").alias("alias"))
.addAliasAction(AliasActions.add().index("test1").alias("alias10").routing("0")) .addAliasAction(AliasActions.add().index("test1").alias("alias10").routing("0"))
.addAliasAction(AliasActions.add().index("test1").alias("alias110").searchRouting("1,0")) .addAliasAction(AliasActions.add().index("test1").alias("alias110").searchRouting("1,0"))
@ -96,7 +99,7 @@ public class AliasResolveRoutingIT extends ESIntegTestCase {
createIndex("test3"); createIndex("test3");
clusterAdmin().prepareHealth(TEST_REQUEST_TIMEOUT).setWaitForEvents(Priority.LANGUID).setWaitForGreenStatus().get(); clusterAdmin().prepareHealth(TEST_REQUEST_TIMEOUT).setWaitForEvents(Priority.LANGUID).setWaitForGreenStatus().get();
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("test1").alias("alias")) .addAliasAction(AliasActions.add().index("test1").alias("alias"))
.addAliasAction(AliasActions.add().index("test1").alias("alias10").routing("0")) .addAliasAction(AliasActions.add().index("test1").alias("alias10").routing("0"))
.addAliasAction(AliasActions.add().index("test2").alias("alias20").routing("0")) .addAliasAction(AliasActions.add().index("test2").alias("alias20").routing("0"))

View file

@ -37,7 +37,10 @@ public class AliasRoutingIT extends ESIntegTestCase {
public void testAliasCrudRouting() throws Exception { public void testAliasCrudRouting() throws Exception {
createIndex("test"); createIndex("test");
ensureGreen(); ensureGreen();
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index("test").alias("alias0").routing("0"))); assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("test").alias("alias0").routing("0"))
);
logger.info("--> indexing with id [1], and routing [0] using alias"); logger.info("--> indexing with id [1], and routing [0] using alias");
prepareIndex("alias0").setId("1").setSource("field", "value1").setRefreshPolicy(RefreshPolicy.IMMEDIATE).get(); prepareIndex("alias0").setId("1").setSource("field", "value1").setRefreshPolicy(RefreshPolicy.IMMEDIATE).get();
@ -98,7 +101,7 @@ public class AliasRoutingIT extends ESIntegTestCase {
createIndex("test"); createIndex("test");
ensureGreen(); ensureGreen();
assertAcked( assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("test").alias("alias")) .addAliasAction(AliasActions.add().index("test").alias("alias"))
.addAliasAction(AliasActions.add().index("test").alias("alias0").routing("0")) .addAliasAction(AliasActions.add().index("test").alias("alias0").routing("0"))
.addAliasAction(AliasActions.add().index("test").alias("alias1").routing("1")) .addAliasAction(AliasActions.add().index("test").alias("alias1").routing("1"))
@ -230,7 +233,7 @@ public class AliasRoutingIT extends ESIntegTestCase {
createIndex("test-b"); createIndex("test-b");
ensureGreen(); ensureGreen();
assertAcked( assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("test-a").alias("alias-a0").routing("0")) .addAliasAction(AliasActions.add().index("test-a").alias("alias-a0").routing("0"))
.addAliasAction(AliasActions.add().index("test-a").alias("alias-a1").routing("1")) .addAliasAction(AliasActions.add().index("test-a").alias("alias-a1").routing("1"))
.addAliasAction(AliasActions.add().index("test-b").alias("alias-b0").routing("0")) .addAliasAction(AliasActions.add().index("test-b").alias("alias-b0").routing("0"))
@ -298,7 +301,10 @@ public class AliasRoutingIT extends ESIntegTestCase {
public void testAliasSearchRoutingWithConcreteAndAliasedIndices_issue2682() throws Exception { public void testAliasSearchRoutingWithConcreteAndAliasedIndices_issue2682() throws Exception {
createIndex("index", "index_2"); createIndex("index", "index_2");
ensureGreen(); ensureGreen();
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index("index").alias("index_1").routing("1"))); assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("index").alias("index_1").routing("1"))
);
logger.info("--> indexing on index_1 which is an alias for index with routing [1]"); logger.info("--> indexing on index_1 which is an alias for index with routing [1]");
prepareIndex("index_1").setId("1").setSource("field", "value1").setRefreshPolicy(RefreshPolicy.IMMEDIATE).get(); prepareIndex("index_1").setId("1").setSource("field", "value1").setRefreshPolicy(RefreshPolicy.IMMEDIATE).get();
@ -321,7 +327,10 @@ public class AliasRoutingIT extends ESIntegTestCase {
public void testAliasSearchRoutingWithConcreteAndAliasedIndices_issue3268() throws Exception { public void testAliasSearchRoutingWithConcreteAndAliasedIndices_issue3268() throws Exception {
createIndex("index", "index_2"); createIndex("index", "index_2");
ensureGreen(); ensureGreen();
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index("index").alias("index_1").routing("1"))); assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("index").alias("index_1").routing("1"))
);
logger.info("--> indexing on index_1 which is an alias for index with routing [1]"); logger.info("--> indexing on index_1 which is an alias for index with routing [1]");
prepareIndex("index_1").setId("1").setSource("field", "value1").setRefreshPolicy(RefreshPolicy.IMMEDIATE).get(); prepareIndex("index_1").setId("1").setSource("field", "value1").setRefreshPolicy(RefreshPolicy.IMMEDIATE).get();
@ -344,7 +353,10 @@ public class AliasRoutingIT extends ESIntegTestCase {
createIndex("test"); createIndex("test");
ensureGreen(); ensureGreen();
logger.info("--> creating alias with routing [3]"); logger.info("--> creating alias with routing [3]");
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index("test").alias("alias").routing("3"))); assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("test").alias("alias").routing("3"))
);
logger.info("--> indexing with id [0], and routing [3]"); logger.info("--> indexing with id [0], and routing [3]");
prepareIndex("alias").setId("0").setSource("field", "value1").setRefreshPolicy(RefreshPolicy.IMMEDIATE).get(); prepareIndex("alias").setId("0").setSource("field", "value1").setRefreshPolicy(RefreshPolicy.IMMEDIATE).get();
@ -361,7 +373,10 @@ public class AliasRoutingIT extends ESIntegTestCase {
} }
logger.info("--> creating alias with routing [4]"); logger.info("--> creating alias with routing [4]");
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index("test").alias("alias").routing("4"))); assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("test").alias("alias").routing("4"))
);
logger.info("--> verifying search with wrong routing should not find"); logger.info("--> verifying search with wrong routing should not find");
for (int i = 0; i < 5; i++) { for (int i = 0; i < 5; i++) {
@ -374,7 +389,7 @@ public class AliasRoutingIT extends ESIntegTestCase {
logger.info("--> creating alias with search routing [3,4] and index routing 4"); logger.info("--> creating alias with search routing [3,4] and index routing 4");
assertAcked( assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("test").alias("alias").searchRouting("3,4").indexRouting("4")) .addAliasAction(AliasActions.add().index("test").alias("alias").searchRouting("3,4").indexRouting("4"))
); );

View file

@ -133,7 +133,7 @@ public class QueryRewriteContextIT extends ESIntegTestCase {
final String[] indices = { "test1", "test2" }; final String[] indices = { "test1", "test2" };
createIndex(indices); createIndex(indices);
assertAcked(indicesAdmin().prepareAliases().addAlias(indices, "alias")); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(indices, "alias"));
assertResolvedIndices(prepareSearch(indices), Set.of(indices), Set.of(indices), r -> {}); assertResolvedIndices(prepareSearch(indices), Set.of(indices), Set.of(indices), r -> {});
assertResolvedIndices(prepareSearch("test*"), Set.of("test*"), Set.of(indices), r -> {}); assertResolvedIndices(prepareSearch("test*"), Set.of("test*"), Set.of(indices), r -> {});
assertResolvedIndices(prepareSearch("alias"), Set.of("alias"), Set.of(indices), r -> {}); assertResolvedIndices(prepareSearch("alias"), Set.of("alias"), Set.of(indices), r -> {});
@ -155,8 +155,8 @@ public class QueryRewriteContextIT extends ESIntegTestCase {
final String[] indices = { "test1", "test2" }; final String[] indices = { "test1", "test2" };
createIndex(indices); createIndex(indices);
assertAcked( assertAcked(
indicesAdmin().prepareAliases().addAlias("test1", "alias1"), indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test1", "alias1"),
indicesAdmin().prepareAliases().addAlias(indices, "alias2") indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(indices, "alias2")
); );
assertResolvedIndices(client().prepareExplain("test1", "1"), Set.of("test1"), Set.of("test1"), r -> {}); assertResolvedIndices(client().prepareExplain("test1", "1"), Set.of("test1"), Set.of("test1"), r -> {});
@ -167,7 +167,7 @@ public class QueryRewriteContextIT extends ESIntegTestCase {
public void testResolvedIndices_TransportValidateQueryAction() { public void testResolvedIndices_TransportValidateQueryAction() {
final String[] indices = { "test1", "test2" }; final String[] indices = { "test1", "test2" };
createIndex(indices); createIndex(indices);
assertAcked(indicesAdmin().prepareAliases().addAlias(indices, "alias")); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(indices, "alias"));
Consumer<ValidateQueryResponse> responseAssertions = r -> { Consumer<ValidateQueryResponse> responseAssertions = r -> {
assertThat(r.getStatus(), equalTo(RestStatus.OK)); assertThat(r.getStatus(), equalTo(RestStatus.OK));

View file

@ -3184,7 +3184,10 @@ public class HighlighterSearchIT extends ESIntegTestCase {
.endObject() .endObject()
.endObject(); .endObject();
assertAcked(prepareCreate("test").setMapping(mapping)); assertAcked(prepareCreate("test").setMapping(mapping));
assertAcked(indicesAdmin().prepareAliases().addAlias("test", "filtered_alias", matchQuery("foo", "japanese"))); assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test", "filtered_alias", matchQuery("foo", "japanese"))
);
ensureGreen(); ensureGreen();
indexRandom(true, prepareIndex("test").setSource("foo", "test japanese")); indexRandom(true, prepareIndex("test").setSource("foo", "test japanese"));

View file

@ -185,7 +185,7 @@ public class FieldCapabilitiesIT extends ESIntegTestCase {
.endObject() .endObject()
.endObject(); .endObject();
assertAcked(prepareCreate("new_index").setMapping(newIndexMapping)); assertAcked(prepareCreate("new_index").setMapping(newIndexMapping));
assertAcked(indicesAdmin().prepareAliases().addAlias("new_index", "current")); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("new_index", "current"));
} }
@Override @Override

View file

@ -51,7 +51,7 @@ public class FieldCapsHasValueTests extends ESIntegTestCase {
.setSettings(indexSettings()) .setSettings(indexSettings())
.setMapping("nested_type", "type=nested", "object.sub_field", "type=keyword,store=true") .setMapping("nested_type", "type=nested", "object.sub_field", "type=keyword,store=true")
); );
assertAcked(indicesAdmin().prepareAliases().addAlias(INDEX1, ALIAS1)); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(INDEX1, ALIAS1));
} }
public void testNoFieldsInEmptyIndex() { public void testNoFieldsInEmptyIndex() {

View file

@ -200,7 +200,7 @@ public class MoreLikeThisIT extends ESIntegTestCase {
) )
); );
logger.info("Creating aliases alias release"); logger.info("Creating aliases alias release");
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test", "release", termQuery("text", "release")) .addAlias("test", "release", termQuery("text", "release"))
.addAlias("test", "beta", termQuery("text", "beta")) .addAlias("test", "beta", termQuery("text", "beta"))
.get(); .get();
@ -265,7 +265,7 @@ public class MoreLikeThisIT extends ESIntegTestCase {
String aliasName = "foo_name"; String aliasName = "foo_name";
indicesAdmin().prepareCreate(indexName).get(); indicesAdmin().prepareCreate(indexName).get();
indicesAdmin().prepareAliases().addAlias(indexName, aliasName).get(); indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(indexName, aliasName).get();
assertThat(ensureGreen(), equalTo(ClusterHealthStatus.GREEN)); assertThat(ensureGreen(), equalTo(ClusterHealthStatus.GREEN));

View file

@ -345,7 +345,9 @@ public class SimpleNestedIT extends ESIntegTestCase {
) )
); );
indicesAdmin().prepareAliases().addAlias("test", "alias1", QueryBuilders.termQuery("field1", "value1")).get(); indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test", "alias1", QueryBuilders.termQuery("field1", "value1"))
.get();
ensureGreen(); ensureGreen();

View file

@ -140,7 +140,7 @@ public class SearchSliceIT extends ESIntegTestCase {
}); });
assertAcked( assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("test").alias("alias1").routing("foo")) .addAliasAction(IndicesAliasesRequest.AliasActions.add().index("test").alias("alias1").routing("foo"))
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("test").alias("alias2").routing("bar")) .addAliasAction(IndicesAliasesRequest.AliasActions.add().index("test").alias("alias2").routing("bar"))
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("test").alias("alias3").routing("baz")) .addAliasAction(IndicesAliasesRequest.AliasActions.add().index("test").alias("alias3").routing("baz"))

View file

@ -336,7 +336,7 @@ public class RestoreSnapshotIT extends AbstractSnapshotIntegTestCase {
logger.info("--> create aliases"); logger.info("--> create aliases");
assertAcked( assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test-idx-1", "alias-123") .addAlias("test-idx-1", "alias-123")
.addAlias("test-idx-2", "alias-123") .addAlias("test-idx-2", "alias-123")
.addAlias("test-idx-3", "alias-123") .addAlias("test-idx-3", "alias-123")
@ -369,8 +369,8 @@ public class RestoreSnapshotIT extends AbstractSnapshotIntegTestCase {
assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "alias-1").get().getAliases().isEmpty()); assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "alias-1").get().getAliases().isEmpty());
logger.info("--> update aliases"); logger.info("--> update aliases");
assertAcked(indicesAdmin().prepareAliases().removeAlias("test-idx-3", "alias-123")); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test-idx-3", "alias-123"));
assertAcked(indicesAdmin().prepareAliases().addAlias("test-idx-3", "alias-3")); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test-idx-3", "alias-3"));
logger.info("--> delete and close indices"); logger.info("--> delete and close indices");
cluster().wipeIndices("test-idx-1", "test-idx-2"); cluster().wipeIndices("test-idx-1", "test-idx-2");
@ -455,7 +455,7 @@ public class RestoreSnapshotIT extends AbstractSnapshotIntegTestCase {
assertAcked( assertAcked(
client.admin() client.admin()
.indices() .indices()
.prepareAliases() .prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test-idx-1", "alias-1", false) .addAlias("test-idx-1", "alias-1", false)
.addAlias("test-idx-2", "alias-2", false) .addAlias("test-idx-2", "alias-2", false)
.addAlias("test-idx-3", "alias-3", false) .addAlias("test-idx-3", "alias-3", false)

View file

@ -573,7 +573,12 @@ public class SystemIndicesSnapshotIT extends AbstractSnapshotIntegTestCase {
// And make sure they both have aliases // And make sure they both have aliases
final String systemIndexAlias = SystemIndexTestPlugin.SYSTEM_INDEX_NAME + "-alias"; final String systemIndexAlias = SystemIndexTestPlugin.SYSTEM_INDEX_NAME + "-alias";
assertAcked(indicesAdmin().prepareAliases().addAlias(systemIndexName, systemIndexAlias).addAlias(regularIndex, regularAlias).get()); assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias(systemIndexName, systemIndexAlias)
.addAlias(regularIndex, regularAlias)
.get()
);
// run a snapshot including global state // run a snapshot including global state
CreateSnapshotResponse createSnapshotResponse = clusterAdmin().prepareCreateSnapshot(TEST_REQUEST_TIMEOUT, REPO_NAME, "test-snap") CreateSnapshotResponse createSnapshotResponse = clusterAdmin().prepareCreateSnapshot(TEST_REQUEST_TIMEOUT, REPO_NAME, "test-snap")

View file

@ -22,6 +22,7 @@ import org.elasticsearch.common.bytes.BytesArray;
import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.io.stream.Writeable; import org.elasticsearch.common.io.stream.Writeable;
import org.elasticsearch.core.TimeValue;
import org.elasticsearch.index.query.QueryBuilder; import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.xcontent.ConstructingObjectParser; import org.elasticsearch.xcontent.ConstructingObjectParser;
import org.elasticsearch.xcontent.ObjectParser; import org.elasticsearch.xcontent.ObjectParser;
@ -85,8 +86,8 @@ public class IndicesAliasesRequest extends AcknowledgedRequest<IndicesAliasesReq
origin = in.readOptionalString(); origin = in.readOptionalString();
} }
public IndicesAliasesRequest() { public IndicesAliasesRequest(TimeValue masterNodeTimeout, TimeValue ackTimeout) {
super(TRAPPY_IMPLICIT_DEFAULT_MASTER_NODE_TIMEOUT, DEFAULT_ACK_TIMEOUT); super(masterNodeTimeout, ackTimeout);
} }
/** /**
@ -161,8 +162,8 @@ public class IndicesAliasesRequest extends AcknowledgedRequest<IndicesAliasesReq
return new AliasActions(AliasActions.Type.REMOVE_INDEX); return new AliasActions(AliasActions.Type.REMOVE_INDEX);
} }
private static ObjectParser<AliasActions, Void> parser(String name, Supplier<AliasActions> supplier) { private static ObjectParser<AliasActions, Factory> parser(String name, Supplier<AliasActions> supplier) {
ObjectParser<AliasActions, Void> parser = new ObjectParser<>(name, supplier); ObjectParser<AliasActions, Factory> parser = new ObjectParser<>(name, supplier);
parser.declareString((action, index) -> { parser.declareString((action, index) -> {
if (action.indices() != null) { if (action.indices() != null) {
throw new IllegalArgumentException("Only one of [index] and [indices] is supported"); throw new IllegalArgumentException("Only one of [index] and [indices] is supported");
@ -190,9 +191,9 @@ public class IndicesAliasesRequest extends AcknowledgedRequest<IndicesAliasesReq
return parser; return parser;
} }
private static final ObjectParser<AliasActions, Void> ADD_PARSER = parser(ADD.getPreferredName(), AliasActions::add); private static final ObjectParser<AliasActions, Factory> ADD_PARSER = parser(ADD.getPreferredName(), AliasActions::add);
private static final ObjectParser<AliasActions, Void> REMOVE_PARSER = parser(REMOVE.getPreferredName(), AliasActions::remove); private static final ObjectParser<AliasActions, Factory> REMOVE_PARSER = parser(REMOVE.getPreferredName(), AliasActions::remove);
private static final ObjectParser<AliasActions, Void> REMOVE_INDEX_PARSER = parser( private static final ObjectParser<AliasActions, Factory> REMOVE_INDEX_PARSER = parser(
REMOVE_INDEX.getPreferredName(), REMOVE_INDEX.getPreferredName(),
AliasActions::removeIndex AliasActions::removeIndex
); );
@ -216,7 +217,7 @@ public class IndicesAliasesRequest extends AcknowledgedRequest<IndicesAliasesReq
/** /**
* Parser for any one {@link AliasAction}. * Parser for any one {@link AliasAction}.
*/ */
public static final ConstructingObjectParser<AliasActions, Void> PARSER = new ConstructingObjectParser<>("alias_action", a -> { public static final ConstructingObjectParser<AliasActions, Factory> PARSER = new ConstructingObjectParser<>("alias_action", a -> {
// Take the first action and complain if there are more than one actions // Take the first action and complain if there are more than one actions
AliasActions action = null; AliasActions action = null;
for (Object o : a) { for (Object o : a) {
@ -690,7 +691,11 @@ public class IndicesAliasesRequest extends AcknowledgedRequest<IndicesAliasesReq
return builder; return builder;
} }
public static final ObjectParser<IndicesAliasesRequest, Void> PARSER = new ObjectParser<>("aliases", IndicesAliasesRequest::new); public interface Factory {
IndicesAliasesRequest create();
}
public static final ObjectParser<IndicesAliasesRequest, Factory> PARSER = ObjectParser.fromBuilder("aliases", Factory::create);
static { static {
PARSER.declareObjectArray((request, actions) -> { PARSER.declareObjectArray((request, actions) -> {
for (AliasActions action : actions) { for (AliasActions action : actions) {
@ -699,7 +704,7 @@ public class IndicesAliasesRequest extends AcknowledgedRequest<IndicesAliasesReq
}, AliasActions.PARSER, new ParseField("actions")); }, AliasActions.PARSER, new ParseField("actions"));
} }
public static IndicesAliasesRequest fromXContent(XContentParser parser) { public static IndicesAliasesRequest fromXContent(Factory factory, XContentParser parser) {
return PARSER.apply(parser, null); return PARSER.apply(parser, factory);
} }
} }

View file

@ -12,6 +12,7 @@ package org.elasticsearch.action.admin.indices.alias;
import org.elasticsearch.action.admin.indices.alias.IndicesAliasesRequest.AliasActions; import org.elasticsearch.action.admin.indices.alias.IndicesAliasesRequest.AliasActions;
import org.elasticsearch.action.support.master.AcknowledgedRequestBuilder; import org.elasticsearch.action.support.master.AcknowledgedRequestBuilder;
import org.elasticsearch.client.internal.ElasticsearchClient; import org.elasticsearch.client.internal.ElasticsearchClient;
import org.elasticsearch.core.TimeValue;
import org.elasticsearch.index.query.QueryBuilder; import org.elasticsearch.index.query.QueryBuilder;
import java.util.Map; import java.util.Map;
@ -24,8 +25,8 @@ public class IndicesAliasesRequestBuilder extends AcknowledgedRequestBuilder<
IndicesAliasesResponse, IndicesAliasesResponse,
IndicesAliasesRequestBuilder> { IndicesAliasesRequestBuilder> {
public IndicesAliasesRequestBuilder(ElasticsearchClient client) { public IndicesAliasesRequestBuilder(ElasticsearchClient client, TimeValue masterNodeTimeout, TimeValue ackTimeout) {
super(client, TransportIndicesAliasesAction.TYPE, new IndicesAliasesRequest()); super(client, TransportIndicesAliasesAction.TYPE, new IndicesAliasesRequest(masterNodeTimeout, ackTimeout));
} }
/** /**

View file

@ -325,8 +325,8 @@ public class IndicesAdminClient implements ElasticsearchClient {
execute(TransportIndicesAliasesAction.TYPE, request, listener); execute(TransportIndicesAliasesAction.TYPE, request, listener);
} }
public IndicesAliasesRequestBuilder prepareAliases() { public IndicesAliasesRequestBuilder prepareAliases(TimeValue masterNodeTimeout, TimeValue ackTimeout) {
return new IndicesAliasesRequestBuilder(this); return new IndicesAliasesRequestBuilder(this, masterNodeTimeout, ackTimeout);
} }
public ActionFuture<GetAliasesResponse> getAliases(GetAliasesRequest request) { public ActionFuture<GetAliasesResponse> getAliases(GetAliasesRequest request) {

View file

@ -42,10 +42,8 @@ public class RestIndexDeleteAliasesAction extends BaseRestHandler {
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException { public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
final String[] indices = Strings.splitStringByCommaToArray(request.param("index")); final String[] indices = Strings.splitStringByCommaToArray(request.param("index"));
final String[] aliases = Strings.splitStringByCommaToArray(request.param("name")); final String[] aliases = Strings.splitStringByCommaToArray(request.param("name"));
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(); IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(getMasterNodeTimeout(request), getAckTimeout(request));
indicesAliasesRequest.ackTimeout(getAckTimeout(request));
indicesAliasesRequest.addAliasAction(AliasActions.remove().indices(indices).aliases(aliases)); indicesAliasesRequest.addAliasAction(AliasActions.remove().indices(indices).aliases(aliases));
indicesAliasesRequest.masterNodeTimeout(getMasterNodeTimeout(request));
return channel -> client.admin().indices().aliases(indicesAliasesRequest, new RestToXContentListener<>(channel)); return channel -> client.admin().indices().aliases(indicesAliasesRequest, new RestToXContentListener<>(channel));
} }

View file

@ -100,9 +100,7 @@ public class RestIndexPutAliasAction extends BaseRestHandler {
} }
} }
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(); IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(getMasterNodeTimeout(request), getAckTimeout(request));
indicesAliasesRequest.ackTimeout(getAckTimeout(request));
indicesAliasesRequest.masterNodeTimeout(getMasterNodeTimeout(request));
IndicesAliasesRequest.AliasActions aliasAction = AliasActions.add().indices(indices).alias(alias); IndicesAliasesRequest.AliasActions aliasAction = AliasActions.add().indices(indices).alias(alias);
if (routing != null) { if (routing != null) {

View file

@ -40,9 +40,7 @@ public class RestIndicesAliasesAction extends BaseRestHandler {
@Override @Override
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException { public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(); IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(getMasterNodeTimeout(request), getAckTimeout(request));
indicesAliasesRequest.masterNodeTimeout(getMasterNodeTimeout(request));
indicesAliasesRequest.ackTimeout(getAckTimeout(request));
try (XContentParser parser = request.contentParser()) { try (XContentParser parser = request.contentParser()) {
IndicesAliasesRequest.PARSER.parse(parser, indicesAliasesRequest, null); IndicesAliasesRequest.PARSER.parse(parser, indicesAliasesRequest, null);
} }

View file

@ -529,7 +529,10 @@ public class SystemIndexMigrator extends AllocatedPersistentTask {
} }
private void setAliasAndRemoveOldIndex(SystemIndexMigrationInfo migrationInfo, ActionListener<IndicesAliasesResponse> listener) { private void setAliasAndRemoveOldIndex(SystemIndexMigrationInfo migrationInfo, ActionListener<IndicesAliasesResponse> listener) {
final IndicesAliasesRequestBuilder aliasesRequest = migrationInfo.createClient(baseClient).admin().indices().prepareAliases(); final IndicesAliasesRequestBuilder aliasesRequest = migrationInfo.createClient(baseClient)
.admin()
.indices()
.prepareAliases(TimeValue.THIRTY_SECONDS, TimeValue.THIRTY_SECONDS); // TODO should these be longer?
aliasesRequest.removeIndex(migrationInfo.getCurrentIndexName()); aliasesRequest.removeIndex(migrationInfo.getCurrentIndexName());
aliasesRequest.addAlias(migrationInfo.getNextIndexName(), migrationInfo.getCurrentIndexName()); aliasesRequest.addAlias(migrationInfo.getNextIndexName(), migrationInfo.getCurrentIndexName());

View file

@ -31,7 +31,10 @@ public class IndicesAliasesRequestTests extends ESTestCase {
IndicesAliasesRequest parsedIndicesAliasesRequest; IndicesAliasesRequest parsedIndicesAliasesRequest;
try (XContentParser parser = createParser(xContentType.xContent(), shuffled)) { try (XContentParser parser = createParser(xContentType.xContent(), shuffled)) {
parsedIndicesAliasesRequest = IndicesAliasesRequest.fromXContent(parser); parsedIndicesAliasesRequest = IndicesAliasesRequest.fromXContent(
() -> new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT),
parser
);
assertNull(parser.nextToken()); assertNull(parser.nextToken());
} }
@ -44,7 +47,7 @@ public class IndicesAliasesRequestTests extends ESTestCase {
private IndicesAliasesRequest createTestInstance() { private IndicesAliasesRequest createTestInstance() {
int numItems = randomIntBetween(0, 32); int numItems = randomIntBetween(0, 32);
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
if (randomBoolean()) { if (randomBoolean()) {
request.ackTimeout(randomTimeValue()); request.ackTimeout(randomTimeValue());
} }

View file

@ -367,7 +367,9 @@ public class KnnSearchSingleNodeTests extends ESSingleNodeTestCase {
.endObject() .endObject()
.endObject(); .endObject();
createIndex("index", indexSettings, builder); createIndex("index", indexSettings, builder);
indicesAdmin().prepareAliases().addAlias("index", "test-alias", QueryBuilders.termQuery("field", "hit")).get(); indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("index", "test-alias", QueryBuilders.termQuery("field", "hit"))
.get();
int expectedHits = 0; int expectedHits = 0;
for (int doc = 0; doc < 10; doc++) { for (int doc = 0; doc < 10; doc++) {

View file

@ -460,7 +460,7 @@ public class IndicesServiceTests extends ESSingleNodeTestCase {
createIndex(indexName); createIndex(indexName);
// create the alias for the index // create the alias for the index
client().admin().indices().prepareAliases().addAlias(indexName, alias).get(); client().admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(indexName, alias).get();
final ClusterState originalState = clusterService.state(); final ClusterState originalState = clusterService.state();
// try to import a dangling index with the same name as the alias, it should fail // try to import a dangling index with the same name as the alias, it should fail
@ -479,7 +479,7 @@ public class IndicesServiceTests extends ESSingleNodeTestCase {
assertThat(clusterService.state(), equalTo(originalState)); assertThat(clusterService.state(), equalTo(originalState));
// remove the alias // remove the alias
client().admin().indices().prepareAliases().removeAlias(indexName, alias).get(); client().admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias(indexName, alias).get();
// now try importing a dangling index with the same name as the alias, it should succeed. // now try importing a dangling index with the same name as the alias, it should succeed.
latch = new CountDownLatch(1); latch = new CountDownLatch(1);

View file

@ -142,7 +142,7 @@ public class CcrAliasesIT extends CcrIntegTestCase {
add.filter(termQuery(randomAlphaOfLength(16), randomAlphaOfLength(16))); add.filter(termQuery(randomAlphaOfLength(16), randomAlphaOfLength(16)));
} }
assertAcked(leaderClient().admin().indices().prepareAliases().addAliasAction(add)); assertAcked(leaderClient().admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAliasAction(add));
} }
public void testAddMultipleAliasesAtOnce() throws Exception { public void testAddMultipleAliasesAtOnce() throws Exception {
@ -157,7 +157,9 @@ public class CcrAliasesIT extends CcrIntegTestCase {
assertBusy(() -> assertShardFollowTask(1)); assertBusy(() -> assertShardFollowTask(1));
final int numberOfAliases = randomIntBetween(2, 8); final int numberOfAliases = randomIntBetween(2, 8);
final IndicesAliasesRequestBuilder builder = leaderClient().admin().indices().prepareAliases(); final IndicesAliasesRequestBuilder builder = leaderClient().admin()
.indices()
.prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
for (int i = 0; i < numberOfAliases; i++) { for (int i = 0; i < numberOfAliases; i++) {
builder.addAlias("leader", "alias_" + i); builder.addAlias("leader", "alias_" + i);
} }
@ -183,7 +185,9 @@ public class CcrAliasesIT extends CcrIntegTestCase {
final int numberOfAliases = randomIntBetween(2, 8); final int numberOfAliases = randomIntBetween(2, 8);
for (int i = 0; i < numberOfAliases; i++) { for (int i = 0; i < numberOfAliases; i++) {
assertAcked(leaderClient().admin().indices().prepareAliases().addAlias("leader", "alias_" + i)); assertAcked(
leaderClient().admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("leader", "alias_" + i)
);
final String[] aliases = new String[i + 1]; final String[] aliases = new String[i + 1];
for (int j = 0; j < i + 1; j++) { for (int j = 0; j < i + 1; j++) {
@ -204,7 +208,7 @@ public class CcrAliasesIT extends CcrIntegTestCase {
assertAcked( assertAcked(
leaderClient().admin() leaderClient().admin()
.indices() .indices()
.prepareAliases() .prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("leader", aliasName, termQuery(randomAlphaOfLength(16), randomAlphaOfLength(16))) .addAlias("leader", aliasName, termQuery(randomAlphaOfLength(16), randomAlphaOfLength(16)))
); );
assertAliasesExist("leader", "follower", aliasName); assertAliasesExist("leader", "follower", aliasName);
@ -220,7 +224,9 @@ public class CcrAliasesIT extends CcrIntegTestCase {
} }
private void removeAlias(final String aliasName) { private void removeAlias(final String aliasName) {
assertAcked(leaderClient().admin().indices().prepareAliases().removeAlias("leader", aliasName)); assertAcked(
leaderClient().admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("leader", aliasName)
);
} }
public void testStress() throws Exception { public void testStress() throws Exception {

View file

@ -464,8 +464,9 @@ public class IndexFollowingIT extends CcrIntegTestCase {
final String leaderIndexSettings = getIndexSettings(between(1, 2), between(0, 1)); final String leaderIndexSettings = getIndexSettings(between(1, 2), between(0, 1));
assertAcked(leaderClient().admin().indices().prepareCreate("leader").setSource(leaderIndexSettings, XContentType.JSON)); assertAcked(leaderClient().admin().indices().prepareCreate("leader").setSource(leaderIndexSettings, XContentType.JSON));
followerClient().execute(PutFollowAction.INSTANCE, putFollow("leader", "follower")).get(); followerClient().execute(PutFollowAction.INSTANCE, putFollow("leader", "follower")).get();
final IndicesAliasesRequest request = new IndicesAliasesRequest().masterNodeTimeout(TimeValue.MAX_VALUE) final IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).masterNodeTimeout(
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("follower").alias("follower_alias")); TimeValue.MAX_VALUE
).addAliasAction(IndicesAliasesRequest.AliasActions.add().index("follower").alias("follower_alias"));
final ElasticsearchStatusException e = expectThrows( final ElasticsearchStatusException e = expectThrows(
ElasticsearchStatusException.class, ElasticsearchStatusException.class,
() -> followerClient().admin().indices().aliases(request).actionGet() () -> followerClient().admin().indices().aliases(request).actionGet()
@ -495,8 +496,9 @@ public class IndexFollowingIT extends CcrIntegTestCase {
).actionGet() ).actionGet()
); );
followerClient().admin().indices().open(new OpenIndexRequest("follower").masterNodeTimeout(TimeValue.MAX_VALUE)).actionGet(); followerClient().admin().indices().open(new OpenIndexRequest("follower").masterNodeTimeout(TimeValue.MAX_VALUE)).actionGet();
final IndicesAliasesRequest request = new IndicesAliasesRequest().masterNodeTimeout(TimeValue.MAX_VALUE) final IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).masterNodeTimeout(
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("follower").alias("follower_alias")); TimeValue.MAX_VALUE
).addAliasAction(IndicesAliasesRequest.AliasActions.add().index("follower").alias("follower_alias"));
assertAcked(followerClient().admin().indices().aliases(request).actionGet()); assertAcked(followerClient().admin().indices().aliases(request).actionGet());
final GetAliasesResponse response = followerClient().admin() final GetAliasesResponse response = followerClient().admin()
.indices() .indices()

View file

@ -364,7 +364,7 @@ public final class ShardFollowTasksExecutor extends PersistentTasksExecutor<Shar
if (aliasActions.isEmpty()) { if (aliasActions.isEmpty()) {
handler.accept(leaderIndexMetadata.getAliasesVersion()); handler.accept(leaderIndexMetadata.getAliasesVersion());
} else { } else {
final var request = new IndicesAliasesRequest().masterNodeTimeout(TimeValue.MAX_VALUE); final var request = new IndicesAliasesRequest(TimeValue.MAX_VALUE, TimeValue.ZERO);
request.origin("ccr"); request.origin("ccr");
aliasActions.forEach(request::addAliasAction); aliasActions.forEach(request::addAliasAction);
followerClient.admin() followerClient.admin()

View file

@ -113,8 +113,9 @@ public class SwapAliasesAndDeleteSourceIndexStep extends AsyncActionStep {
boolean createSourceIndexAlias boolean createSourceIndexAlias
) { ) {
String sourceIndexName = sourceIndex.getIndex().getName(); String sourceIndexName = sourceIndex.getIndex().getName();
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest().masterNodeTimeout(TimeValue.MAX_VALUE) IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(TimeValue.MAX_VALUE, TimeValue.THIRTY_SECONDS).addAliasAction(
.addAliasAction(IndicesAliasesRequest.AliasActions.removeIndex().index(sourceIndexName)); IndicesAliasesRequest.AliasActions.removeIndex().index(sourceIndexName)
);
if (createSourceIndexAlias) { if (createSourceIndexAlias) {
// create an alias with the same name as the source index and link it to the target index // create an alias with the same name as the source index and link it to the target index

View file

@ -112,7 +112,7 @@ public class AnnotationIndex {
final ActionListener<String> createAliasListener = finalListener.delegateFailureAndWrap((finalDelegate, currentIndexName) -> { final ActionListener<String> createAliasListener = finalListener.delegateFailureAndWrap((finalDelegate, currentIndexName) -> {
final IndicesAliasesRequestBuilder requestBuilder = client.admin() final IndicesAliasesRequestBuilder requestBuilder = client.admin()
.indices() .indices()
.prepareAliases() .prepareAliases(masterNodeTimeout, TimeValue.THIRTY_SECONDS) // TODO does acking matter? If so, should we wait longer?
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(currentIndexName).alias(READ_ALIAS_NAME).isHidden(true)) .addAliasAction(IndicesAliasesRequest.AliasActions.add().index(currentIndexName).alias(READ_ALIAS_NAME).isHidden(true))
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(currentIndexName).alias(WRITE_ALIAS_NAME).isHidden(true)); .addAliasAction(IndicesAliasesRequest.AliasActions.add().index(currentIndexName).alias(WRITE_ALIAS_NAME).isHidden(true));
SortedMap<String, IndexAbstraction> lookup = state.getMetadata().getProject().getIndicesLookup(); SortedMap<String, IndexAbstraction> lookup = state.getMetadata().getProject().getIndicesLookup();

View file

@ -161,7 +161,15 @@ public final class MlIndexAndAlias {
if (concreteIndexNames.length == 0) { if (concreteIndexNames.length == 0) {
if (indexPointedByCurrentWriteAlias.isEmpty()) { if (indexPointedByCurrentWriteAlias.isEmpty()) {
createFirstConcreteIndex(client, firstConcreteIndex, alias, true, waitForShardCount, indexCreatedListener); createFirstConcreteIndex(
client,
firstConcreteIndex,
alias,
true,
waitForShardCount,
masterNodeTimeout,
indexCreatedListener
);
return; return;
} }
logger.error( logger.error(
@ -172,7 +180,15 @@ public final class MlIndexAndAlias {
); );
} else if (concreteIndexNames.length == 1 && concreteIndexNames[0].equals(legacyIndexWithoutSuffix)) { } else if (concreteIndexNames.length == 1 && concreteIndexNames[0].equals(legacyIndexWithoutSuffix)) {
if (indexPointedByCurrentWriteAlias.isEmpty()) { if (indexPointedByCurrentWriteAlias.isEmpty()) {
createFirstConcreteIndex(client, firstConcreteIndex, alias, true, waitForShardCount, indexCreatedListener); createFirstConcreteIndex(
client,
firstConcreteIndex,
alias,
true,
waitForShardCount,
masterNodeTimeout,
indexCreatedListener
);
return; return;
} }
if (indexPointedByCurrentWriteAlias.get().equals(legacyIndexWithoutSuffix)) { if (indexPointedByCurrentWriteAlias.get().equals(legacyIndexWithoutSuffix)) {
@ -182,8 +198,9 @@ public final class MlIndexAndAlias {
alias, alias,
false, false,
waitForShardCount, waitForShardCount,
masterNodeTimeout,
indexCreatedListener.delegateFailureAndWrap( indexCreatedListener.delegateFailureAndWrap(
(l, unused) -> updateWriteAlias(client, alias, legacyIndexWithoutSuffix, firstConcreteIndex, l) (l, unused) -> updateWriteAlias(client, alias, legacyIndexWithoutSuffix, firstConcreteIndex, masterNodeTimeout, l)
) )
); );
return; return;
@ -199,7 +216,7 @@ public final class MlIndexAndAlias {
if (indexPointedByCurrentWriteAlias.isEmpty()) { if (indexPointedByCurrentWriteAlias.isEmpty()) {
assert concreteIndexNames.length > 0; assert concreteIndexNames.length > 0;
String latestConcreteIndexName = latestIndex(concreteIndexNames); String latestConcreteIndexName = latestIndex(concreteIndexNames);
updateWriteAlias(client, alias, null, latestConcreteIndexName, loggingListener); updateWriteAlias(client, alias, null, latestConcreteIndexName, masterNodeTimeout, loggingListener);
return; return;
} }
} }
@ -271,6 +288,7 @@ public final class MlIndexAndAlias {
String alias, String alias,
boolean addAlias, boolean addAlias,
ActiveShardCount waitForShardCount, ActiveShardCount waitForShardCount,
TimeValue masterNodeTimeout,
ActionListener<Boolean> listener ActionListener<Boolean> listener
) { ) {
logger.info("About to create first concrete index [{}] with alias [{}]", index, alias); logger.info("About to create first concrete index [{}] with alias [{}]", index, alias);
@ -293,7 +311,7 @@ public final class MlIndexAndAlias {
// on creation then we should leave it up to the caller to decide what to do next (some call sites // on creation then we should leave it up to the caller to decide what to do next (some call sites
// already have more advanced alias update logic in their success handlers). // already have more advanced alias update logic in their success handlers).
if (addAlias) { if (addAlias) {
updateWriteAlias(client, alias, null, index, listener); updateWriteAlias(client, alias, null, index, masterNodeTimeout, listener);
} else { } else {
listener.onResponse(true); listener.onResponse(true);
} }
@ -310,6 +328,7 @@ public final class MlIndexAndAlias {
String alias, String alias,
@Nullable String currentIndex, @Nullable String currentIndex,
String newIndex, String newIndex,
TimeValue masterNodeTimeout,
ActionListener<Boolean> listener ActionListener<Boolean> listener
) { ) {
if (currentIndex != null) { if (currentIndex != null) {
@ -319,7 +338,7 @@ public final class MlIndexAndAlias {
} }
IndicesAliasesRequestBuilder requestBuilder = client.admin() IndicesAliasesRequestBuilder requestBuilder = client.admin()
.indices() .indices()
.prepareAliases() .prepareAliases(masterNodeTimeout, masterNodeTimeout)
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(newIndex).alias(alias).isHidden(true).writeIndex(true)); .addAliasAction(IndicesAliasesRequest.AliasActions.add().index(newIndex).alias(alias).isHidden(true).writeIndex(true));
if (currentIndex != null) { if (currentIndex != null) {
requestBuilder.removeAlias(currentIndex, alias); requestBuilder.removeAlias(currentIndex, alias);

View file

@ -97,7 +97,9 @@ public class MlIndexAndAliasTests extends ESTestCase {
new CreateIndexRequestBuilder(client, FIRST_CONCRETE_INDEX) new CreateIndexRequestBuilder(client, FIRST_CONCRETE_INDEX)
); );
doAnswer(withResponse(new CreateIndexResponse(true, true, FIRST_CONCRETE_INDEX))).when(indicesAdminClient).create(any(), any()); doAnswer(withResponse(new CreateIndexResponse(true, true, FIRST_CONCRETE_INDEX))).when(indicesAdminClient).create(any(), any());
when(indicesAdminClient.prepareAliases()).thenReturn(new IndicesAliasesRequestBuilder(client)); when(indicesAdminClient.prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)).thenReturn(
new IndicesAliasesRequestBuilder(client, TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
);
doAnswer(withResponse(IndicesAliasesResponse.ACKNOWLEDGED_NO_ERRORS)).when(indicesAdminClient).aliases(any(), any()); doAnswer(withResponse(IndicesAliasesResponse.ACKNOWLEDGED_NO_ERRORS)).when(indicesAdminClient).aliases(any(), any());
doAnswer(withResponse(IndicesAliasesResponse.ACKNOWLEDGED_NO_ERRORS)).when(indicesAdminClient).putTemplate(any(), any()); doAnswer(withResponse(IndicesAliasesResponse.ACKNOWLEDGED_NO_ERRORS)).when(indicesAdminClient).putTemplate(any(), any());
@ -288,7 +290,7 @@ public class MlIndexAndAliasTests extends ESTestCase {
InOrder inOrder = inOrder(indicesAdminClient, listener); InOrder inOrder = inOrder(indicesAdminClient, listener);
inOrder.verify(indicesAdminClient).prepareCreate(FIRST_CONCRETE_INDEX); inOrder.verify(indicesAdminClient).prepareCreate(FIRST_CONCRETE_INDEX);
inOrder.verify(indicesAdminClient).create(createRequestCaptor.capture(), any()); inOrder.verify(indicesAdminClient).create(createRequestCaptor.capture(), any());
inOrder.verify(indicesAdminClient).prepareAliases(); inOrder.verify(indicesAdminClient).prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
inOrder.verify(indicesAdminClient).aliases(aliasesRequestCaptor.capture(), any()); inOrder.verify(indicesAdminClient).aliases(aliasesRequestCaptor.capture(), any());
inOrder.verify(listener).onResponse(true); inOrder.verify(listener).onResponse(true);
@ -313,7 +315,7 @@ public class MlIndexAndAliasTests extends ESTestCase {
createIndexAndAliasIfNecessary(clusterState); createIndexAndAliasIfNecessary(clusterState);
InOrder inOrder = inOrder(indicesAdminClient, listener); InOrder inOrder = inOrder(indicesAdminClient, listener);
inOrder.verify(indicesAdminClient).prepareAliases(); inOrder.verify(indicesAdminClient).prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
inOrder.verify(indicesAdminClient).aliases(aliasesRequestCaptor.capture(), any()); inOrder.verify(indicesAdminClient).aliases(aliasesRequestCaptor.capture(), any());
inOrder.verify(listener).onResponse(true); inOrder.verify(listener).onResponse(true);

View file

@ -753,7 +753,7 @@ public class EnrichPolicyRunner {
validateIndexBeforePromotion(enrichIndexName, clusterState); validateIndexBeforePromotion(enrichIndexName, clusterState);
String[] concreteIndices = indexNameExpressionResolver.concreteIndexNamesWithSystemIndexAccess(clusterState, aliasRequest); String[] concreteIndices = indexNameExpressionResolver.concreteIndexNamesWithSystemIndexAccess(clusterState, aliasRequest);
String[] aliases = aliasRequest.aliases(); String[] aliases = aliasRequest.aliases();
IndicesAliasesRequest aliasToggleRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasToggleRequest = new IndicesAliasesRequest(ENRICH_MASTER_REQUEST_TIMEOUT, ENRICH_MASTER_REQUEST_TIMEOUT);
String[] indices = clusterState.metadata().getProject().findAliases(aliases, concreteIndices).keySet().toArray(new String[0]); String[] indices = clusterState.metadata().getProject().findAliases(aliases, concreteIndices).keySet().toArray(new String[0]);
if (indices.length > 0) { if (indices.length > 0) {
aliasToggleRequest.addAliasAction(IndicesAliasesRequest.AliasActions.remove().indices(indices).alias(enrichIndexBase)); aliasToggleRequest.addAliasAction(IndicesAliasesRequest.AliasActions.remove().indices(indices).alias(enrichIndexBase));

View file

@ -225,7 +225,7 @@ public class EnrichPolicyMaintenanceServiceTests extends ESSingleNodeTestCase {
.indices() .indices()
.getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT, enrichIndexBase)) .getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT, enrichIndexBase))
.actionGet(); .actionGet();
IndicesAliasesRequest aliasToggleRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasToggleRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
String[] indices = getAliasesResponse.getAliases().keySet().toArray(new String[0]); String[] indices = getAliasesResponse.getAliases().keySet().toArray(new String[0]);
if (indices.length > 0) { if (indices.length > 0) {
aliasToggleRequest.addAliasAction(IndicesAliasesRequest.AliasActions.remove().indices(indices).alias(enrichIndexBase)); aliasToggleRequest.addAliasAction(IndicesAliasesRequest.AliasActions.remove().indices(indices).alias(enrichIndexBase));

View file

@ -17,6 +17,7 @@ import org.elasticsearch.common.settings.IndexScopedSettings;
import org.elasticsearch.common.settings.Setting; import org.elasticsearch.common.settings.Setting;
import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.settings.SettingsFilter; import org.elasticsearch.common.settings.SettingsFilter;
import org.elasticsearch.core.TimeValue;
import org.elasticsearch.features.NodeFeature; import org.elasticsearch.features.NodeFeature;
import org.elasticsearch.indices.SystemIndexDescriptor; import org.elasticsearch.indices.SystemIndexDescriptor;
import org.elasticsearch.license.License; import org.elasticsearch.license.License;
@ -251,6 +252,14 @@ public class EnterpriseSearch extends Plugin implements ActionPlugin, SystemInde
License.OperationMode.ENTERPRISE License.OperationMode.ENTERPRISE
); );
/**
* Hard-coded timeout used for {@link org.elasticsearch.action.support.master.MasterNodeRequest#masterNodeTimeout()} for requests to
* the master node from Enterprise Search code. Wherever possible, prefer to use a user-controlled timeout instead of this.
*
* @see <a href="https://github.com/elastic/elasticsearch/issues/107984">#107984</a>
*/
public static final TimeValue HARD_CODED_ENTERPRISE_SEARCH_MASTER_NODE_TIMEOUT = TimeValue.THIRTY_SECONDS;
@Override @Override
public List<ActionHandler<? extends ActionRequest, ? extends ActionResponse>> getActions() { public List<ActionHandler<? extends ActionRequest, ? extends ActionResponse>> getActions() {
var usageAction = new ActionHandler<>(XPackUsageFeatureAction.ENTERPRISE_SEARCH, EnterpriseSearchUsageTransportAction.class); var usageAction = new ActionHandler<>(XPackUsageFeatureAction.ENTERPRISE_SEARCH, EnterpriseSearchUsageTransportAction.class);

View file

@ -80,6 +80,7 @@ import java.util.stream.Collectors;
import static org.elasticsearch.common.xcontent.XContentParserUtils.ensureExpectedToken; import static org.elasticsearch.common.xcontent.XContentParserUtils.ensureExpectedToken;
import static org.elasticsearch.xcontent.XContentFactory.jsonBuilder; import static org.elasticsearch.xcontent.XContentFactory.jsonBuilder;
import static org.elasticsearch.xpack.application.EnterpriseSearch.HARD_CODED_ENTERPRISE_SEARCH_MASTER_NODE_TIMEOUT;
import static org.elasticsearch.xpack.core.ClientHelper.ENT_SEARCH_ORIGIN; import static org.elasticsearch.xpack.core.ClientHelper.ENT_SEARCH_ORIGIN;
/** /**
@ -260,7 +261,10 @@ public class SearchApplicationIndexService {
requestBuilder = updateAliasIndices(currentAliases, targetAliases, searchAliasName); requestBuilder = updateAliasIndices(currentAliases, targetAliases, searchAliasName);
} else { } else {
requestBuilder = client.admin().indices().prepareAliases().addAlias(app.indices(), searchAliasName); requestBuilder = client.admin()
.indices()
.prepareAliases(HARD_CODED_ENTERPRISE_SEARCH_MASTER_NODE_TIMEOUT, HARD_CODED_ENTERPRISE_SEARCH_MASTER_NODE_TIMEOUT)
.addAlias(app.indices(), searchAliasName);
} }
requestBuilder.execute(listener); requestBuilder.execute(listener);
@ -271,7 +275,9 @@ public class SearchApplicationIndexService {
Set<String> deleteIndices = new HashSet<>(currentAliases); Set<String> deleteIndices = new HashSet<>(currentAliases);
deleteIndices.removeAll(targetAliases); deleteIndices.removeAll(targetAliases);
IndicesAliasesRequestBuilder aliasesRequestBuilder = client.admin().indices().prepareAliases(); IndicesAliasesRequestBuilder aliasesRequestBuilder = client.admin()
.indices()
.prepareAliases(HARD_CODED_ENTERPRISE_SEARCH_MASTER_NODE_TIMEOUT, HARD_CODED_ENTERPRISE_SEARCH_MASTER_NODE_TIMEOUT);
// Always re-add aliases, as an index could have been removed manually and it must be restored // Always re-add aliases, as an index could have been removed manually and it must be restored
for (String newIndex : targetAliases) { for (String newIndex : targetAliases) {
@ -330,9 +336,10 @@ public class SearchApplicationIndexService {
} }
private void removeAlias(String searchAliasName, ActionListener<AcknowledgedResponse> listener) { private void removeAlias(String searchAliasName, ActionListener<AcknowledgedResponse> listener) {
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest().addAliasAction( IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(
IndicesAliasesRequest.AliasActions.remove().aliases(searchAliasName).indices("*") HARD_CODED_ENTERPRISE_SEARCH_MASTER_NODE_TIMEOUT,
); HARD_CODED_ENTERPRISE_SEARCH_MASTER_NODE_TIMEOUT
).addAliasAction(IndicesAliasesRequest.AliasActions.remove().aliases(searchAliasName).indices("*"));
client.admin().indices().aliases(aliasesRequest, new ActionListener<>() { client.admin().indices().aliases(aliasesRequest, new ActionListener<>() {
@Override @Override
public void onResponse(IndicesAliasesResponse response) { public void onResponse(IndicesAliasesResponse response) {

View file

@ -884,7 +884,7 @@ public class CrossClusterQueryIT extends AbstractCrossClusterTestCase {
Client localClient = client(LOCAL_CLUSTER); Client localClient = client(LOCAL_CLUSTER);
IndicesAliasesResponse indicesAliasesResponse = localClient.admin() IndicesAliasesResponse indicesAliasesResponse = localClient.admin()
.indices() .indices()
.prepareAliases() .prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias(LOCAL_INDEX, IDX_ALIAS) .addAlias(LOCAL_INDEX, IDX_ALIAS)
.addAlias(LOCAL_INDEX, FILTERED_IDX_ALIAS, filterBuilder) .addAlias(LOCAL_INDEX, FILTERED_IDX_ALIAS, filterBuilder)
.get(); .get();
@ -894,7 +894,7 @@ public class CrossClusterQueryIT extends AbstractCrossClusterTestCase {
Client remoteClient = client(REMOTE_CLUSTER_1); Client remoteClient = client(REMOTE_CLUSTER_1);
IndicesAliasesResponse indicesAliasesResponse = remoteClient.admin() IndicesAliasesResponse indicesAliasesResponse = remoteClient.admin()
.indices() .indices()
.prepareAliases() .prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias(REMOTE_INDEX, IDX_ALIAS) .addAlias(REMOTE_INDEX, IDX_ALIAS)
.addAlias(REMOTE_INDEX, FILTERED_IDX_ALIAS, filterBuilder) .addAlias(REMOTE_INDEX, FILTERED_IDX_ALIAS, filterBuilder)
.get(); .get();
@ -904,7 +904,7 @@ public class CrossClusterQueryIT extends AbstractCrossClusterTestCase {
Client remoteClient = client(REMOTE_CLUSTER_2); Client remoteClient = client(REMOTE_CLUSTER_2);
IndicesAliasesResponse indicesAliasesResponse = remoteClient.admin() IndicesAliasesResponse indicesAliasesResponse = remoteClient.admin()
.indices() .indices()
.prepareAliases() .prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias(REMOTE_INDEX, IDX_ALIAS) .addAlias(REMOTE_INDEX, IDX_ALIAS)
.addAlias(REMOTE_INDEX, FILTERED_IDX_ALIAS, filterBuilder) .addAlias(REMOTE_INDEX, FILTERED_IDX_ALIAS, filterBuilder)
.get(); .get();

View file

@ -1418,7 +1418,10 @@ public class EsqlActionIT extends AbstractEsqlIntegTestCase {
public void testQueryOnEmptyMappingIndex() { public void testQueryOnEmptyMappingIndex() {
createIndex("empty-test", Settings.EMPTY); createIndex("empty-test", Settings.EMPTY);
createIndex("empty-test2", Settings.EMPTY); createIndex("empty-test2", Settings.EMPTY);
IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases() IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases(
TEST_REQUEST_TIMEOUT,
TEST_REQUEST_TIMEOUT
)
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("empty-test").alias("alias-test")) .addAliasAction(IndicesAliasesRequest.AliasActions.add().index("empty-test").alias("alias-test"))
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("empty-test2").alias("alias-test")); .addAliasAction(IndicesAliasesRequest.AliasActions.add().index("empty-test2").alias("alias-test"));
indicesAdmin().aliases(indicesAliasesRequestBuilder.request()).actionGet(); indicesAdmin().aliases(indicesAliasesRequestBuilder.request()).actionGet();
@ -1442,7 +1445,10 @@ public class EsqlActionIT extends AbstractEsqlIntegTestCase {
public void testQueryOnEmptyDataIndex() { public void testQueryOnEmptyDataIndex() {
createIndex("empty_data-test", Settings.EMPTY); createIndex("empty_data-test", Settings.EMPTY);
assertAcked(client().admin().indices().prepareCreate("empty_data-test2").setMapping("name", "type=text")); assertAcked(client().admin().indices().prepareCreate("empty_data-test2").setMapping("name", "type=text"));
IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases() IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases(
TEST_REQUEST_TIMEOUT,
TEST_REQUEST_TIMEOUT
)
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("empty_data-test").alias("alias-empty_data-test")) .addAliasAction(IndicesAliasesRequest.AliasActions.add().index("empty_data-test").alias("alias-empty_data-test"))
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index("empty_data-test2").alias("alias-empty_data-test")); .addAliasAction(IndicesAliasesRequest.AliasActions.add().index("empty_data-test2").alias("alias-empty_data-test"));
indicesAdmin().aliases(indicesAliasesRequestBuilder.request()).actionGet(); indicesAdmin().aliases(indicesAliasesRequestBuilder.request()).actionGet();
@ -1568,7 +1574,7 @@ public class EsqlActionIT extends AbstractEsqlIntegTestCase {
} }
private void createAlias(List<String> indices, String alias) throws InterruptedException, ExecutionException { private void createAlias(List<String> indices, String alias) throws InterruptedException, ExecutionException {
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
for (String indexName : indices) { for (String indexName : indices) {
aliasesRequest.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(indexName).alias(alias)); aliasesRequest.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(indexName).alias(alias));
} }

View file

@ -144,7 +144,7 @@ public class CanMatchIT extends AbstractEsqlIntegTestCase {
ElasticsearchAssertions.assertAcked( ElasticsearchAssertions.assertAcked(
client().admin() client().admin()
.indices() .indices()
.prepareAliases() .prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("employees", "engineers", new MatchQueryBuilder("dept", "engineering")) .addAlias("employees", "engineers", new MatchQueryBuilder("dept", "engineering"))
.addAlias("employees", "sales", new MatchQueryBuilder("dept", "sales")) .addAlias("employees", "sales", new MatchQueryBuilder("dept", "sales"))
); );

View file

@ -135,7 +135,7 @@ public class MlInitializationServiceIT extends MlNativeAutodetectIntegTestCase {
} }
} }
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest().addAliasAction( IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAliasAction(
IndicesAliasesRequest.AliasActions.add().index(".ml-anomalies-7").alias(".ml-anomalies-write").writeIndex(true) IndicesAliasesRequest.AliasActions.add().index(".ml-anomalies-7").alias(".ml-anomalies-write").writeIndex(true)
) )
.addAliasAction( .addAliasAction(

View file

@ -95,7 +95,10 @@ public class AnnotationIndexIT extends MlSingleNodeTestCase {
String reindexedIndexName = ".reindexed-v7-ml-annotations-6"; String reindexedIndexName = ".reindexed-v7-ml-annotations-6";
createReindexedIndex(reindexedIndexName); createReindexedIndex(reindexedIndexName);
IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases() IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases(
TEST_REQUEST_TIMEOUT,
TEST_REQUEST_TIMEOUT
)
.addAliasAction( .addAliasAction(
IndicesAliasesRequest.AliasActions.add().index(reindexedIndexName).alias(AnnotationIndex.READ_ALIAS_NAME).isHidden(true) IndicesAliasesRequest.AliasActions.add().index(reindexedIndexName).alias(AnnotationIndex.READ_ALIAS_NAME).isHidden(true)
) )
@ -135,7 +138,10 @@ public class AnnotationIndexIT extends MlSingleNodeTestCase {
String reindexedIndexName = ".reindexed-v7-ml-annotations-6"; String reindexedIndexName = ".reindexed-v7-ml-annotations-6";
createReindexedIndex(reindexedIndexName); createReindexedIndex(reindexedIndexName);
IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases() IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases(
TEST_REQUEST_TIMEOUT,
TEST_REQUEST_TIMEOUT
)
.addAliasAction( .addAliasAction(
IndicesAliasesRequest.AliasActions.add().index(reindexedIndexName).alias(AnnotationIndex.READ_ALIAS_NAME).isHidden(true) IndicesAliasesRequest.AliasActions.add().index(reindexedIndexName).alias(AnnotationIndex.READ_ALIAS_NAME).isHidden(true)
) )
@ -175,7 +181,10 @@ public class AnnotationIndexIT extends MlSingleNodeTestCase {
String reindexedIndexName = ".reindexed-v7-ml-annotations-6"; String reindexedIndexName = ".reindexed-v7-ml-annotations-6";
createReindexedIndex(reindexedIndexName); createReindexedIndex(reindexedIndexName);
IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases() IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases(
TEST_REQUEST_TIMEOUT,
TEST_REQUEST_TIMEOUT
)
// The difference compared to the standard reindexing test is that the read and write aliases are not correctly set up. // The difference compared to the standard reindexing test is that the read and write aliases are not correctly set up.
// The annotations index maintenance code should add them back. // The annotations index maintenance code should add them back.
.addAliasAction(IndicesAliasesRequest.AliasActions.removeIndex().index(AnnotationIndex.LATEST_INDEX_NAME)) .addAliasAction(IndicesAliasesRequest.AliasActions.removeIndex().index(AnnotationIndex.LATEST_INDEX_NAME))
@ -210,7 +219,10 @@ public class AnnotationIndexIT extends MlSingleNodeTestCase {
String reindexedIndexName = ".reindexed-v7-ml-annotations-6"; String reindexedIndexName = ".reindexed-v7-ml-annotations-6";
createReindexedIndex(reindexedIndexName); createReindexedIndex(reindexedIndexName);
IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases() IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases(
TEST_REQUEST_TIMEOUT,
TEST_REQUEST_TIMEOUT
)
// The difference compared to the standard reindexing test is that the read and write aliases are not correctly set up. // The difference compared to the standard reindexing test is that the read and write aliases are not correctly set up.
// The annotations index maintenance code should add them back. // The annotations index maintenance code should add them back.
.addAliasAction(IndicesAliasesRequest.AliasActions.removeIndex().index(AnnotationIndex.LATEST_INDEX_NAME)) .addAliasAction(IndicesAliasesRequest.AliasActions.removeIndex().index(AnnotationIndex.LATEST_INDEX_NAME))

View file

@ -130,7 +130,7 @@ public class JobStorageDeletionTaskIT extends BaseMlIntegTestCase {
createBuckets(jobIdShared, 1, 10); createBuckets(jobIdShared, 1, 10);
// Manually switching over alias info // Manually switching over alias info
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest().addAliasAction( IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAliasAction(
IndicesAliasesRequest.AliasActions.add() IndicesAliasesRequest.AliasActions.add()
.alias(AnomalyDetectorsIndex.jobResultsAliasedName(jobIdDedicated)) .alias(AnomalyDetectorsIndex.jobResultsAliasedName(jobIdDedicated))
.isHidden(true) .isHidden(true)

View file

@ -148,7 +148,12 @@ public class MlAnomaliesIndexUpdate implements MlAutoUpdateService.UpdateAction
// what to name the new index so it must be specified in the request. // what to name the new index so it must be specified in the request.
// Otherwise leave null and rollover will calculate the new name // Otherwise leave null and rollover will calculate the new name
String newIndexName = MlIndexAndAlias.has6DigitSuffix(index) ? null : index + MlIndexAndAlias.FIRST_INDEX_SIX_DIGIT_SUFFIX; String newIndexName = MlIndexAndAlias.has6DigitSuffix(index) ? null : index + MlIndexAndAlias.FIRST_INDEX_SIX_DIGIT_SUFFIX;
IndicesAliasesRequestBuilder aliasRequestBuilder = client.admin().indices().prepareAliases(); IndicesAliasesRequestBuilder aliasRequestBuilder = client.admin()
.indices()
.prepareAliases(
MachineLearning.HARD_CODED_MACHINE_LEARNING_MASTER_NODE_TIMEOUT,
MachineLearning.HARD_CODED_MACHINE_LEARNING_MASTER_NODE_TIMEOUT
);
SubscribableListener.<Boolean>newForked( SubscribableListener.<Boolean>newForked(
l -> { createAliasForRollover(index, rolloverAlias, l.map(AcknowledgedResponse::isAcknowledged)); } l -> { createAliasForRollover(index, rolloverAlias, l.map(AcknowledgedResponse::isAcknowledged)); }
@ -172,7 +177,10 @@ public class MlAnomaliesIndexUpdate implements MlAutoUpdateService.UpdateAction
logger.info("creating alias for rollover [{}]", aliasName); logger.info("creating alias for rollover [{}]", aliasName);
client.admin() client.admin()
.indices() .indices()
.prepareAliases() .prepareAliases(
MachineLearning.HARD_CODED_MACHINE_LEARNING_MASTER_NODE_TIMEOUT,
MachineLearning.HARD_CODED_MACHINE_LEARNING_MASTER_NODE_TIMEOUT
)
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(indexName).alias(aliasName).isHidden(true)) .addAliasAction(IndicesAliasesRequest.AliasActions.add().index(indexName).alias(aliasName).isHidden(true))
.execute(listener); .execute(listener);
} }

View file

@ -150,7 +150,14 @@ public class MlIndexRollover implements MlAutoUpdateService.UpdateAction {
SubscribableListener.<Boolean>newForked(l -> { SubscribableListener.<Boolean>newForked(l -> {
if (hasAlias == false) { if (hasAlias == false) {
MlIndexAndAlias.updateWriteAlias(client, alias, null, latestIndex, l); MlIndexAndAlias.updateWriteAlias(
client,
alias,
null,
latestIndex,
MachineLearning.HARD_CODED_MACHINE_LEARNING_MASTER_NODE_TIMEOUT,
l
);
} else { } else {
l.onResponse(Boolean.TRUE); l.onResponse(Boolean.TRUE);
} }

View file

@ -193,7 +193,10 @@ public final class MlInitializationService implements ClusterStateListener {
// Step 4: Extract ML internal aliases that are not hidden and make them hidden. // Step 4: Extract ML internal aliases that are not hidden and make them hidden.
ActionListener<GetAliasesResponse> getAliasesResponseListener = ActionListener.wrap(getAliasesResponse -> { ActionListener<GetAliasesResponse> getAliasesResponseListener = ActionListener.wrap(getAliasesResponse -> {
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(); IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(
MachineLearning.HARD_CODED_MACHINE_LEARNING_MASTER_NODE_TIMEOUT,
MachineLearning.HARD_CODED_MACHINE_LEARNING_MASTER_NODE_TIMEOUT
);
for (var entry : getAliasesResponse.getAliases().entrySet()) { for (var entry : getAliasesResponse.getAliases().entrySet()) {
for (AliasMetadata existingAliasMetadata : entry.getValue()) { for (AliasMetadata existingAliasMetadata : entry.getValue()) {
if (existingAliasMetadata.isHidden() != null && existingAliasMetadata.isHidden()) { if (existingAliasMetadata.isHidden() != null && existingAliasMetadata.isHidden()) {

View file

@ -66,6 +66,7 @@ import org.elasticsearch.xpack.core.ml.job.results.ModelPlot;
import org.elasticsearch.xpack.core.ml.job.results.Result; import org.elasticsearch.xpack.core.ml.job.results.Result;
import org.elasticsearch.xpack.core.ml.utils.ExceptionsHelper; import org.elasticsearch.xpack.core.ml.utils.ExceptionsHelper;
import org.elasticsearch.xpack.core.security.user.InternalUsers; import org.elasticsearch.xpack.core.security.user.InternalUsers;
import org.elasticsearch.xpack.ml.MachineLearning;
import org.elasticsearch.xpack.ml.utils.MlIndicesUtils; import org.elasticsearch.xpack.ml.utils.MlIndicesUtils;
import java.util.ArrayList; import java.util.ArrayList;
@ -518,7 +519,10 @@ public class JobDataDeleter {
} }
return aliases.isEmpty() return aliases.isEmpty()
? null ? null
: new IndicesAliasesRequest().addAliasAction( : new IndicesAliasesRequest(
MachineLearning.HARD_CODED_MACHINE_LEARNING_MASTER_NODE_TIMEOUT,
MachineLearning.HARD_CODED_MACHINE_LEARNING_MASTER_NODE_TIMEOUT
).addAliasAction(
IndicesAliasesRequest.AliasActions.remove().aliases(aliases.toArray(new String[0])).indices(indices.toArray(new String[0])) IndicesAliasesRequest.AliasActions.remove().aliases(aliases.toArray(new String[0])).indices(indices.toArray(new String[0]))
); );
} }

View file

@ -331,7 +331,10 @@ public class JobResultsProvider {
ActionListener<Boolean> indexAndMappingsListener = ActionListener.wrap(success -> { ActionListener<Boolean> indexAndMappingsListener = ActionListener.wrap(success -> {
final IndicesAliasesRequest request = client.admin() final IndicesAliasesRequest request = client.admin()
.indices() .indices()
.prepareAliases() .prepareAliases(
MachineLearning.HARD_CODED_MACHINE_LEARNING_MASTER_NODE_TIMEOUT,
MachineLearning.HARD_CODED_MACHINE_LEARNING_MASTER_NODE_TIMEOUT
)
.addAliasAction( .addAliasAction(
IndicesAliasesRequest.AliasActions.add() IndicesAliasesRequest.AliasActions.add()
.index(indexName) .index(indexName)

View file

@ -106,7 +106,11 @@ public class MlAnomaliesIndexUpdateTests extends ESTestCase {
new OriginSettingClient(mock(Client.class), "doesn't matter") new OriginSettingClient(mock(Client.class), "doesn't matter")
); );
IndicesAliasesRequestBuilder aliasRequestBuilder = new IndicesAliasesRequestBuilder(mock(ElasticsearchClient.class)); IndicesAliasesRequestBuilder aliasRequestBuilder = new IndicesAliasesRequestBuilder(
mock(ElasticsearchClient.class),
TEST_REQUEST_TIMEOUT,
TEST_REQUEST_TIMEOUT
);
var newIndex = anomaliesIndex + "-000001"; var newIndex = anomaliesIndex + "-000001";
var request = updater.addIndexAliasesRequests(aliasRequestBuilder, anomaliesIndex, newIndex, csBuilder.build()); var request = updater.addIndexAliasesRequests(aliasRequestBuilder, anomaliesIndex, newIndex, csBuilder.build());

View file

@ -103,7 +103,7 @@ public class FrozenSearchableSnapshotsIntegTests extends BaseFrozenSearchableSna
originalIndexSettings.put(IndexSettings.INDEX_CHECK_ON_STARTUP.getKey(), "false"); originalIndexSettings.put(IndexSettings.INDEX_CHECK_ON_STARTUP.getKey(), "false");
} }
assertAcked(prepareCreate(indexName, originalIndexSettings)); assertAcked(prepareCreate(indexName, originalIndexSettings));
assertAcked(indicesAdmin().prepareAliases().addAlias(indexName, aliasName)); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(indexName, aliasName));
populateIndex(indexName, 10_000); populateIndex(indexName, 10_000);
@ -304,11 +304,11 @@ public class FrozenSearchableSnapshotsIntegTests extends BaseFrozenSearchableSna
if (deletedBeforeMount) { if (deletedBeforeMount) {
assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, aliasName).get().getAliases().size(), equalTo(0)); assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, aliasName).get().getAliases().size(), equalTo(0));
assertAcked(indicesAdmin().prepareAliases().addAlias(restoredIndexName, aliasName)); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(restoredIndexName, aliasName));
} else if (indexName.equals(restoredIndexName) == false) { } else if (indexName.equals(restoredIndexName) == false) {
assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, aliasName).get().getAliases().size(), equalTo(1)); assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, aliasName).get().getAliases().size(), equalTo(1));
assertAcked( assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(indexName).alias(aliasName).mustExist(true)) .addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(indexName).alias(aliasName).mustExist(true))
.addAlias(restoredIndexName, aliasName) .addAlias(restoredIndexName, aliasName)
); );
@ -408,7 +408,7 @@ public class FrozenSearchableSnapshotsIntegTests extends BaseFrozenSearchableSna
assertAcked(indicesAdmin().prepareDelete(restoredIndexName)); assertAcked(indicesAdmin().prepareDelete(restoredIndexName));
assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, aliasName).get().getAliases().size(), equalTo(0)); assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, aliasName).get().getAliases().size(), equalTo(0));
assertAcked(indicesAdmin().prepareAliases().addAlias(clonedIndexName, aliasName)); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(clonedIndexName, aliasName));
assertTotalHits(aliasName, originalAllHits, originalBarHits); assertTotalHits(aliasName, originalAllHits, originalBarHits);
} }
@ -532,7 +532,7 @@ public class FrozenSearchableSnapshotsIntegTests extends BaseFrozenSearchableSna
final Settings.Builder originalIndexSettings = Settings.builder().put(INDEX_SOFT_DELETES_SETTING.getKey(), true); final Settings.Builder originalIndexSettings = Settings.builder().put(INDEX_SOFT_DELETES_SETTING.getKey(), true);
assertAcked(prepareCreate(indexName, originalIndexSettings)); assertAcked(prepareCreate(indexName, originalIndexSettings));
assertAcked(indicesAdmin().prepareAliases().addAlias(indexName, aliasName)); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(indexName, aliasName));
populateIndex(indexName, 100); populateIndex(indexName, 100);
final SnapshotInfo snapshotInfo = createFullSnapshot(fsRepoName, snapshotName); final SnapshotInfo snapshotInfo = createFullSnapshot(fsRepoName, snapshotName);

View file

@ -122,7 +122,7 @@ public class SearchableSnapshotsIntegTests extends BaseSearchableSnapshotsIntegT
originalIndexSettings.put(IndexSettings.INDEX_CHECK_ON_STARTUP.getKey(), "false"); originalIndexSettings.put(IndexSettings.INDEX_CHECK_ON_STARTUP.getKey(), "false");
} }
assertAcked(prepareCreate(indexName, originalIndexSettings)); assertAcked(prepareCreate(indexName, originalIndexSettings));
assertAcked(indicesAdmin().prepareAliases().addAlias(indexName, aliasName)); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(indexName, aliasName));
populateIndex(indexName, 10_000); populateIndex(indexName, 10_000);
@ -270,11 +270,11 @@ public class SearchableSnapshotsIntegTests extends BaseSearchableSnapshotsIntegT
if (deletedBeforeMount) { if (deletedBeforeMount) {
assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, aliasName).get().getAliases().size(), equalTo(0)); assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, aliasName).get().getAliases().size(), equalTo(0));
assertAcked(indicesAdmin().prepareAliases().addAlias(restoredIndexName, aliasName)); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(restoredIndexName, aliasName));
} else if (indexName.equals(restoredIndexName) == false) { } else if (indexName.equals(restoredIndexName) == false) {
assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, aliasName).get().getAliases().size(), equalTo(1)); assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, aliasName).get().getAliases().size(), equalTo(1));
assertAcked( assertAcked(
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(indexName).alias(aliasName).mustExist(true)) .addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(indexName).alias(aliasName).mustExist(true))
.addAlias(restoredIndexName, aliasName) .addAlias(restoredIndexName, aliasName)
); );
@ -353,7 +353,7 @@ public class SearchableSnapshotsIntegTests extends BaseSearchableSnapshotsIntegT
assertAcked(indicesAdmin().prepareDelete(restoredIndexName)); assertAcked(indicesAdmin().prepareDelete(restoredIndexName));
assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, aliasName).get().getAliases().size(), equalTo(0)); assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, aliasName).get().getAliases().size(), equalTo(0));
assertAcked(indicesAdmin().prepareAliases().addAlias(clonedIndexName, aliasName)); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(clonedIndexName, aliasName));
assertTotalHits(aliasName, originalAllHits, originalBarHits); assertTotalHits(aliasName, originalAllHits, originalBarHits);
} }

View file

@ -349,7 +349,7 @@ public class SearchableSnapshotsBlobStoreCacheMaintenanceIntegTests extends Base
.setRefresh(true); .setRefresh(true);
var resp = safeGet(client().execute(ReindexAction.INSTANCE, reindexRequest)); var resp = safeGet(client().execute(ReindexAction.INSTANCE, reindexRequest));
assertThat(resp.getBulkFailures(), is(empty())); assertThat(resp.getBulkFailures(), is(empty()));
indicesAdmin().prepareAliases() indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.removeIndex(SNAPSHOT_BLOB_CACHE_INDEX) .removeIndex(SNAPSHOT_BLOB_CACHE_INDEX)
.addAlias(migratedSnapshotBlobCache, SNAPSHOT_BLOB_CACHE_INDEX) .addAlias(migratedSnapshotBlobCache, SNAPSHOT_BLOB_CACHE_INDEX)
.get(); .get();

View file

@ -101,7 +101,7 @@ public class DocumentLevelSecurityRandomTests extends SecurityIntegTestCase {
assertAcked(indicesAdmin().prepareCreate("test").setMapping("field1", "type=text", "field2", "type=text")); assertAcked(indicesAdmin().prepareCreate("test").setMapping("field1", "type=text", "field2", "type=text"));
List<IndexRequestBuilder> requests = new ArrayList<>(numberOfRoles); List<IndexRequestBuilder> requests = new ArrayList<>(numberOfRoles);
IndicesAliasesRequestBuilder builder = indicesAdmin().prepareAliases(); IndicesAliasesRequestBuilder builder = indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
for (int i = 1; i <= numberOfRoles; i++) { for (int i = 1; i <= numberOfRoles; i++) {
String value = "value" + i; String value = "value" + i;
requests.add(prepareIndex("test").setId(value).setSource("field1", value)); requests.add(prepareIndex("test").setId(value).setSource("field1", value));

View file

@ -206,7 +206,7 @@ public class IndicesPermissionsWithAliasesWildcardsAndRegexsTests extends Securi
); );
client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get(); client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get();
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesRequest.addAliasAction( aliasesRequest.addAliasAction(
new IndicesAliasesRequest.AliasActions(IndicesAliasesRequest.AliasActions.Type.ADD).aliases("my_alias", "an_alias") new IndicesAliasesRequest.AliasActions(IndicesAliasesRequest.AliasActions.Type.ADD).aliases("my_alias", "an_alias")
.index("test") .index("test")

View file

@ -132,13 +132,13 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
assertAcked(client.admin().indices().prepareCreate("test_1").get()); assertAcked(client.admin().indices().prepareCreate("test_1").get());
assertThrowsAuthorizationException( assertThrowsAuthorizationException(
client.admin().indices().prepareAliases().addAlias("test_1", "test_alias")::get, client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_1", "test_alias")::get,
TransportIndicesAliasesAction.NAME, TransportIndicesAliasesAction.NAME,
"create_only" "create_only"
); );
assertThrowsAuthorizationException( assertThrowsAuthorizationException(
client.admin().indices().prepareAliases().addAlias("test_*", "test_alias")::get, client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_*", "test_alias")::get,
TransportIndicesAliasesAction.NAME, TransportIndicesAliasesAction.NAME,
"create_only" "create_only"
); );
@ -168,19 +168,19 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
final Client client = client().filterWithHeader(headers); final Client client = client().filterWithHeader(headers);
assertThrowsAuthorizationException( assertThrowsAuthorizationException(
client.admin().indices().prepareAliases().removeAlias("test_1", "alias_1")::get, client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_1", "alias_1")::get,
TransportIndicesAliasesAction.NAME, TransportIndicesAliasesAction.NAME,
"create_only" "create_only"
); );
assertThrowsAuthorizationException( assertThrowsAuthorizationException(
client.admin().indices().prepareAliases().removeAlias("test_1", "alias_*")::get, client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_1", "alias_*")::get,
TransportIndicesAliasesAction.NAME, TransportIndicesAliasesAction.NAME,
"create_only" "create_only"
); );
assertThrowsAuthorizationException( assertThrowsAuthorizationException(
client.admin().indices().prepareAliases().removeAlias("test_1", "_all")::get, client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_1", "_all")::get,
TransportIndicesAliasesAction.NAME, TransportIndicesAliasesAction.NAME,
"create_only" "create_only"
); );
@ -328,14 +328,22 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
assertAcked(client.admin().indices().prepareCreate("test_1").get()); assertAcked(client.admin().indices().prepareCreate("test_1").get());
// ok: user has manage_aliases on test_* // ok: user has manage_aliases on test_*
assertAcked(client.admin().indices().prepareAliases().addAlias("test_1", "test_alias").get()); assertAcked(
client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_1", "test_alias").get()
);
// ok: user has manage_aliases on test_* // ok: user has manage_aliases on test_*
assertAcked(client.admin().indices().prepareAliases().addAlias("test_*", "test_alias_2").get()); assertAcked(
client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_*", "test_alias_2").get()
);
// fails: user doesn't have manage_aliases on alias_1 // fails: user doesn't have manage_aliases on alias_1
assertThrowsAuthorizationException( assertThrowsAuthorizationException(
client.admin().indices().prepareAliases().addAlias("test_1", "alias_1").addAlias("test_1", "test_alias")::get, client.admin()
.indices()
.prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test_1", "alias_1")
.addAlias("test_1", "test_alias")::get,
TransportIndicesAliasesAction.NAME, TransportIndicesAliasesAction.NAME,
"create_test_aliases_test" "create_test_aliases_test"
); );
@ -381,17 +389,26 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
.addAlias(new Alias("test_alias_4")) .addAlias(new Alias("test_alias_4"))
); );
// ok: user has manage_aliases on test_* // ok: user has manage_aliases on test_*
assertAcked(client.admin().indices().prepareAliases().removeAlias("test_1", "test_alias_1").get()); assertAcked(
client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_1", "test_alias_1").get()
);
// ok: user has manage_aliases on test_* // ok: user has manage_aliases on test_*
assertAcked(client.admin().indices().prepareAliases().removeAlias("test_*", "test_alias_2").get()); assertAcked(
client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_*", "test_alias_2").get()
);
// ok: user has manage_aliases on test_* // ok: user has manage_aliases on test_*
assertAcked(client.admin().indices().prepareAliases().removeAlias("test_1", "test_alias_*").get()); assertAcked(
client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_1", "test_alias_*").get()
);
{ {
// fails: all aliases have been deleted, no existing aliases match test_alias_* // fails: all aliases have been deleted, no existing aliases match test_alias_*
AliasesNotFoundException exception = expectThrows( AliasesNotFoundException exception = expectThrows(
AliasesNotFoundException.class, AliasesNotFoundException.class,
client.admin().indices().prepareAliases().removeAlias("test_1", "test_alias_*")::get client.admin()
.indices()
.prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.removeAlias("test_1", "test_alias_*")::get
); );
assertThat(exception.getMessage(), equalTo("aliases [test_alias_*] missing")); assertThat(exception.getMessage(), equalTo("aliases [test_alias_*] missing"));
} }
@ -400,34 +417,37 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
// fails: all aliases have been deleted, no existing aliases match _all // fails: all aliases have been deleted, no existing aliases match _all
AliasesNotFoundException exception = expectThrows( AliasesNotFoundException exception = expectThrows(
AliasesNotFoundException.class, AliasesNotFoundException.class,
client.admin().indices().prepareAliases().removeAlias("test_1", "_all")::get client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_1", "_all")::get
); );
assertThat(exception.getMessage(), equalTo("aliases [_all] missing")); assertThat(exception.getMessage(), equalTo("aliases [_all] missing"));
} }
// add unauthorized aliases // add unauthorized aliases
if (randomBoolean()) { if (randomBoolean()) {
assertAcked(indicesAdmin().prepareAliases().addAlias("test_1", "alias_1").get()); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_1", "alias_1").get());
} }
assertAcked(indicesAdmin().prepareAliases().addAlias("test_1", "alias_2").get()); assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_1", "alias_2").get());
// fails: user doesn't have manage_aliases on alias_1 // fails: user doesn't have manage_aliases on alias_1
assertThrowsAuthorizationException( assertThrowsAuthorizationException(
client.admin().indices().prepareAliases().removeAlias("test_1", "alias_1")::get, client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_1", "alias_1")::get,
TransportIndicesAliasesAction.NAME, TransportIndicesAliasesAction.NAME,
"create_test_aliases_test" "create_test_aliases_test"
); );
// fails: user doesn't have manage_aliases on alias_1 // fails: user doesn't have manage_aliases on alias_1
assertThrowsAuthorizationException( assertThrowsAuthorizationException(
client.admin().indices().prepareAliases().removeAlias("test_1", new String[] { "_all", "alias_1" })::get, client.admin()
.indices()
.prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.removeAlias("test_1", new String[] { "_all", "alias_1" })::get,
TransportIndicesAliasesAction.NAME, TransportIndicesAliasesAction.NAME,
"create_test_aliases_test" "create_test_aliases_test"
); );
AliasesNotFoundException exception = expectThrows( AliasesNotFoundException exception = expectThrows(
AliasesNotFoundException.class, AliasesNotFoundException.class,
client.admin().indices().prepareAliases().removeAlias("test_1", "*")::get client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_1", "*")::get
); );
assertThat(exception.getMessage(), equalTo("aliases [*] missing")); assertThat(exception.getMessage(), equalTo("aliases [*] missing"));
} }
@ -518,14 +538,14 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
// fails: user doesn't have manage_aliases aliases on test_1 // fails: user doesn't have manage_aliases aliases on test_1
assertThrowsAuthorizationException( assertThrowsAuthorizationException(
client.admin().indices().prepareAliases().addAlias("test_1", "test_alias")::get, client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_1", "test_alias")::get,
TransportIndicesAliasesAction.NAME, TransportIndicesAliasesAction.NAME,
"create_test_aliases_alias" "create_test_aliases_alias"
); );
// fails: user doesn't have manage_aliases aliases on test_1 // fails: user doesn't have manage_aliases aliases on test_1
assertThrowsAuthorizationException( assertThrowsAuthorizationException(
client.admin().indices().prepareAliases().addAlias("test_1", "alias_1")::get, client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_1", "alias_1")::get,
TransportIndicesAliasesAction.NAME, TransportIndicesAliasesAction.NAME,
"create_test_aliases_alias" "create_test_aliases_alias"
); );
@ -533,7 +553,7 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
// fails: user doesn't have manage_aliases aliases on test_*, no matching indices to replace wildcards // fails: user doesn't have manage_aliases aliases on test_*, no matching indices to replace wildcards
IndexNotFoundException indexNotFoundException = expectThrows( IndexNotFoundException indexNotFoundException = expectThrows(
IndexNotFoundException.class, IndexNotFoundException.class,
client.admin().indices().prepareAliases().addAlias("test_*", "alias_1")::get client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_*", "alias_1")::get
); );
assertThat(indexNotFoundException.toString(), containsString("[test_*]")); assertThat(indexNotFoundException.toString(), containsString("[test_*]"));
} }
@ -568,13 +588,16 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
// fails: user doesn't have manage_aliases on test_1 // fails: user doesn't have manage_aliases on test_1
assertThrowsAuthorizationException( assertThrowsAuthorizationException(
client.admin().indices().prepareAliases().removeAlias("test_1", "test_alias")::get, client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_1", "test_alias")::get,
TransportIndicesAliasesAction.NAME, TransportIndicesAliasesAction.NAME,
"create_test_aliases_alias" "create_test_aliases_alias"
); );
// fails: user doesn't have manage_aliases on test_*, wildcards can't get replaced // fails: user doesn't have manage_aliases on test_*, wildcards can't get replaced
expectThrows(IndexNotFoundException.class, client.admin().indices().prepareAliases().removeAlias("test_*", "alias_1")::get); expectThrows(
IndexNotFoundException.class,
client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_*", "alias_1")::get
);
} }
public void testGetAliasesCreateAndAliasesPermission2() { public void testGetAliasesCreateAndAliasesPermission2() {
@ -649,11 +672,11 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
// user has create permission on test_* and manage_aliases permission on test_*,alias_*. All good. // user has create permission on test_* and manage_aliases permission on test_*,alias_*. All good.
assertAcked(client.admin().indices().prepareCreate("test_1")); assertAcked(client.admin().indices().prepareCreate("test_1"));
assertAcked(client.admin().indices().prepareAliases().addAlias("test_1", "test_alias")); assertAcked(client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_1", "test_alias"));
assertAcked(client.admin().indices().prepareAliases().addAlias("test_1", "alias_1")); assertAcked(client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_1", "alias_1"));
assertAcked(client.admin().indices().prepareAliases().addAlias("test_*", "alias_2")); assertAcked(client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test_*", "alias_2"));
} }
public void testCreateIndexAndAliasesCreateAndAliasesPermission3() { public void testCreateIndexAndAliasesCreateAndAliasesPermission3() {
@ -689,19 +712,23 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
// fails: user doesn't have manage_aliases privilege on non_authorized // fails: user doesn't have manage_aliases privilege on non_authorized
assertThrowsAuthorizationException( assertThrowsAuthorizationException(
client.admin().indices().prepareAliases().removeAlias("test_1", "non_authorized").removeAlias("test_1", "test_alias")::get, client.admin()
.indices()
.prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.removeAlias("test_1", "non_authorized")
.removeAlias("test_1", "test_alias")::get,
TransportIndicesAliasesAction.NAME, TransportIndicesAliasesAction.NAME,
"create_test_aliases_test_alias" "create_test_aliases_test_alias"
); );
assertAcked(client.admin().indices().prepareAliases().removeAlias("test_1", "alias_1")); assertAcked(client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_1", "alias_1"));
assertAcked(client.admin().indices().prepareAliases().removeAlias("test_*", "_all")); assertAcked(client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_*", "_all"));
// fails: all aliases have been deleted, _all can't be resolved to any existing authorized aliases // fails: all aliases have been deleted, _all can't be resolved to any existing authorized aliases
AliasesNotFoundException exception = expectThrows( AliasesNotFoundException exception = expectThrows(
AliasesNotFoundException.class, AliasesNotFoundException.class,
client.admin().indices().prepareAliases().removeAlias("test_1", "_all")::get client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test_1", "_all")::get
); );
assertThat(exception.getMessage(), equalTo("aliases [_all] missing")); assertThat(exception.getMessage(), equalTo("aliases [_all] missing"));
} }
@ -873,11 +900,11 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
assertAcked(client.admin().indices().prepareCreate("test_delete_1").get()); assertAcked(client.admin().indices().prepareCreate("test_delete_1").get());
assertAcked(client.admin().indices().prepareCreate("test_1").addAlias(new Alias("test_alias_1"))); assertAcked(client.admin().indices().prepareCreate("test_1").addAlias(new Alias("test_alias_1")));
assertAcked(client.admin().indices().prepareAliases().removeIndex("test_delete_*").get()); assertAcked(client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeIndex("test_delete_*").get());
assertAliases(client.admin().indices().prepareGetAliases(TEST_REQUEST_TIMEOUT).setAliases("*"), "test_1", "test_alias_1"); assertAliases(client.admin().indices().prepareGetAliases(TEST_REQUEST_TIMEOUT).setAliases("*"), "test_1", "test_alias_1");
// test that the remove index wildcard expacnds only to authorized indices // test that the remove index wildcard expacnds only to authorized indices
assertAcked(client.admin().indices().prepareAliases().removeIndex("*").get()); assertAcked(client.admin().indices().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeIndex("*").get());
GetAliasesResponse getAliasesResponse = client.admin().indices().prepareGetAliases(TEST_REQUEST_TIMEOUT).setAliases("*").get(); GetAliasesResponse getAliasesResponse = client.admin().indices().prepareGetAliases(TEST_REQUEST_TIMEOUT).setAliases("*").get();
assertThat(getAliasesResponse.getAliases().size(), equalTo(0)); assertThat(getAliasesResponse.getAliases().size(), equalTo(0));
assertAliases( assertAliases(
@ -912,7 +939,7 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
assertAcked( assertAcked(
aliasesClient.admin() aliasesClient.admin()
.indices() .indices()
.prepareAliases() .prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(hiddenIndex).alias(visibleAlias)) .addAliasAction(IndicesAliasesRequest.AliasActions.add().index(hiddenIndex).alias(visibleAlias))
); );
@ -932,7 +959,7 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
assertAcked( assertAcked(
aliasesClient.admin() aliasesClient.admin()
.indices() .indices()
.prepareAliases() .prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(hiddenIndex).alias(visibleAlias)) .addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(hiddenIndex).alias(visibleAlias))
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(hiddenIndex).alias(hiddenAlias).isHidden(true)) .addAliasAction(IndicesAliasesRequest.AliasActions.add().index(hiddenIndex).alias(hiddenAlias).isHidden(true))
); );

View file

@ -345,7 +345,7 @@ public abstract class SecurityIntegTestCase extends ESIntegTestCase {
if (frequently()) { if (frequently()) {
boolean aliasAdded = false; boolean aliasAdded = false;
IndicesAliasesRequestBuilder builder = indicesAdmin().prepareAliases(); IndicesAliasesRequestBuilder builder = indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
for (String index : indices) { for (String index : indices) {
if (frequently()) { if (frequently()) {
// one alias per index with prefix "alias-" // one alias per index with prefix "alias-"

View file

@ -2116,7 +2116,9 @@ public class AuthorizationServiceTests extends ESTestCase {
requests.add( requests.add(
new Tuple<>( new Tuple<>(
TransportIndicesAliasesAction.NAME, TransportIndicesAliasesAction.NAME,
new IndicesAliasesRequest().addAliasAction(AliasActions.add().alias("security_alias").index(INTERNAL_SECURITY_MAIN_INDEX_7)) new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAliasAction(
AliasActions.add().alias("security_alias").index(INTERNAL_SECURITY_MAIN_INDEX_7)
)
) )
); );
requests.add( requests.add(
@ -2388,7 +2390,9 @@ public class AuthorizationServiceTests extends ESTestCase {
requests.add( requests.add(
new Tuple<>( new Tuple<>(
TransportIndicesAliasesAction.NAME, TransportIndicesAliasesAction.NAME,
new IndicesAliasesRequest().addAliasAction(AliasActions.add().alias("security_alias").index(INTERNAL_SECURITY_MAIN_INDEX_7)) new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAliasAction(
AliasActions.add().alias("security_alias").index(INTERNAL_SECURITY_MAIN_INDEX_7)
)
) )
); );
requests.add( requests.add(

View file

@ -988,7 +988,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveIndicesAliasesRequest() { public void testResolveIndicesAliasesRequest() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.add().alias("alias1").indices("foo", "foofoo")); request.addAliasAction(AliasActions.add().alias("alias1").indices("foo", "foofoo"));
request.addAliasAction(AliasActions.add().alias("alias2").indices("foo", "foobar")); request.addAliasAction(AliasActions.add().alias("alias2").indices("foo", "foobar"));
List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal(); List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal();
@ -1002,7 +1002,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveIndicesAliasesRequestExistingAlias() { public void testResolveIndicesAliasesRequestExistingAlias() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.add().alias("alias1").indices("foo", "foofoo")); request.addAliasAction(AliasActions.add().alias("alias1").indices("foo", "foofoo"));
request.addAliasAction(AliasActions.add().alias("foofoobar").indices("foo", "foobar")); request.addAliasAction(AliasActions.add().alias("foofoobar").indices("foo", "foobar"));
List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal(); List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal();
@ -1016,7 +1016,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveIndicesAliasesRequestMissingIndex() { public void testResolveIndicesAliasesRequestMissingIndex() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.add().alias("alias1").indices("foo", "foofoo")); request.addAliasAction(AliasActions.add().alias("alias1").indices("foo", "foofoo"));
request.addAliasAction(AliasActions.add().alias("alias2").index("missing")); request.addAliasAction(AliasActions.add().alias("alias2").index("missing"));
List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal(); List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal();
@ -1031,7 +1031,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveWildcardsIndicesAliasesRequest() { public void testResolveWildcardsIndicesAliasesRequest() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.add().alias("foo-alias").index("foo*")); request.addAliasAction(AliasActions.add().alias("foo-alias").index("foo*"));
request.addAliasAction(AliasActions.add().alias("alias2").index("bar*")); request.addAliasAction(AliasActions.add().alias("alias2").index("bar*"));
List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal(); List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal();
@ -1047,7 +1047,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveWildcardsIndicesAliasesRequestNoMatchingIndices() { public void testResolveWildcardsIndicesAliasesRequestNoMatchingIndices() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.add().alias("alias1").index("foo*")); request.addAliasAction(AliasActions.add().alias("alias1").index("foo*"));
request.addAliasAction(AliasActions.add().alias("alias2").index("bar*")); request.addAliasAction(AliasActions.add().alias("alias2").index("bar*"));
request.addAliasAction(AliasActions.add().alias("alias3").index("non_matching_*")); request.addAliasAction(AliasActions.add().alias("alias3").index("non_matching_*"));
@ -1059,7 +1059,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveAllIndicesAliasesRequest() { public void testResolveAllIndicesAliasesRequest() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.add().alias("alias1").index("_all")); request.addAliasAction(AliasActions.add().alias("alias1").index("_all"));
request.addAliasAction(AliasActions.add().alias("alias2").index("_all")); request.addAliasAction(AliasActions.add().alias("alias2").index("_all"));
List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal(); List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal();
@ -1075,7 +1075,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveAllIndicesAliasesRequestNoAuthorizedIndices() { public void testResolveAllIndicesAliasesRequestNoAuthorizedIndices() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.add().alias("alias1").index("_all")); request.addAliasAction(AliasActions.add().alias("alias1").index("_all"));
// current user is not authorized for any index, _all resolves to no indices, the request fails // current user is not authorized for any index, _all resolves to no indices, the request fails
expectThrows( expectThrows(
@ -1085,7 +1085,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveWildcardsIndicesAliasesRequestNoAuthorizedIndices() { public void testResolveWildcardsIndicesAliasesRequestNoAuthorizedIndices() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.add().alias("alias1").index("foo*")); request.addAliasAction(AliasActions.add().alias("alias1").index("foo*"));
// current user is not authorized for any index, foo* resolves to no indices, the request fails // current user is not authorized for any index, foo* resolves to no indices, the request fails
expectThrows( expectThrows(
@ -1095,7 +1095,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveIndicesAliasesRequestDeleteActions() { public void testResolveIndicesAliasesRequestDeleteActions() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.remove().index("foo").alias("foofoobar")); request.addAliasAction(AliasActions.remove().index("foo").alias("foofoobar"));
request.addAliasAction(AliasActions.remove().index("foofoo").alias("barbaz")); request.addAliasAction(AliasActions.remove().index("foofoo").alias("barbaz"));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME); final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME);
@ -1111,7 +1111,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveIndicesAliasesRequestDeleteActionsMissingIndex() { public void testResolveIndicesAliasesRequestDeleteActionsMissingIndex() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.remove().index("foo").alias("foofoobar")); request.addAliasAction(AliasActions.remove().index("foo").alias("foofoobar"));
request.addAliasAction(AliasActions.remove().index("missing_index").alias("missing_alias")); request.addAliasAction(AliasActions.remove().index("missing_index").alias("missing_alias"));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME); final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME);
@ -1127,7 +1127,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveWildcardsIndicesAliasesRequestDeleteActions() { public void testResolveWildcardsIndicesAliasesRequestDeleteActions() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.remove().index("foo*").alias("foofoobar")); request.addAliasAction(AliasActions.remove().index("foo*").alias("foofoobar"));
request.addAliasAction(AliasActions.remove().index("bar*").alias("barbaz")); request.addAliasAction(AliasActions.remove().index("bar*").alias("barbaz"));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME); final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME);
@ -1144,7 +1144,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveAliasesWildcardsIndicesAliasesRequestDeleteActions() { public void testResolveAliasesWildcardsIndicesAliasesRequestDeleteActions() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.remove().index("*").alias("foo*")); request.addAliasAction(AliasActions.remove().index("*").alias("foo*"));
request.addAliasAction(AliasActions.remove().index("*bar").alias("foo*")); request.addAliasAction(AliasActions.remove().index("*bar").alias("foo*"));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME); final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME);
@ -1162,7 +1162,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveAllAliasesWildcardsIndicesAliasesRequestDeleteActions() { public void testResolveAllAliasesWildcardsIndicesAliasesRequestDeleteActions() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.remove().index("*").alias("_all")); request.addAliasAction(AliasActions.remove().index("*").alias("_all"));
request.addAliasAction(AliasActions.remove().index("_all").aliases("_all", "explicit")); request.addAliasAction(AliasActions.remove().index("_all").aliases("_all", "explicit"));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME); final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME);
@ -1180,7 +1180,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveAliasesWildcardsIndicesAliasesRequestRemoveAliasActionsNoAuthorizedIndices() { public void testResolveAliasesWildcardsIndicesAliasesRequestRemoveAliasActionsNoAuthorizedIndices() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.remove().index("foo*").alias("foo*")); request.addAliasAction(AliasActions.remove().index("foo*").alias("foo*"));
request.addAliasAction(AliasActions.remove().index("*bar").alias("bar*")); request.addAliasAction(AliasActions.remove().index("*bar").alias("bar*"));
resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)); resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME));
@ -1189,7 +1189,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveAliasesWildcardsIndicesAliasesRequestRemoveIndexActions() { public void testResolveAliasesWildcardsIndicesAliasesRequestRemoveIndexActions() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.removeIndex().index("foo*")); request.addAliasAction(AliasActions.removeIndex().index("foo*"));
request.addAliasAction(AliasActions.removeIndex().index("*bar")); request.addAliasAction(AliasActions.removeIndex().index("*bar"));
resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)); resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME));
@ -1200,7 +1200,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
public void testResolveWildcardsIndicesAliasesRequestAddAndDeleteActions() { public void testResolveWildcardsIndicesAliasesRequestAddAndDeleteActions() {
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
request.addAliasAction(AliasActions.remove().index("foo*").alias("foofoobar")); request.addAliasAction(AliasActions.remove().index("foo*").alias("foofoobar"));
request.addAliasAction(AliasActions.add().index("bar*").alias("foofoobar")); request.addAliasAction(AliasActions.add().index("bar*").alias("foofoobar"));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME); final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME);
@ -1768,7 +1768,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
assertThat(indices, hasItem(SECURITY_MAIN_ALIAS)); assertThat(indices, hasItem(SECURITY_MAIN_ALIAS));
} }
{ {
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesRequest.addAliasAction(AliasActions.add().alias("security_alias").index(SECURITY_MAIN_ALIAS)); aliasesRequest.addAliasAction(AliasActions.add().alias("security_alias").index(SECURITY_MAIN_ALIAS));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices( final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(
InternalUsers.XPACK_SECURITY_USER, InternalUsers.XPACK_SECURITY_USER,
@ -1806,7 +1806,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
} }
{ {
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(); IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesRequest.addAliasAction(AliasActions.add().alias("security_alias1").index("*")); aliasesRequest.addAliasAction(AliasActions.add().alias("security_alias1").index("*"));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(allAccessUser, TransportIndicesAliasesAction.NAME); final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(allAccessUser, TransportIndicesAliasesAction.NAME);
List<String> indices = resolveIndices(aliasesRequest, authorizedIndices).getLocal(); List<String> indices = resolveIndices(aliasesRequest, authorizedIndices).getLocal();

View file

@ -110,7 +110,7 @@ public class IndicesAliasesRequestInterceptorTests extends ESTestCase {
dlsFlsFeatureEnabled dlsFlsFeatureEnabled
); );
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(); IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
if (randomBoolean()) { if (randomBoolean()) {
indicesAliasesRequest.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index("bar").alias(randomAlphaOfLength(4))); indicesAliasesRequest.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index("bar").alias(randomAlphaOfLength(4)));
} }
@ -159,7 +159,7 @@ public class IndicesAliasesRequestInterceptorTests extends ESTestCase {
false false
); );
final IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(); final IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
if (randomBoolean()) { if (randomBoolean()) {
indicesAliasesRequest.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index("bar").alias(randomAlphaOfLength(4))); indicesAliasesRequest.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index("bar").alias(randomAlphaOfLength(4)));
} }
@ -194,7 +194,7 @@ public class IndicesAliasesRequestInterceptorTests extends ESTestCase {
} }
// swap target and source for success // swap target and source for success
final IndicesAliasesRequest successRequest = new IndicesAliasesRequest(); final IndicesAliasesRequest successRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
if (randomBoolean()) { if (randomBoolean()) {
successRequest.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index("bar").alias(randomAlphaOfLength(4))); successRequest.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index("bar").alias(randomAlphaOfLength(4)));
} }

View file

@ -226,7 +226,10 @@ public final class TransformIndex {
return; return;
} }
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(
Transform.HARD_CODED_TRANSFORM_MASTER_NODE_TIMEOUT,
Transform.HARD_CODED_TRANSFORM_MASTER_NODE_TIMEOUT
);
for (DestAlias destAlias : config.getDestination().getAliases()) { for (DestAlias destAlias : config.getDestination().getAliases()) {
if (destAlias.isMoveOnCreation()) { if (destAlias.isMoveOnCreation()) {
request.addAliasAction(IndicesAliasesRequest.AliasActions.remove().alias(destAlias.getAlias()).index("*")); request.addAliasAction(IndicesAliasesRequest.AliasActions.remove().alias(destAlias.getAlias()).index("*"));

View file

@ -293,7 +293,7 @@ public abstract class AbstractWatcherIntegrationTestCase extends ESIntegTestCase
}); });
} }
indicesAdmin().prepareDelete(originalIndex.get()).get(); indicesAdmin().prepareDelete(originalIndex.get()).get();
indicesAdmin().prepareAliases().addAlias(to, originalIndexOrAlias).get(); indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(to, originalIndexOrAlias).get();
} }
protected TimeWarp timeWarp() { protected TimeWarp timeWarp() {

View file

@ -65,7 +65,10 @@ public class GetWatchTests extends AbstractWatcherIntegrationTestCase {
GetIndexResponse indexResponse = indicesAdmin().prepareGetIndex(TEST_REQUEST_TIMEOUT).setIndices(Watch.INDEX).get(); GetIndexResponse indexResponse = indicesAdmin().prepareGetIndex(TEST_REQUEST_TIMEOUT).setIndices(Watch.INDEX).get();
boolean isWatchIndexAlias = Watch.INDEX.equals(indexResponse.indices()[0]) == false; boolean isWatchIndexAlias = Watch.INDEX.equals(indexResponse.indices()[0]) == false;
if (isWatchIndexAlias) { if (isWatchIndexAlias) {
assertAcked(indicesAdmin().prepareAliases().removeAlias(indexResponse.indices()[0], Watch.INDEX)); assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.removeAlias(indexResponse.indices()[0], Watch.INDEX)
);
} else { } else {
assertAcked(indicesAdmin().prepareDelete(Watch.INDEX)); assertAcked(indicesAdmin().prepareDelete(Watch.INDEX));
} }

View file

@ -213,7 +213,7 @@ public class ReindexWithSecurityIT extends ESRestTestCase {
if (frequently()) { if (frequently()) {
boolean aliasAdded = false; boolean aliasAdded = false;
IndicesAliasesRequest request = new IndicesAliasesRequest(); IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
for (String index : indices) { for (String index : indices) {
if (frequently()) { if (frequently()) {
// one alias per index with prefix "alias-" // one alias per index with prefix "alias-"