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
);
client().execute(CreateDataStreamAction.INSTANCE, request).actionGet();
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest();
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
String aliasToDataStream = "logs";
aliasesRequest.addAliasAction(new AliasActions(AliasActions.Type.ADD).alias(aliasToDataStream).index("logs-foobar"));
assertAcked(indicesAdmin().aliases(aliasesRequest).actionGet());
@ -741,7 +741,7 @@ public class DataStreamIT extends ESIntegTestCase {
client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get();
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);
assertAcked(indicesAdmin().aliases(aliasesAddRequest).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)
.aliases("foo")
.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);
assertAcked(indicesAdmin().aliases(aliasesAddRequest).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)
.aliases("foo")
.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);
assertAcked(indicesAdmin().aliases(aliasesAddRequest).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"))));
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(addUnfilteredAliasAction);
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")));
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);
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();
assertThat(response.getDataStreamAliases().size(), equalTo(dataStreams.length));
@ -936,7 +942,7 @@ public class DataStreamIT extends ESIntegTestCase {
}
Exception e = expectThrows(
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 + "]"));
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);
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);
Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest));
assertThat(
@ -983,7 +989,7 @@ public class DataStreamIT extends ESIntegTestCase {
client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get();
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);
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"));
@ -1000,7 +1006,7 @@ public class DataStreamIT extends ESIntegTestCase {
);
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-myindex").aliases("my-alias2"));
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())));
aliasesAddRequest = new IndicesAliasesRequest();
aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
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-alias2"));
@ -1035,7 +1041,7 @@ public class DataStreamIT extends ESIntegTestCase {
);
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", "my-alias2")
);
@ -1053,13 +1059,13 @@ public class DataStreamIT extends ESIntegTestCase {
}
// 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*"));
expectThrows(InvalidAliasNameException.class, indicesAdmin().aliases(aliasesAddRequest));
}
// REMOVE does resolve wildcards:
{
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest();
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
if (randomBoolean()) {
aliasesAddRequest.addAliasAction(new AliasActions(AliasActions.Type.REMOVE).index("metrics-*").aliases("my-*"));
} else {
@ -1083,7 +1089,7 @@ public class DataStreamIT extends ESIntegTestCase {
client().execute(CreateDataStreamAction.INSTANCE, createDataStreamRequest).get();
{
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);
Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest));
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-*")
.aliases("my-alias")
.indexRouting("[index_routing]");
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest();
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction);
Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest));
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-*")
.aliases("my-alias")
.searchRouting("[search_routing]");
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest();
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction);
Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest));
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-*")
.aliases("my-alias")
.isHidden(randomBoolean());
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest();
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction);
Exception e = expectThrows(IllegalArgumentException.class, indicesAdmin().aliases(aliasesAddRequest));
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-*"));
var request = new CreateDataStreamAction.Request(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT, "my-ds");
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"));
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");
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"));
var e = expectThrows(IllegalStateException.class, indicesAdmin().aliases(aliasesAddRequest));
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");
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"));
var e = expectThrows(InvalidAliasNameException.class, indicesAdmin().aliases(aliasesAddRequest));
assertThat(
@ -1872,7 +1878,7 @@ public class DataStreamIT extends ESIntegTestCase {
var request = new CreateDataStreamAction.Request(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT, "logs-es");
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"));
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");
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"));
assertAcked(indicesAdmin().aliases(aliasesAddRequest).actionGet());
@ -1898,7 +1904,7 @@ public class DataStreamIT extends ESIntegTestCase {
{
CreateIndexRequest createIndexRequest = new CreateIndexRequest("my-index");
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"));
var e = expectThrows(IllegalStateException.class, indicesAdmin().aliases(addAliasRequest));
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);
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("index2").alias(alias).writeIndex(false));
assertAcked(indicesAdmin().aliases(request).get());
@ -99,7 +99,7 @@ public class DataStreamMigrationIT extends ESIntegTestCase {
indexDocs("index2", numDocs2);
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("index2").alias(alias).writeIndex(false));
assertAcked(indicesAdmin().aliases(request).get());
@ -134,7 +134,7 @@ public class DataStreamMigrationIT extends ESIntegTestCase {
indicesAdmin().create(new CreateIndexRequest("index2")).get();
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("index2").alias(alias).writeIndex(false));
assertAcked(indicesAdmin().aliases(request).get());
@ -172,7 +172,7 @@ public class DataStreamMigrationIT extends ESIntegTestCase {
indexDocs("index2", numDocs2, "foo");
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("index2").alias(alias).writeIndex(false));
assertAcked(indicesAdmin().aliases(request).get());
@ -210,7 +210,7 @@ public class DataStreamMigrationIT extends ESIntegTestCase {
indexDocs("index2", numDocs2);
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("index2").alias(alias).writeIndex(false));
assertAcked(indicesAdmin().aliases(request).get());

View file

@ -162,7 +162,7 @@ public class DataStreamsSnapshotsIT extends AbstractSnapshotIntegTestCase {
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
id = indexResponse.getId();
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest();
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesRequest.addAliasAction(
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 {
putComposableIndexTemplate(false);
createDataStream();
var indicesAliasesRequest = new IndicesAliasesRequest();
var indicesAliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
indicesAliasesRequest.addAliasAction(
IndicesAliasesRequest.AliasActions.add().alias("some-alias").index(dataStream).writeIndex(true)
);

View file

@ -1811,9 +1811,13 @@ public class ChildQuerySearchIT extends ParentChildTestCase {
refresh();
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 -> {
assertHitCount(response, 1L);

View file

@ -62,7 +62,10 @@ public class RankEvalRequestIT extends ESIntegTestCase {
refresh();
// 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"))
.build();
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"));
assertAcked(client().admin().indices().aliases(request).actionGet());
final GetAliasesResponse response = client().admin()
@ -98,7 +98,7 @@ public class ValidateIndicesAliasesRequestIT extends ESSingleNodeTestCase {
.build();
createIndex("index", settings);
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"));
final Exception e = expectThrows(IllegalStateException.class, client().admin().indices().aliases(request));
assertThat(e, hasToString(containsString("origin [" + origin + "] not allowed for index [index]")));
@ -114,7 +114,7 @@ public class ValidateIndicesAliasesRequestIT extends ESSingleNodeTestCase {
.build();
createIndex("bar", barIndexSettings);
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("bar").alias("alias"));
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);
// 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));
// ...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))
);
assertAcked(
indicesAdmin().prepareAliases().addAlias("test1", "testAlias"),
indicesAdmin().prepareAliases().addAlias(new String[] { "test2", "test3" }, "testFailedAlias")
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test1", "testAlias"),
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias(new String[] { "test2", "test3" }, "testFailedAlias")
);
long[] validCheckpoints = new long[numberOfShards];

View file

@ -85,7 +85,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases("test", () -> {
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");
@ -104,7 +104,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases("test", () -> {
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");
@ -119,7 +119,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases("test_x", () -> {
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");
@ -149,7 +149,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases("test_x", () -> {
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");
@ -158,7 +158,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases("test_x", () -> {
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");
@ -171,7 +171,11 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases("test_x", () -> {
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]");
@ -184,11 +188,17 @@ public class IndexAliasesIT extends ESIntegTestCase {
createIndex("test");
// 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]"));
// 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]"));
}
@ -200,7 +210,10 @@ public class IndexAliasesIT extends ESIntegTestCase {
logger.info("--> aliasing index [test] with [alias1] and filter [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
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");
IllegalArgumentException iae = expectThrows(
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());
}
@ -232,19 +245,32 @@ public class IndexAliasesIT extends ESIntegTestCase {
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(
"test",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test", "foos", termQuery("name", "foo")))
() -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "alias1"))
);
assertAliasesVersionIncreases(
"test",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test", "bars", termQuery("name", "bar")))
() -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test", "alias2"))
);
assertAliasesVersionIncreases(
"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]");
@ -328,23 +354,44 @@ public class IndexAliasesIT extends ESIntegTestCase {
ensureGreen();
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(
"test1",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "foos", termQuery("name", "foo")))
() -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test1", "aliasToTest1"))
);
assertAliasesVersionIncreases(
"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]");
assertAliasesVersionIncreases("test2", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test2", "aliasToTest2")));
assertAliasesVersionIncreases("test2", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test2", "aliasToTests")));
assertAliasesVersionIncreases(
"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]");
@ -431,31 +478,52 @@ public class IndexAliasesIT extends ESIntegTestCase {
ensureGreen();
logger.info("--> adding aliases to indices");
assertAliasesVersionIncreases("test1", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "alias12")));
assertAliasesVersionIncreases("test2", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test2", "alias12")));
assertAliasesVersionIncreases(
"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");
assertAliasesVersionIncreases(
"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(
"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(
"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(
"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(
"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]");
@ -527,31 +595,58 @@ public class IndexAliasesIT extends ESIntegTestCase {
ensureGreen();
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(
"test1",
() -> assertAcked(indicesAdmin().prepareAliases().addAlias("test1", "foos", termQuery("name", "foo")))
() -> assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test1", "aliasToTest1"))
);
assertAliasesVersionIncreases(
"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().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]");
assertAliasesVersionIncreases("test2", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test2", "aliasToTest2")));
assertAliasesVersionIncreases("test2", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("test2", "aliasToTests")));
assertAliasesVersionIncreases(
"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().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]");
@ -584,7 +679,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases(
"test1",
() -> assertAcked(
indicesAdmin().prepareAliases()
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test1", "aliasToTest1")
.addAlias("test1", "aliasToTests")
.addAlias("test1", "foos", termQuery("name", "foo"))
@ -597,7 +692,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases(
"test2",
() -> assertAcked(
indicesAdmin().prepareAliases()
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test2", "aliasToTest2")
.addAlias("test2", "aliasToTests")
.addAlias("test2", "foos", termQuery("name", "foo"))
@ -608,7 +703,10 @@ public class IndexAliasesIT extends ESIntegTestCase {
String[] indices = { "test1", "test2" };
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) {
assertTrue(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, alias).get().getAliases().isEmpty());
@ -619,12 +717,21 @@ public class IndexAliasesIT extends ESIntegTestCase {
ensureGreen();
logger.info("--> adding [foo] alias to [foo_foo] and [bar_bar]");
assertAliasesVersionIncreases("foo_foo", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("foo_foo", "foo")));
assertAliasesVersionIncreases("bar_bar", () -> assertAcked(indicesAdmin().prepareAliases().addAlias("bar_bar", "foo")));
assertAliasesVersionIncreases(
"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(
"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());
@ -632,7 +739,8 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foo").setIndices("bar_bar").get().getAliases().isEmpty());
IllegalArgumentException iae = expectThrows(
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(
"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++) {
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();
}
}
@ -661,7 +772,10 @@ public class IndexAliasesIT extends ESIntegTestCase {
for (int i = 0; i < 10; 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();
}
}
@ -680,7 +794,12 @@ public class IndexAliasesIT extends ESIntegTestCase {
executor.submit(new Runnable() {
@Override
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();
}
});
@ -699,14 +818,19 @@ public class IndexAliasesIT extends ESIntegTestCase {
ensureGreen();
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);
logger.info("--> recreating alias1 ");
StopWatch stopWatch = new StopWatch();
stopWatch.start();
assertAliasesVersionUnchanged(
"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()));
@ -715,7 +839,11 @@ public class IndexAliasesIT extends ESIntegTestCase {
final TermQueryBuilder fooFilter = termQuery("name", "foo");
assertAliasesVersionIncreases(
"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()));
@ -723,7 +851,11 @@ public class IndexAliasesIT extends ESIntegTestCase {
stopWatch.start();
assertAliasesVersionUnchanged(
"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()));
@ -732,7 +864,11 @@ public class IndexAliasesIT extends ESIntegTestCase {
final TermQueryBuilder barFilter = termQuery("name", "bar");
assertAliasesVersionIncreases(
"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()));
@ -747,7 +883,11 @@ public class IndexAliasesIT extends ESIntegTestCase {
stopWatch.start();
assertAliasesVersionIncreases(
"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()));
}
@ -758,7 +898,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
ensureGreen();
logger.info("--> deleting alias1 which does not exist");
try {
indicesAdmin().prepareAliases().removeAlias("test", "alias1").get();
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test", "alias1").get();
fail("Expected AliasesNotFoundException");
} catch (AliasesNotFoundException e) {
assertThat(e.getMessage(), containsString("[alias1] missing"));
@ -779,7 +919,11 @@ public class IndexAliasesIT extends ESIntegTestCase {
logger.info("--> creating aliases [alias1, alias2]");
assertAliasesVersionIncreases(
"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");
@ -815,7 +959,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases(
new String[] { "bazbar", "foobar" },
() -> assertAcked(
indicesAdmin().prepareAliases()
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("bazbar", "bar")
.addAlias("bazbar", "bac", termQuery("field", "value"))
.addAlias("foobar", "foo")
@ -825,7 +969,8 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases(
"foobar",
() -> 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));
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();
for (final Map.Entry<String, List<AliasMetadata>> entry : getResponse.getAliases().entrySet()) {
@ -967,7 +1112,11 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases(
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();
@ -1041,17 +1190,21 @@ public class IndexAliasesIT extends ESIntegTestCase {
ensureGreen();
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.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(
"The provided expression [week_20] matches an alias, specify the corresponding concrete indices instead.",
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
@ -1063,15 +1216,21 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAcked(prepareCreate("test"));
assertAliasesVersionIncreases(
"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(
"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(
"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(
"my-index",
() -> 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(
"my-index",
() -> 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(
"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(
indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "alias2").get().getAliases().get("test").size(),
equalTo(1)
@ -1129,11 +1299,17 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionUnchanged(
"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(
"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));
assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "alias2").get().getAliases().isEmpty());
@ -1147,11 +1323,17 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionUnchanged(
"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(
"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);
@ -1166,24 +1348,27 @@ public class IndexAliasesIT extends ESIntegTestCase {
assertAliasesVersionIncreases(
new String[] { "foo_foo", "bar_bar" },
() -> assertAcked(
indicesAdmin().prepareAliases().addAlias("bar_bar", "foo"),
indicesAdmin().prepareAliases().addAlias("foo_foo", "foo")
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("bar_bar", "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(
"The provided expression [foo] matches an alias, specify the corresponding concrete indices instead.",
iae.getMessage()
);
assertAcked(indicesAdmin().prepareAliases().removeIndex("foo*"));
assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeIndex("foo*"));
assertFalse(indexExists("foo_foo"));
assertFalse(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, "foo").get().getAliases().isEmpty());
assertTrue(indexExists("bar_bar"));
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());
assertFalse(indexExists("bar_bar"));
}
@ -1193,7 +1378,9 @@ public class IndexAliasesIT extends ESIntegTestCase {
indexRandom(true, prepareIndex("test_2").setId("test").setSource("test", "test"));
assertAliasesVersionIncreases(
"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);
}
@ -1204,56 +1391,93 @@ public class IndexAliasesIT extends ESIntegTestCase {
final String alias = randomAlphaOfLength(7).toLowerCase(Locale.ROOT);
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.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());
assertThat(ex.getMessage(), containsString("has is_hidden set to true on indices"));
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.remove().index(index1).alias(alias)));
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index1).alias(alias).isHidden(false)));
assertAcked(
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(
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(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index1).alias(alias).isHidden(true)));
expectThrows(
IllegalStateException.class,
indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(false))
assertAcked(
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(true))
);
expectThrows(
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
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.remove().index(index1).alias(alias)));
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index1).alias(alias).isHidden(false)));
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(false)));
assertAcked(
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))
);
assertAcked(
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(false))
);
// Both hidden
assertAcked(
indicesAdmin().prepareAliases()
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.remove().index(index1).alias(alias))
.addAliasAction(AliasActions.remove().index(index2).alias(alias))
);
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index1).alias(alias).isHidden(true)));
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(true)));
assertAcked(
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
assertAcked(
indicesAdmin().prepareAliases()
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.remove().index(index1).alias(alias))
.addAliasAction(AliasActions.remove().index(index2).alias(alias))
);
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index(index2).alias(alias).isHidden(false)));
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(index2).alias(alias).isHidden(true))
);
@ -1266,7 +1490,7 @@ public class IndexAliasesIT extends ESIntegTestCase {
createIndex(writeIndex, nonWriteIndex);
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(nonWriteIndex).alias(alias).isHidden(true))
);

View file

@ -38,7 +38,10 @@ public class SystemIndexAliasIT extends ESIntegTestCase {
public void testCreateAliasForSystemIndex() throws Exception {
createIndex(PRIMARY_INDEX_NAME);
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(
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(
"test",
"a_test",

View file

@ -84,7 +84,7 @@ public class ClusterSearchShardsIT extends ESIntegTestCase {
public void testMultipleIndicesAllocation() {
createIndex("test1", 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("test2").alias("routing_alias").routing("EFG"))
.get();

View file

@ -407,7 +407,9 @@ public class RecoveryFromGatewayIT extends ESIntegTestCase {
.endObject()
)
.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");
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().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
@ -163,7 +164,7 @@ public class HiddenIndexIT extends ESIntegTestCase {
// Now try with a hidden alias
assertAcked(
indicesAdmin().prepareAliases()
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(hiddenIndex).alias(visibleAlias))
.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
assertAcked(
indicesAdmin().prepareAliases()
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(hiddenIndex).alias(hiddenAlias))
.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 {
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(
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 {
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("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()
);
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("foobar").get().getAliases().isEmpty()

View file

@ -745,7 +745,7 @@ public class ResolveClusterIT extends AbstractMultiClustersTestCase {
IndicesAliasesRequest.AliasActions addAction = new IndicesAliasesRequest.AliasActions(
IndicesAliasesRequest.AliasActions.Type.ADD
).index(localIndex).aliases(localAlias);
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest();
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction);
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.Type.ADD
).index(remoteIndex1).aliases(remoteAlias1);
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest();
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction);
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.Type.ADD
).index(remoteIndex2).aliases(remoteAlias2);
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest();
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesAddRequest.addAliasAction(addAction);
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();
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));
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();
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));
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));
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-1");
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();
indexRandom(
true,
@ -54,7 +57,7 @@ public class AliasResolveRoutingIT extends ESIntegTestCase {
createIndex("test2");
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("alias10").routing("0"))
.addAliasAction(AliasActions.add().index("test1").alias("alias110").searchRouting("1,0"))
@ -96,7 +99,7 @@ public class AliasResolveRoutingIT extends ESIntegTestCase {
createIndex("test3");
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("alias10").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 {
createIndex("test");
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");
prepareIndex("alias0").setId("1").setSource("field", "value1").setRefreshPolicy(RefreshPolicy.IMMEDIATE).get();
@ -98,7 +101,7 @@ public class AliasRoutingIT extends ESIntegTestCase {
createIndex("test");
ensureGreen();
assertAcked(
indicesAdmin().prepareAliases()
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(AliasActions.add().index("test").alias("alias"))
.addAliasAction(AliasActions.add().index("test").alias("alias0").routing("0"))
.addAliasAction(AliasActions.add().index("test").alias("alias1").routing("1"))
@ -230,7 +233,7 @@ public class AliasRoutingIT extends ESIntegTestCase {
createIndex("test-b");
ensureGreen();
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-a1").routing("1"))
.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 {
createIndex("index", "index_2");
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]");
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 {
createIndex("index", "index_2");
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]");
prepareIndex("index_1").setId("1").setSource("field", "value1").setRefreshPolicy(RefreshPolicy.IMMEDIATE).get();
@ -344,7 +353,10 @@ public class AliasRoutingIT extends ESIntegTestCase {
createIndex("test");
ensureGreen();
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]");
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]");
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");
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");
assertAcked(
indicesAdmin().prepareAliases()
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.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" };
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("test*"), Set.of("test*"), 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" };
createIndex(indices);
assertAcked(
indicesAdmin().prepareAliases().addAlias("test1", "alias1"),
indicesAdmin().prepareAliases().addAlias(indices, "alias2")
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test1", "alias1"),
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(indices, "alias2")
);
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() {
final String[] indices = { "test1", "test2" };
createIndex(indices);
assertAcked(indicesAdmin().prepareAliases().addAlias(indices, "alias"));
assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(indices, "alias"));
Consumer<ValidateQueryResponse> responseAssertions = r -> {
assertThat(r.getStatus(), equalTo(RestStatus.OK));

View file

@ -3184,7 +3184,10 @@ public class HighlighterSearchIT extends ESIntegTestCase {
.endObject()
.endObject();
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();
indexRandom(true, prepareIndex("test").setSource("foo", "test japanese"));

View file

@ -185,7 +185,7 @@ public class FieldCapabilitiesIT extends ESIntegTestCase {
.endObject()
.endObject();
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

View file

@ -51,7 +51,7 @@ public class FieldCapsHasValueTests extends ESIntegTestCase {
.setSettings(indexSettings())
.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() {

View file

@ -200,7 +200,7 @@ public class MoreLikeThisIT extends ESIntegTestCase {
)
);
logger.info("Creating aliases alias release");
indicesAdmin().prepareAliases()
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test", "release", termQuery("text", "release"))
.addAlias("test", "beta", termQuery("text", "beta"))
.get();
@ -265,7 +265,7 @@ public class MoreLikeThisIT extends ESIntegTestCase {
String aliasName = "foo_name";
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));

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();

View file

@ -140,7 +140,7 @@ public class SearchSliceIT extends ESIntegTestCase {
});
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("alias2").routing("bar"))
.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");
assertAcked(
indicesAdmin().prepareAliases()
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test-idx-1", "alias-123")
.addAlias("test-idx-2", "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());
logger.info("--> update aliases");
assertAcked(indicesAdmin().prepareAliases().removeAlias("test-idx-3", "alias-123"));
assertAcked(indicesAdmin().prepareAliases().addAlias("test-idx-3", "alias-3"));
assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).removeAlias("test-idx-3", "alias-123"));
assertAcked(indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias("test-idx-3", "alias-3"));
logger.info("--> delete and close indices");
cluster().wipeIndices("test-idx-1", "test-idx-2");
@ -455,7 +455,7 @@ public class RestoreSnapshotIT extends AbstractSnapshotIntegTestCase {
assertAcked(
client.admin()
.indices()
.prepareAliases()
.prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("test-idx-1", "alias-1", false)
.addAlias("test-idx-2", "alias-2", 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
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
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.StreamOutput;
import org.elasticsearch.common.io.stream.Writeable;
import org.elasticsearch.core.TimeValue;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.xcontent.ConstructingObjectParser;
import org.elasticsearch.xcontent.ObjectParser;
@ -85,8 +86,8 @@ public class IndicesAliasesRequest extends AcknowledgedRequest<IndicesAliasesReq
origin = in.readOptionalString();
}
public IndicesAliasesRequest() {
super(TRAPPY_IMPLICIT_DEFAULT_MASTER_NODE_TIMEOUT, DEFAULT_ACK_TIMEOUT);
public IndicesAliasesRequest(TimeValue masterNodeTimeout, TimeValue ackTimeout) {
super(masterNodeTimeout, ackTimeout);
}
/**
@ -161,8 +162,8 @@ public class IndicesAliasesRequest extends AcknowledgedRequest<IndicesAliasesReq
return new AliasActions(AliasActions.Type.REMOVE_INDEX);
}
private static ObjectParser<AliasActions, Void> parser(String name, Supplier<AliasActions> supplier) {
ObjectParser<AliasActions, Void> parser = new ObjectParser<>(name, supplier);
private static ObjectParser<AliasActions, Factory> parser(String name, Supplier<AliasActions> supplier) {
ObjectParser<AliasActions, Factory> parser = new ObjectParser<>(name, supplier);
parser.declareString((action, index) -> {
if (action.indices() != null) {
throw new IllegalArgumentException("Only one of [index] and [indices] is supported");
@ -190,9 +191,9 @@ public class IndicesAliasesRequest extends AcknowledgedRequest<IndicesAliasesReq
return parser;
}
private static final ObjectParser<AliasActions, Void> 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, Void> REMOVE_INDEX_PARSER = parser(
private static final ObjectParser<AliasActions, Factory> ADD_PARSER = parser(ADD.getPreferredName(), AliasActions::add);
private static final ObjectParser<AliasActions, Factory> REMOVE_PARSER = parser(REMOVE.getPreferredName(), AliasActions::remove);
private static final ObjectParser<AliasActions, Factory> REMOVE_INDEX_PARSER = parser(
REMOVE_INDEX.getPreferredName(),
AliasActions::removeIndex
);
@ -216,7 +217,7 @@ public class IndicesAliasesRequest extends AcknowledgedRequest<IndicesAliasesReq
/**
* 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
AliasActions action = null;
for (Object o : a) {
@ -690,7 +691,11 @@ public class IndicesAliasesRequest extends AcknowledgedRequest<IndicesAliasesReq
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 {
PARSER.declareObjectArray((request, actions) -> {
for (AliasActions action : actions) {
@ -699,7 +704,7 @@ public class IndicesAliasesRequest extends AcknowledgedRequest<IndicesAliasesReq
}, AliasActions.PARSER, new ParseField("actions"));
}
public static IndicesAliasesRequest fromXContent(XContentParser parser) {
return PARSER.apply(parser, null);
public static IndicesAliasesRequest fromXContent(Factory factory, XContentParser parser) {
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.support.master.AcknowledgedRequestBuilder;
import org.elasticsearch.client.internal.ElasticsearchClient;
import org.elasticsearch.core.TimeValue;
import org.elasticsearch.index.query.QueryBuilder;
import java.util.Map;
@ -24,8 +25,8 @@ public class IndicesAliasesRequestBuilder extends AcknowledgedRequestBuilder<
IndicesAliasesResponse,
IndicesAliasesRequestBuilder> {
public IndicesAliasesRequestBuilder(ElasticsearchClient client) {
super(client, TransportIndicesAliasesAction.TYPE, new IndicesAliasesRequest());
public IndicesAliasesRequestBuilder(ElasticsearchClient client, TimeValue masterNodeTimeout, TimeValue ackTimeout) {
super(client, TransportIndicesAliasesAction.TYPE, new IndicesAliasesRequest(masterNodeTimeout, ackTimeout));
}
/**

View file

@ -325,8 +325,8 @@ public class IndicesAdminClient implements ElasticsearchClient {
execute(TransportIndicesAliasesAction.TYPE, request, listener);
}
public IndicesAliasesRequestBuilder prepareAliases() {
return new IndicesAliasesRequestBuilder(this);
public IndicesAliasesRequestBuilder prepareAliases(TimeValue masterNodeTimeout, TimeValue ackTimeout) {
return new IndicesAliasesRequestBuilder(this, masterNodeTimeout, ackTimeout);
}
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 {
final String[] indices = Strings.splitStringByCommaToArray(request.param("index"));
final String[] aliases = Strings.splitStringByCommaToArray(request.param("name"));
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest();
indicesAliasesRequest.ackTimeout(getAckTimeout(request));
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(getMasterNodeTimeout(request), getAckTimeout(request));
indicesAliasesRequest.addAliasAction(AliasActions.remove().indices(indices).aliases(aliases));
indicesAliasesRequest.masterNodeTimeout(getMasterNodeTimeout(request));
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.ackTimeout(getAckTimeout(request));
indicesAliasesRequest.masterNodeTimeout(getMasterNodeTimeout(request));
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(getMasterNodeTimeout(request), getAckTimeout(request));
IndicesAliasesRequest.AliasActions aliasAction = AliasActions.add().indices(indices).alias(alias);
if (routing != null) {

View file

@ -40,9 +40,7 @@ public class RestIndicesAliasesAction extends BaseRestHandler {
@Override
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest();
indicesAliasesRequest.masterNodeTimeout(getMasterNodeTimeout(request));
indicesAliasesRequest.ackTimeout(getAckTimeout(request));
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(getMasterNodeTimeout(request), getAckTimeout(request));
try (XContentParser parser = request.contentParser()) {
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) {
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.addAlias(migrationInfo.getNextIndexName(), migrationInfo.getCurrentIndexName());

View file

@ -31,7 +31,10 @@ public class IndicesAliasesRequestTests extends ESTestCase {
IndicesAliasesRequest parsedIndicesAliasesRequest;
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());
}
@ -44,7 +47,7 @@ public class IndicesAliasesRequestTests extends ESTestCase {
private IndicesAliasesRequest createTestInstance() {
int numItems = randomIntBetween(0, 32);
IndicesAliasesRequest request = new IndicesAliasesRequest();
IndicesAliasesRequest request = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
if (randomBoolean()) {
request.ackTimeout(randomTimeValue());
}

View file

@ -367,7 +367,9 @@ public class KnnSearchSingleNodeTests extends ESSingleNodeTestCase {
.endObject()
.endObject();
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;
for (int doc = 0; doc < 10; doc++) {

View file

@ -460,7 +460,7 @@ public class IndicesServiceTests extends ESSingleNodeTestCase {
createIndex(indexName);
// 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();
// 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));
// 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.
latch = new CountDownLatch(1);

View file

@ -142,7 +142,7 @@ public class CcrAliasesIT extends CcrIntegTestCase {
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 {
@ -157,7 +157,9 @@ public class CcrAliasesIT extends CcrIntegTestCase {
assertBusy(() -> assertShardFollowTask(1));
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++) {
builder.addAlias("leader", "alias_" + i);
}
@ -183,7 +185,9 @@ public class CcrAliasesIT extends CcrIntegTestCase {
final int numberOfAliases = randomIntBetween(2, 8);
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];
for (int j = 0; j < i + 1; j++) {
@ -204,7 +208,7 @@ public class CcrAliasesIT extends CcrIntegTestCase {
assertAcked(
leaderClient().admin()
.indices()
.prepareAliases()
.prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("leader", aliasName, termQuery(randomAlphaOfLength(16), randomAlphaOfLength(16)))
);
assertAliasesExist("leader", "follower", aliasName);
@ -220,7 +224,9 @@ public class CcrAliasesIT extends CcrIntegTestCase {
}
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 {

View file

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

View file

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

View file

@ -113,8 +113,9 @@ public class SwapAliasesAndDeleteSourceIndexStep extends AsyncActionStep {
boolean createSourceIndexAlias
) {
String sourceIndexName = sourceIndex.getIndex().getName();
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest().masterNodeTimeout(TimeValue.MAX_VALUE)
.addAliasAction(IndicesAliasesRequest.AliasActions.removeIndex().index(sourceIndexName));
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(TimeValue.MAX_VALUE, TimeValue.THIRTY_SECONDS).addAliasAction(
IndicesAliasesRequest.AliasActions.removeIndex().index(sourceIndexName)
);
if (createSourceIndexAlias) {
// 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 IndicesAliasesRequestBuilder requestBuilder = client.admin()
.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(WRITE_ALIAS_NAME).isHidden(true));
SortedMap<String, IndexAbstraction> lookup = state.getMetadata().getProject().getIndicesLookup();

View file

@ -161,7 +161,15 @@ public final class MlIndexAndAlias {
if (concreteIndexNames.length == 0) {
if (indexPointedByCurrentWriteAlias.isEmpty()) {
createFirstConcreteIndex(client, firstConcreteIndex, alias, true, waitForShardCount, indexCreatedListener);
createFirstConcreteIndex(
client,
firstConcreteIndex,
alias,
true,
waitForShardCount,
masterNodeTimeout,
indexCreatedListener
);
return;
}
logger.error(
@ -172,7 +180,15 @@ public final class MlIndexAndAlias {
);
} else if (concreteIndexNames.length == 1 && concreteIndexNames[0].equals(legacyIndexWithoutSuffix)) {
if (indexPointedByCurrentWriteAlias.isEmpty()) {
createFirstConcreteIndex(client, firstConcreteIndex, alias, true, waitForShardCount, indexCreatedListener);
createFirstConcreteIndex(
client,
firstConcreteIndex,
alias,
true,
waitForShardCount,
masterNodeTimeout,
indexCreatedListener
);
return;
}
if (indexPointedByCurrentWriteAlias.get().equals(legacyIndexWithoutSuffix)) {
@ -182,8 +198,9 @@ public final class MlIndexAndAlias {
alias,
false,
waitForShardCount,
masterNodeTimeout,
indexCreatedListener.delegateFailureAndWrap(
(l, unused) -> updateWriteAlias(client, alias, legacyIndexWithoutSuffix, firstConcreteIndex, l)
(l, unused) -> updateWriteAlias(client, alias, legacyIndexWithoutSuffix, firstConcreteIndex, masterNodeTimeout, l)
)
);
return;
@ -199,7 +216,7 @@ public final class MlIndexAndAlias {
if (indexPointedByCurrentWriteAlias.isEmpty()) {
assert concreteIndexNames.length > 0;
String latestConcreteIndexName = latestIndex(concreteIndexNames);
updateWriteAlias(client, alias, null, latestConcreteIndexName, loggingListener);
updateWriteAlias(client, alias, null, latestConcreteIndexName, masterNodeTimeout, loggingListener);
return;
}
}
@ -271,6 +288,7 @@ public final class MlIndexAndAlias {
String alias,
boolean addAlias,
ActiveShardCount waitForShardCount,
TimeValue masterNodeTimeout,
ActionListener<Boolean> listener
) {
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
// already have more advanced alias update logic in their success handlers).
if (addAlias) {
updateWriteAlias(client, alias, null, index, listener);
updateWriteAlias(client, alias, null, index, masterNodeTimeout, listener);
} else {
listener.onResponse(true);
}
@ -310,6 +328,7 @@ public final class MlIndexAndAlias {
String alias,
@Nullable String currentIndex,
String newIndex,
TimeValue masterNodeTimeout,
ActionListener<Boolean> listener
) {
if (currentIndex != null) {
@ -319,7 +338,7 @@ public final class MlIndexAndAlias {
}
IndicesAliasesRequestBuilder requestBuilder = client.admin()
.indices()
.prepareAliases()
.prepareAliases(masterNodeTimeout, masterNodeTimeout)
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(newIndex).alias(alias).isHidden(true).writeIndex(true));
if (currentIndex != null) {
requestBuilder.removeAlias(currentIndex, alias);

View file

@ -97,7 +97,9 @@ public class MlIndexAndAliasTests extends ESTestCase {
new CreateIndexRequestBuilder(client, FIRST_CONCRETE_INDEX)
);
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).putTemplate(any(), any());
@ -288,7 +290,7 @@ public class MlIndexAndAliasTests extends ESTestCase {
InOrder inOrder = inOrder(indicesAdminClient, listener);
inOrder.verify(indicesAdminClient).prepareCreate(FIRST_CONCRETE_INDEX);
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(listener).onResponse(true);
@ -313,7 +315,7 @@ public class MlIndexAndAliasTests extends ESTestCase {
createIndexAndAliasIfNecessary(clusterState);
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(listener).onResponse(true);

View file

@ -753,7 +753,7 @@ public class EnrichPolicyRunner {
validateIndexBeforePromotion(enrichIndexName, clusterState);
String[] concreteIndices = indexNameExpressionResolver.concreteIndexNamesWithSystemIndexAccess(clusterState, aliasRequest);
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]);
if (indices.length > 0) {
aliasToggleRequest.addAliasAction(IndicesAliasesRequest.AliasActions.remove().indices(indices).alias(enrichIndexBase));

View file

@ -225,7 +225,7 @@ public class EnrichPolicyMaintenanceServiceTests extends ESSingleNodeTestCase {
.indices()
.getAliases(new GetAliasesRequest(TEST_REQUEST_TIMEOUT, enrichIndexBase))
.actionGet();
IndicesAliasesRequest aliasToggleRequest = new IndicesAliasesRequest();
IndicesAliasesRequest aliasToggleRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
String[] indices = getAliasesResponse.getAliases().keySet().toArray(new String[0]);
if (indices.length > 0) {
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.Settings;
import org.elasticsearch.common.settings.SettingsFilter;
import org.elasticsearch.core.TimeValue;
import org.elasticsearch.features.NodeFeature;
import org.elasticsearch.indices.SystemIndexDescriptor;
import org.elasticsearch.license.License;
@ -251,6 +252,14 @@ public class EnterpriseSearch extends Plugin implements ActionPlugin, SystemInde
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
public List<ActionHandler<? extends ActionRequest, ? extends ActionResponse>> getActions() {
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.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;
/**
@ -260,7 +261,10 @@ public class SearchApplicationIndexService {
requestBuilder = updateAliasIndices(currentAliases, targetAliases, searchAliasName);
} 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);
@ -271,7 +275,9 @@ public class SearchApplicationIndexService {
Set<String> deleteIndices = new HashSet<>(currentAliases);
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
for (String newIndex : targetAliases) {
@ -330,9 +336,10 @@ public class SearchApplicationIndexService {
}
private void removeAlias(String searchAliasName, ActionListener<AcknowledgedResponse> listener) {
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest().addAliasAction(
IndicesAliasesRequest.AliasActions.remove().aliases(searchAliasName).indices("*")
);
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(
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<>() {
@Override
public void onResponse(IndicesAliasesResponse response) {

View file

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

View file

@ -1418,7 +1418,10 @@ public class EsqlActionIT extends AbstractEsqlIntegTestCase {
public void testQueryOnEmptyMappingIndex() {
createIndex("empty-test", 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-test2").alias("alias-test"));
indicesAdmin().aliases(indicesAliasesRequestBuilder.request()).actionGet();
@ -1442,7 +1445,10 @@ public class EsqlActionIT extends AbstractEsqlIntegTestCase {
public void testQueryOnEmptyDataIndex() {
createIndex("empty_data-test", Settings.EMPTY);
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-test2").alias("alias-empty_data-test"));
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 {
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest();
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
for (String indexName : indices) {
aliasesRequest.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(indexName).alias(alias));
}

View file

@ -144,7 +144,7 @@ public class CanMatchIT extends AbstractEsqlIntegTestCase {
ElasticsearchAssertions.assertAcked(
client().admin()
.indices()
.prepareAliases()
.prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAlias("employees", "engineers", new MatchQueryBuilder("dept", "engineering"))
.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)
)
.addAliasAction(

View file

@ -95,7 +95,10 @@ public class AnnotationIndexIT extends MlSingleNodeTestCase {
String reindexedIndexName = ".reindexed-v7-ml-annotations-6";
createReindexedIndex(reindexedIndexName);
IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases()
IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases(
TEST_REQUEST_TIMEOUT,
TEST_REQUEST_TIMEOUT
)
.addAliasAction(
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";
createReindexedIndex(reindexedIndexName);
IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases()
IndicesAliasesRequestBuilder indicesAliasesRequestBuilder = indicesAdmin().prepareAliases(
TEST_REQUEST_TIMEOUT,
TEST_REQUEST_TIMEOUT
)
.addAliasAction(
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";
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 annotations index maintenance code should add them back.
.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";
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 annotations index maintenance code should add them back.
.addAliasAction(IndicesAliasesRequest.AliasActions.removeIndex().index(AnnotationIndex.LATEST_INDEX_NAME))

View file

@ -130,7 +130,7 @@ public class JobStorageDeletionTaskIT extends BaseMlIntegTestCase {
createBuckets(jobIdShared, 1, 10);
// Manually switching over alias info
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest().addAliasAction(
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAliasAction(
IndicesAliasesRequest.AliasActions.add()
.alias(AnomalyDetectorsIndex.jobResultsAliasedName(jobIdDedicated))
.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.
// Otherwise leave null and rollover will calculate the new name
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(
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);
client.admin()
.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))
.execute(listener);
}

View file

@ -150,7 +150,14 @@ public class MlIndexRollover implements MlAutoUpdateService.UpdateAction {
SubscribableListener.<Boolean>newForked(l -> {
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 {
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.
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 (AliasMetadata existingAliasMetadata : entry.getValue()) {
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.utils.ExceptionsHelper;
import org.elasticsearch.xpack.core.security.user.InternalUsers;
import org.elasticsearch.xpack.ml.MachineLearning;
import org.elasticsearch.xpack.ml.utils.MlIndicesUtils;
import java.util.ArrayList;
@ -518,7 +519,10 @@ public class JobDataDeleter {
}
return aliases.isEmpty()
? 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]))
);
}

View file

@ -331,7 +331,10 @@ public class JobResultsProvider {
ActionListener<Boolean> indexAndMappingsListener = ActionListener.wrap(success -> {
final IndicesAliasesRequest request = client.admin()
.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)

View file

@ -106,7 +106,11 @@ public class MlAnomaliesIndexUpdateTests extends ESTestCase {
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 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");
}
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);
@ -304,11 +304,11 @@ public class FrozenSearchableSnapshotsIntegTests extends BaseFrozenSearchableSna
if (deletedBeforeMount) {
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) {
assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, aliasName).get().getAliases().size(), equalTo(1));
assertAcked(
indicesAdmin().prepareAliases()
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(indexName).alias(aliasName).mustExist(true))
.addAlias(restoredIndexName, aliasName)
);
@ -408,7 +408,7 @@ public class FrozenSearchableSnapshotsIntegTests extends BaseFrozenSearchableSna
assertAcked(indicesAdmin().prepareDelete(restoredIndexName));
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);
}
@ -532,7 +532,7 @@ public class FrozenSearchableSnapshotsIntegTests extends BaseFrozenSearchableSna
final Settings.Builder originalIndexSettings = Settings.builder().put(INDEX_SOFT_DELETES_SETTING.getKey(), true);
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);
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");
}
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);
@ -270,11 +270,11 @@ public class SearchableSnapshotsIntegTests extends BaseSearchableSnapshotsIntegT
if (deletedBeforeMount) {
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) {
assertThat(indicesAdmin().prepareGetAliases(TEST_REQUEST_TIMEOUT, aliasName).get().getAliases().size(), equalTo(1));
assertAcked(
indicesAdmin().prepareAliases()
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(indexName).alias(aliasName).mustExist(true))
.addAlias(restoredIndexName, aliasName)
);
@ -353,7 +353,7 @@ public class SearchableSnapshotsIntegTests extends BaseSearchableSnapshotsIntegT
assertAcked(indicesAdmin().prepareDelete(restoredIndexName));
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);
}

View file

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

View file

@ -101,7 +101,7 @@ public class DocumentLevelSecurityRandomTests extends SecurityIntegTestCase {
assertAcked(indicesAdmin().prepareCreate("test").setMapping("field1", "type=text", "field2", "type=text"));
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++) {
String value = "value" + i;
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();
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest();
IndicesAliasesRequest aliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
aliasesRequest.addAliasAction(
new IndicesAliasesRequest.AliasActions(IndicesAliasesRequest.AliasActions.Type.ADD).aliases("my_alias", "an_alias")
.index("test")

View file

@ -132,13 +132,13 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
assertAcked(client.admin().indices().prepareCreate("test_1").get());
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,
"create_only"
);
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,
"create_only"
);
@ -168,19 +168,19 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
final Client client = client().filterWithHeader(headers);
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,
"create_only"
);
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,
"create_only"
);
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,
"create_only"
);
@ -328,14 +328,22 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
assertAcked(client.admin().indices().prepareCreate("test_1").get());
// 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_*
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
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,
"create_test_aliases_test"
);
@ -381,17 +389,26 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
.addAlias(new Alias("test_alias_4"))
);
// 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_*
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_*
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_*
AliasesNotFoundException exception = expectThrows(
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"));
}
@ -400,34 +417,37 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
// fails: all aliases have been deleted, no existing aliases match _all
AliasesNotFoundException exception = expectThrows(
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"));
}
// add unauthorized aliases
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
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,
"create_test_aliases_test"
);
// fails: user doesn't have manage_aliases on alias_1
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,
"create_test_aliases_test"
);
AliasesNotFoundException exception = expectThrows(
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"));
}
@ -518,14 +538,14 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
// fails: user doesn't have manage_aliases aliases on test_1
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,
"create_test_aliases_alias"
);
// fails: user doesn't have manage_aliases aliases on test_1
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,
"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
IndexNotFoundException indexNotFoundException = expectThrows(
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_*]"));
}
@ -568,13 +588,16 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
// fails: user doesn't have manage_aliases on test_1
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,
"create_test_aliases_alias"
);
// 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() {
@ -649,11 +672,11 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
// 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().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() {
@ -689,19 +712,23 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
// fails: user doesn't have manage_aliases privilege on non_authorized
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,
"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
AliasesNotFoundException exception = expectThrows(
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"));
}
@ -873,11 +900,11 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
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().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");
// 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();
assertThat(getAliasesResponse.getAliases().size(), equalTo(0));
assertAliases(
@ -912,7 +939,7 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
assertAcked(
aliasesClient.admin()
.indices()
.prepareAliases()
.prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(hiddenIndex).alias(visibleAlias))
);
@ -932,7 +959,7 @@ public class IndexAliasesTests extends SecurityIntegTestCase {
assertAcked(
aliasesClient.admin()
.indices()
.prepareAliases()
.prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT)
.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index(hiddenIndex).alias(visibleAlias))
.addAliasAction(IndicesAliasesRequest.AliasActions.add().index(hiddenIndex).alias(hiddenAlias).isHidden(true))
);

View file

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

View file

@ -2116,7 +2116,9 @@ public class AuthorizationServiceTests extends ESTestCase {
requests.add(
new Tuple<>(
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(
@ -2388,7 +2390,9 @@ public class AuthorizationServiceTests extends ESTestCase {
requests.add(
new Tuple<>(
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(

View file

@ -988,7 +988,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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("alias2").indices("foo", "foobar"));
List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal();
@ -1002,7 +1002,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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("foofoobar").indices("foo", "foobar"));
List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal();
@ -1016,7 +1016,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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("alias2").index("missing"));
List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal();
@ -1031,7 +1031,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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("alias2").index("bar*"));
List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal();
@ -1047,7 +1047,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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("alias2").index("bar*"));
request.addAliasAction(AliasActions.add().alias("alias3").index("non_matching_*"));
@ -1059,7 +1059,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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("alias2").index("_all"));
List<String> indices = resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME)).getLocal();
@ -1075,7 +1075,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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"));
// current user is not authorized for any index, _all resolves to no indices, the request fails
expectThrows(
@ -1085,7 +1085,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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*"));
// current user is not authorized for any index, foo* resolves to no indices, the request fails
expectThrows(
@ -1095,7 +1095,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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("foofoo").alias("barbaz"));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME);
@ -1111,7 +1111,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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("missing_index").alias("missing_alias"));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME);
@ -1127,7 +1127,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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("bar*").alias("barbaz"));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME);
@ -1144,7 +1144,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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("*bar").alias("foo*"));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME);
@ -1162,7 +1162,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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("_all").aliases("_all", "explicit"));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME);
@ -1180,7 +1180,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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("*bar").alias("bar*"));
resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME));
@ -1189,7 +1189,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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("*bar"));
resolveIndices(request, buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME));
@ -1200,7 +1200,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
}
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.add().index("bar*").alias("foofoobar"));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(user, TransportIndicesAliasesAction.NAME);
@ -1768,7 +1768,7 @@ public class IndicesAndAliasesResolverTests extends ESTestCase {
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));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(
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("*"));
final AuthorizedIndices authorizedIndices = buildAuthorizedIndices(allAccessUser, TransportIndicesAliasesAction.NAME);
List<String> indices = resolveIndices(aliasesRequest, authorizedIndices).getLocal();

View file

@ -110,7 +110,7 @@ public class IndicesAliasesRequestInterceptorTests extends ESTestCase {
dlsFlsFeatureEnabled
);
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest();
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
if (randomBoolean()) {
indicesAliasesRequest.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index("bar").alias(randomAlphaOfLength(4)));
}
@ -159,7 +159,7 @@ public class IndicesAliasesRequestInterceptorTests extends ESTestCase {
false
);
final IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest();
final IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
if (randomBoolean()) {
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
final IndicesAliasesRequest successRequest = new IndicesAliasesRequest();
final IndicesAliasesRequest successRequest = new IndicesAliasesRequest(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT);
if (randomBoolean()) {
successRequest.addAliasAction(IndicesAliasesRequest.AliasActions.remove().index("bar").alias(randomAlphaOfLength(4)));
}

View file

@ -226,7 +226,10 @@ public final class TransformIndex {
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()) {
if (destAlias.isMoveOnCreation()) {
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().prepareAliases().addAlias(to, originalIndexOrAlias).get();
indicesAdmin().prepareAliases(TEST_REQUEST_TIMEOUT, TEST_REQUEST_TIMEOUT).addAlias(to, originalIndexOrAlias).get();
}
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();
boolean isWatchIndexAlias = Watch.INDEX.equals(indexResponse.indices()[0]) == false;
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 {
assertAcked(indicesAdmin().prepareDelete(Watch.INDEX));
}

View file

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