Merge revision 1c368c7d42 into multi-project

This commit is contained in:
Tim Vernum 2025-02-19 21:37:04 +11:00
commit 5b2f1cbdaa
70 changed files with 290 additions and 161 deletions

View file

@ -0,0 +1,5 @@
pr: 122857
summary: Run `TransportGetWatcherSettingsAction` on local node
area: Watcher
type: enhancement
issues: []

View file

@ -604,7 +604,7 @@ public class DataStreamIT extends ESIntegTestCase {
indicesAdmin().prepareUpdateSettings(dataStreamName).setSettings(Settings.builder().put("index.number_of_replicas", 0)),
false
);
verifyResolvability(dataStreamName, indicesAdmin().prepareGetSettings(dataStreamName), false);
verifyResolvability(dataStreamName, indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, dataStreamName), false);
verifyResolvability(dataStreamName, clusterAdmin().prepareHealth(TEST_REQUEST_TIMEOUT, dataStreamName), false);
verifyResolvability(dataStreamName, clusterAdmin().prepareState(TEST_REQUEST_TIMEOUT).setIndices(dataStreamName), false);
verifyResolvability(dataStreamName, client().prepareFieldCaps(dataStreamName).setFields("*"), false);
@ -646,7 +646,7 @@ public class DataStreamIT extends ESIntegTestCase {
verifyResolvability(wildcardExpression, indicesAdmin().preparePutMapping(wildcardExpression).setSource("""
{"_doc":{"properties": {"my_field":{"type":"keyword"}}}}""", XContentType.JSON), false);
verifyResolvability(wildcardExpression, indicesAdmin().prepareGetMappings(TEST_REQUEST_TIMEOUT, wildcardExpression), false);
verifyResolvability(wildcardExpression, indicesAdmin().prepareGetSettings(wildcardExpression), false);
verifyResolvability(wildcardExpression, indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, wildcardExpression), false);
verifyResolvability(
wildcardExpression,
indicesAdmin().prepareUpdateSettings(wildcardExpression).setSettings(Settings.builder().put("index.number_of_replicas", 0)),
@ -1230,13 +1230,13 @@ public class DataStreamIT extends ESIntegTestCase {
assertTrue(rolloverResponse.isRolledOver());
// The index settings of all backing indices should be updated:
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings("logs-foobar").get();
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "logs-foobar").get();
assertThat(getSettingsResponse.getIndexToSettings().size(), equalTo(2));
assertThat(getSettingsResponse.getSetting(backingIndex1, "index.number_of_replicas"), equalTo("1"));
assertThat(getSettingsResponse.getSetting(backingIndex2, "index.number_of_replicas"), equalTo("1"));
setReplicaCount(0, "logs-foobar");
getSettingsResponse = indicesAdmin().prepareGetSettings("logs-foobar").get();
getSettingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "logs-foobar").get();
assertThat(getSettingsResponse.getIndexToSettings().size(), equalTo(2));
assertThat(getSettingsResponse.getSetting(backingIndex1, "index.number_of_replicas"), equalTo("0"));
assertThat(getSettingsResponse.getSetting(backingIndex2, "index.number_of_replicas"), equalTo("0"));

View file

@ -290,7 +290,7 @@ public class LogsDataStreamIT extends ESSingleNodeTestCase {
assertThat(backingIndices.getIndices().size(), Matchers.equalTo(modes.size()));
for (final Index index : backingIndices.getIndices()) {
final GetSettingsResponse getSettingsResponse = indicesAdmin().getSettings(
new GetSettingsRequest().indices(index.getName()).includeDefaults(true)
new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(index.getName()).includeDefaults(true)
).actionGet();
final Settings settings = getSettingsResponse.getIndexToSettings().get(index.getName());
assertThat(settings.get("index.mode"), Matchers.equalTo(indexModesIterator.next().getName()));

View file

@ -927,7 +927,8 @@ public class DataStreamLifecycleServiceIT extends ESIntegTestCase {
ByteSizeValue targetFloor = DATA_STREAM_MERGE_POLICY_TARGET_FLOOR_SEGMENT_SETTING.get(clusterSettings);
assertBusy(() -> {
GetSettingsRequest getSettingsRequest = new GetSettingsRequest().indices(firstGenerationIndex).includeDefaults(true);
GetSettingsRequest getSettingsRequest = new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(firstGenerationIndex)
.includeDefaults(true);
GetSettingsResponse getSettingsResponse = client().execute(GetSettingsAction.INSTANCE, getSettingsRequest).actionGet();
assertThat(
getSettingsResponse.getSetting(firstGenerationIndex, MergePolicyConfig.INDEX_MERGE_POLICY_MERGE_FACTOR_SETTING.getKey()),
@ -961,7 +962,8 @@ public class DataStreamLifecycleServiceIT extends ESIntegTestCase {
String secondGenerationIndex = getBackingIndices(dataStreamName).get(1);
// check the 2nd generation index picked up the new setting values
assertBusy(() -> {
GetSettingsRequest getSettingsRequest = new GetSettingsRequest().indices(secondGenerationIndex).includeDefaults(true);
GetSettingsRequest getSettingsRequest = new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(secondGenerationIndex)
.includeDefaults(true);
GetSettingsResponse getSettingsResponse = client().execute(GetSettingsAction.INSTANCE, getSettingsRequest).actionGet();
assertThat(
getSettingsResponse.getSetting(secondGenerationIndex, MergePolicyConfig.INDEX_MERGE_POLICY_MERGE_FACTOR_SETTING.getKey()),
@ -1103,7 +1105,8 @@ public class DataStreamLifecycleServiceIT extends ESIntegTestCase {
ByteSizeValue targetFloor = DATA_STREAM_MERGE_POLICY_TARGET_FLOOR_SEGMENT_SETTING.get(clusterSettings);
assertBusy(() -> {
GetSettingsRequest getSettingsRequest = new GetSettingsRequest().indices(firstGenerationIndex).includeDefaults(true);
GetSettingsRequest getSettingsRequest = new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(firstGenerationIndex)
.includeDefaults(true);
GetSettingsResponse getSettingsResponse = client().execute(GetSettingsAction.INSTANCE, getSettingsRequest).actionGet();
assertThat(
getSettingsResponse.getSetting(firstGenerationIndex, MergePolicyConfig.INDEX_MERGE_POLICY_MERGE_FACTOR_SETTING.getKey()),

View file

@ -308,7 +308,11 @@ public class FeatureMigrationIT extends AbstractFeatureMigrationIntegTest {
});
// Get the settings to see if the write block was removed
var allsettings = client().admin().indices().prepareGetSettings(INTERNAL_UNMANAGED.getIndexPattern()).get().getIndexToSettings();
var allsettings = client().admin()
.indices()
.prepareGetSettings(TEST_REQUEST_TIMEOUT, INTERNAL_UNMANAGED.getIndexPattern())
.get()
.getIndexToSettings();
var internalUnmanagedOldIndexSettings = allsettings.get(".int-unman-old");
var writeBlock = internalUnmanagedOldIndexSettings.get(IndexMetadata.INDEX_BLOCKS_WRITE_SETTING.getKey());
assertThat("Write block on old index should be removed on migration ERROR status", writeBlock, equalTo("false"));

View file

@ -326,6 +326,9 @@ tests:
- class: org.elasticsearch.smoketest.DocsClientYamlTestSuiteIT
method: test {yaml=reference/cat/allocation/cat-allocation-example}
issue: https://github.com/elastic/elasticsearch/issues/121976
- class: org.elasticsearch.xpack.esql.heap_attack.HeapAttackIT
method: testEnrichExplosionManyMatches
issue: https://github.com/elastic/elasticsearch/issues/122913
# Examples:
#

View file

@ -539,7 +539,7 @@ public class IndicesRequestIT extends ESIntegTestCase {
public void testGetSettings() {
interceptTransportActions(GetSettingsAction.NAME);
GetSettingsRequest getSettingsRequest = new GetSettingsRequest().indices(randomIndicesOrAliases());
GetSettingsRequest getSettingsRequest = new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(randomIndicesOrAliases());
internalCluster().coordOnlyNodeClient().admin().indices().getSettings(getSettingsRequest).actionGet();
clearInterceptedActions();

View file

@ -101,7 +101,7 @@ public class CloneIndexIT extends ESIntegTestCase {
flushAndRefresh();
assertHitCount(prepareSearch("target").setSize(2 * size).setQuery(new TermsQueryBuilder("foo", "bar")), 2 * docs);
assertHitCount(prepareSearch("source").setSize(size).setQuery(new TermsQueryBuilder("foo", "bar")), docs);
GetSettingsResponse target = indicesAdmin().prepareGetSettings("target").get();
GetSettingsResponse target = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "target").get();
assertThat(
target.getIndexToSettings().get("target").getAsVersionId("index.version.created", IndexVersion::fromId),
equalTo(version)

View file

@ -199,7 +199,7 @@ public class CreateIndexIT extends ESIntegTestCase {
public void testCreateIndexWithMetadataBlocks() {
assertAcked(prepareCreate("test").setSettings(Settings.builder().put(IndexMetadata.SETTING_BLOCKS_METADATA, true)));
assertBlocked(indicesAdmin().prepareGetSettings("test"), IndexMetadata.INDEX_METADATA_BLOCK);
assertBlocked(indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test"), IndexMetadata.INDEX_METADATA_BLOCK);
disableIndexBlock("test", IndexMetadata.SETTING_BLOCKS_METADATA);
}

View file

@ -371,8 +371,9 @@ public class CreateSystemIndicesIT extends ESIntegTestCase {
assertThat(sourceAsMap, equalTo(XContentHelper.convertToMap(XContentType.JSON.xContent(), expectedMappings, false)));
final GetSettingsResponse getSettingsResponse = indicesAdmin().getSettings(new GetSettingsRequest().indices(INDEX_NAME))
.actionGet();
final GetSettingsResponse getSettingsResponse = indicesAdmin().getSettings(
new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(INDEX_NAME)
).actionGet();
final Settings actual = getSettingsResponse.getIndexToSettings().get(concreteIndex);

View file

@ -333,7 +333,7 @@ public class ShrinkIndexIT extends ESIntegTestCase {
flushAndRefresh();
assertHitCount(prepareSearch("target").setSize(2 * size).setQuery(new TermsQueryBuilder("foo", "bar")), 2 * docs);
assertHitCount(prepareSearch("source").setSize(size).setQuery(new TermsQueryBuilder("foo", "bar")), docs);
GetSettingsResponse target = indicesAdmin().prepareGetSettings("target").get();
GetSettingsResponse target = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "target").get();
assertThat(
target.getIndexToSettings().get("target").getAsVersionId("index.version.created", IndexVersion::fromId),
equalTo(version)
@ -475,7 +475,7 @@ public class ShrinkIndexIT extends ESIntegTestCase {
assertNoResizeSourceIndexSettings("target");
flushAndRefresh();
GetSettingsResponse settingsResponse = indicesAdmin().prepareGetSettings("target").get();
GetSettingsResponse settingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "target").get();
assertEquals(settingsResponse.getSetting("target", "index.sort.field"), "id");
assertEquals(settingsResponse.getSetting("target", "index.sort.order"), "desc");
assertSortedSegments("target", expectedIndexSort);

View file

@ -425,7 +425,7 @@ public class SplitIndexIT extends ESIntegTestCase {
flushAndRefresh();
assertHitCount(prepareSearch("target").setSize(2 * size).setQuery(new TermsQueryBuilder("foo", "bar")), 2 * docs);
assertHitCount(prepareSearch("source").setSize(size).setQuery(new TermsQueryBuilder("foo", "bar")), docs);
GetSettingsResponse target = indicesAdmin().prepareGetSettings("target").get();
GetSettingsResponse target = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "target").get();
assertThat(
target.getIndexToSettings().get("target").getAsVersionId("index.version.created", IndexVersion::fromId),
equalTo(version)
@ -483,7 +483,7 @@ public class SplitIndexIT extends ESIntegTestCase {
);
ensureGreen();
flushAndRefresh();
GetSettingsResponse settingsResponse = indicesAdmin().prepareGetSettings("target").get();
GetSettingsResponse settingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "target").get();
assertEquals(settingsResponse.getSetting("target", "index.sort.field"), "id");
assertEquals(settingsResponse.getSetting("target", "index.sort.order"), "desc");
assertSortedSegments("target", expectedIndexSort);

View file

@ -415,7 +415,11 @@ public class RolloverIT extends ESIntegTestCase {
assertThat(response.isRolledOver(), equalTo(true));
assertThat(response.getConditionStatus().size(), equalTo(0));
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(response.getOldIndex(), response.getNewIndex()).get();
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(
TEST_REQUEST_TIMEOUT,
response.getOldIndex(),
response.getNewIndex()
).get();
assertEquals(
"<test-{now/M{yyyy.MM}}-000002>",
getSettingsResponse.getSetting(response.getOldIndex(), IndexMetadata.SETTING_INDEX_PROVIDED_NAME)

View file

@ -99,14 +99,18 @@ public class RemoveIndexSettingsCommandIT extends ESIntegTestCase {
Settings nodeSettings = Settings.builder().put(internalCluster().getDefaultSettings()).put(dataPathSettings).build();
internalCluster().startNode(nodeSettings);
Map<String, Settings> getIndexSettings = client().admin().indices().prepareGetSettings("test-index-*").get().getIndexToSettings();
Map<String, Settings> getIndexSettings = client().admin()
.indices()
.prepareGetSettings(TEST_REQUEST_TIMEOUT, "test-index-*")
.get()
.getIndexToSettings();
for (int i = 0; i < numIndices; i++) {
String index = "test-index-" + i;
Settings indexSettings = getIndexSettings.get(index);
assertFalse(indexSettings.hasValue("index.foo"));
assertThat(indexSettings.get("index.bar"), equalTo(Integer.toString(barValues[i])));
}
getIndexSettings = client().admin().indices().prepareGetSettings("more-index-*").get().getIndexToSettings();
getIndexSettings = client().admin().indices().prepareGetSettings(TEST_REQUEST_TIMEOUT, "more-index-*").get().getIndexToSettings();
for (int i = 0; i < moreIndices; i++) {
assertNotNull(getIndexSettings.get("more-index-" + i));
}

View file

@ -35,7 +35,7 @@ public class AutoExpandReplicasIT extends ESIntegTestCase {
assertBusy(() -> {
assertThat(
indicesAdmin().prepareGetSettings(indexName)
indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, indexName)
.setNames("index.number_of_replicas")
.get()
.getSetting(indexName, "index.number_of_replicas"),
@ -47,7 +47,7 @@ public class AutoExpandReplicasIT extends ESIntegTestCase {
assertBusy(() -> {
assertThat(
indicesAdmin().prepareGetSettings(indexName)
indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, indexName)
.setNames("index.number_of_replicas")
.get()
.getSetting(indexName, "index.number_of_replicas"),
@ -60,7 +60,7 @@ public class AutoExpandReplicasIT extends ESIntegTestCase {
assertBusy(() -> {
assertThat(
indicesAdmin().prepareGetSettings(indexName)
indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, indexName)
.setNames("index.number_of_replicas")
.get()
.getSetting(indexName, "index.number_of_replicas"),

View file

@ -223,7 +223,10 @@ public class DiskThresholdMonitorIT extends DiskUsageIntegTestCase {
// Retrieves the value of the given block on an index.
private static String getIndexBlock(String indexName, String blockName) {
return indicesAdmin().prepareGetSettings(indexName).setNames(blockName).get().getSetting(indexName, blockName);
return indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, indexName)
.setNames(blockName)
.get()
.getSetting(indexName, blockName);
}
}

View file

@ -82,7 +82,7 @@ public class SettingsFilteringIT extends ESIntegTestCase {
.build()
)
);
GetSettingsResponse response = indicesAdmin().prepareGetSettings("test-idx").get();
GetSettingsResponse response = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test-idx").get();
Settings settings = response.getIndexToSettings().get("test-idx");
assertThat(settings.get("index.filter_test.foo"), nullValue());

View file

@ -579,7 +579,7 @@ public class RecoveryFromGatewayIT extends ESIntegTestCase {
final String nodeName = internalCluster().startNode();
createIndex("test", Settings.builder().put(SETTING_NUMBER_OF_SHARDS, 1).build());
final String customDataPath = IndexMetadata.INDEX_DATA_PATH_SETTING.get(
indicesAdmin().prepareGetSettings("test").get().getIndexToSettings().get("test")
indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get().getIndexToSettings().get("test")
);
final Index index = resolveIndex("test");
final ShardId shardId = new ShardId(index, 0);

View file

@ -133,7 +133,7 @@ public class HiddenIndexIT extends ESIntegTestCase {
.setSettings(Settings.builder().put("index.hidden", true).build())
);
assertAcked(indicesAdmin().prepareCreate("my_hidden_pattern1").get());
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings("my_hidden_pattern1").get();
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "my_hidden_pattern1").get();
assertThat(getSettingsResponse.getSetting("my_hidden_pattern1", "index.hidden"), is("true"));
}

View file

@ -45,9 +45,14 @@ public class IndexSettingsIT extends ESIntegTestCase {
internalCluster().fullRestart();
final var indicesClient = indicesAdmin();
assertThat(indicesClient.prepareGetSettings("test").get().getSetting("test", "archived.index.test_setting"), equalTo("true"));
assertThat(
indicesClient.prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get().getSetting("test", "archived.index.test_setting"),
equalTo("true")
);
updateIndexSettings(Settings.builder().putNull("archived.*"), "test");
assertNull(indicesClient.prepareGetSettings("test").get().getSetting("test", "archived.index.test_setting"));
assertNull(
indicesClient.prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get().getSetting("test", "archived.index.test_setting")
);
} finally {
registerSetting = true;
}

View file

@ -47,7 +47,12 @@ public class LookupIndexModeIT extends ESIntegTestCase {
createRequest.settings(lookupSettings);
createRequest.simpleMapping("ip", "type=ip", "os", "type=keyword");
assertAcked(client().admin().indices().execute(TransportCreateIndexAction.TYPE, createRequest));
Settings settings = client().admin().indices().prepareGetSettings("hosts").get().getIndexToSettings().get("hosts");
Settings settings = client().admin()
.indices()
.prepareGetSettings(TEST_REQUEST_TIMEOUT, "hosts")
.get()
.getIndexToSettings()
.get("hosts");
assertThat(settings.get("index.mode"), equalTo("lookup"));
assertNull(settings.get("index.auto_expand_replicas"));
Map<String, String> allHosts = Map.of(
@ -138,7 +143,12 @@ public class LookupIndexModeIT extends ESIntegTestCase {
ResizeRequest clone = new ResizeRequest("lookup-2", "lookup-1");
clone.setResizeType(ResizeType.CLONE);
assertAcked(client().admin().indices().execute(ResizeAction.INSTANCE, clone).actionGet());
Settings settings = client().admin().indices().prepareGetSettings("lookup-2").get().getIndexToSettings().get("lookup-2");
Settings settings = client().admin()
.indices()
.prepareGetSettings(TEST_REQUEST_TIMEOUT, "lookup-2")
.get()
.getIndexToSettings()
.get("lookup-2");
assertThat(settings.get("index.mode"), equalTo("lookup"));
assertThat(settings.get("index.number_of_shards"), equalTo("1"));
@ -211,7 +221,12 @@ public class LookupIndexModeIT extends ESIntegTestCase {
createRequest.settings(createSettings);
createRequest.simpleMapping("ip", "type=ip", "os", "type=keyword");
assertAcked(client().admin().indices().execute(TransportCreateIndexAction.TYPE, createRequest));
Settings settings = client().admin().indices().prepareGetSettings("hosts").get().getIndexToSettings().get("hosts");
Settings settings = client().admin()
.indices()
.prepareGetSettings(TEST_REQUEST_TIMEOUT, "hosts")
.get()
.getIndexToSettings()
.get("hosts");
assertThat(settings.get("index.mode"), equalTo("lookup"));
assertThat(settings.get("index.auto_expand_replicas"), equalTo("3-5"));
}

View file

@ -72,7 +72,7 @@ public class DateMathIndexExpressionsIntegrationIT extends ESIntegTestCase {
String index3 = ".marvel-" + DateTimeFormatter.ofPattern("yyyy.MM.dd", Locale.ROOT).format(now.minusDays(2));
createIndex(index1, index2, index3);
dateSensitiveGet(indicesAdmin().prepareGetSettings(index1, index2, index3), response -> {
dateSensitiveGet(indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, index1, index2, index3), response -> {
assertEquals(index1, response.getSetting(index1, IndexMetadata.SETTING_INDEX_PROVIDED_NAME));
assertEquals(index2, response.getSetting(index2, IndexMetadata.SETTING_INDEX_PROVIDED_NAME));
assertEquals(index3, response.getSetting(index3, IndexMetadata.SETTING_INDEX_PROVIDED_NAME));
@ -172,7 +172,7 @@ public class DateMathIndexExpressionsIntegrationIT extends ESIntegTestCase {
String dateMathExp3 = "<.marvel-{now/d-2d}>";
createIndex(dateMathExp1, dateMathExp2, dateMathExp3);
dateSensitiveGet(indicesAdmin().prepareGetSettings(index1, index2, index3), response -> {
dateSensitiveGet(indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, index1, index2, index3), response -> {
assertEquals(dateMathExp1, response.getSetting(index1, IndexMetadata.SETTING_INDEX_PROVIDED_NAME));
assertEquals(dateMathExp2, response.getSetting(index2, IndexMetadata.SETTING_INDEX_PROVIDED_NAME));
assertEquals(dateMathExp3, response.getSetting(index3, IndexMetadata.SETTING_INDEX_PROVIDED_NAME));

View file

@ -595,12 +595,12 @@ public class IndicesOptionsIntegrationIT extends ESIntegTestCase {
verify(indicesAdmin().prepareUpdateSettings("bar*").setSettings(Settings.builder().put("a", "b")), false);
verify(indicesAdmin().prepareUpdateSettings("_all").setSettings(Settings.builder().put("c", "d")), false);
GetSettingsResponse settingsResponse = indicesAdmin().prepareGetSettings("foo").get();
GetSettingsResponse settingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "foo").get();
assertThat(settingsResponse.getSetting("foo", "index.a"), equalTo("b"));
settingsResponse = indicesAdmin().prepareGetSettings("bar*").get();
settingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "bar*").get();
assertThat(settingsResponse.getSetting("bar", "index.a"), equalTo("b"));
assertThat(settingsResponse.getSetting("barbaz", "index.a"), equalTo("b"));
settingsResponse = indicesAdmin().prepareGetSettings("_all").get();
settingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "_all").get();
assertThat(settingsResponse.getSetting("foo", "index.c"), equalTo("d"));
assertThat(settingsResponse.getSetting("foobar", "index.c"), equalTo("d"));
assertThat(settingsResponse.getSetting("bar", "index.c"), equalTo("d"));
@ -668,7 +668,7 @@ public class IndicesOptionsIntegrationIT extends ESIntegTestCase {
}
static GetSettingsRequestBuilder getSettings(String... indices) {
return indicesAdmin().prepareGetSettings(indices);
return indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, indices);
}
private static CreateSnapshotRequestBuilder snapshot(String name, String... indices) {

View file

@ -137,8 +137,9 @@ public class SystemIndexMappingUpdateServiceIT extends ESIntegTestCase {
assertThat(sourceAsMap, equalTo(XContentHelper.convertToMap(XContentType.JSON.xContent(), expectedMappings, false)));
final GetSettingsResponse getSettingsResponse = indicesAdmin().getSettings(new GetSettingsRequest().indices(INDEX_NAME))
.actionGet();
final GetSettingsResponse getSettingsResponse = indicesAdmin().getSettings(
new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(INDEX_NAME)
).actionGet();
final Settings actual = getSettingsResponse.getIndexToSettings().get(PRIMARY_INDEX_NAME);

View file

@ -40,7 +40,7 @@ public class GetSettingsBlocksIT extends ESIntegTestCase {
for (String block : Arrays.asList(SETTING_BLOCKS_READ, SETTING_BLOCKS_WRITE, SETTING_READ_ONLY, SETTING_READ_ONLY_ALLOW_DELETE)) {
try {
enableIndexBlock("test", block);
GetSettingsResponse response = indicesAdmin().prepareGetSettings("test").get();
GetSettingsResponse response = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get();
assertThat(response.getIndexToSettings().size(), greaterThanOrEqualTo(1));
assertThat(response.getSetting("test", "index.refresh_interval"), equalTo("-1"));
assertThat(response.getSetting("test", "index.merge.policy.expunge_deletes_allowed"), equalTo("30"));
@ -52,7 +52,7 @@ public class GetSettingsBlocksIT extends ESIntegTestCase {
try {
enableIndexBlock("test", SETTING_BLOCKS_METADATA);
assertBlocked(indicesAdmin().prepareGetSettings("test"));
assertBlocked(indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test"));
} finally {
disableIndexBlock("test", SETTING_BLOCKS_METADATA);
}

View file

@ -31,14 +31,14 @@ public class InternalSettingsIT extends ESIntegTestCase {
public void testSetInternalIndexSettingOnCreate() {
final Settings settings = Settings.builder().put("index.internal", "internal").build();
createIndex("index", settings);
final GetSettingsResponse response = indicesAdmin().prepareGetSettings("index").get();
final GetSettingsResponse response = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "index").get();
assertThat(response.getSetting("index", "index.internal"), equalTo("internal"));
}
public void testUpdateInternalIndexSettingViaSettingsAPI() {
final Settings settings = Settings.builder().put("index.internal", "internal").build();
createIndex("test", settings);
final GetSettingsResponse response = indicesAdmin().prepareGetSettings("test").get();
final GetSettingsResponse response = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get();
assertThat(response.getSetting("test", "index.internal"), equalTo("internal"));
// we can not update the setting via the update settings API
final IllegalArgumentException e = expectThrows(
@ -47,20 +47,20 @@ public class InternalSettingsIT extends ESIntegTestCase {
);
final String message = "can not update internal setting [index.internal]; this setting is managed via a dedicated API";
assertThat(e, hasToString(containsString(message)));
final GetSettingsResponse responseAfterAttemptedUpdate = indicesAdmin().prepareGetSettings("test").get();
final GetSettingsResponse responseAfterAttemptedUpdate = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get();
assertThat(responseAfterAttemptedUpdate.getSetting("test", "index.internal"), equalTo("internal"));
}
public void testUpdateInternalIndexSettingViaDedicatedAPI() {
final Settings settings = Settings.builder().put("index.internal", "internal").build();
createIndex("test", settings);
final GetSettingsResponse response = indicesAdmin().prepareGetSettings("test").get();
final GetSettingsResponse response = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get();
assertThat(response.getSetting("test", "index.internal"), equalTo("internal"));
client().execute(
InternalOrPrivateSettingsPlugin.UpdateInternalOrPrivateAction.INSTANCE,
new InternalOrPrivateSettingsPlugin.UpdateInternalOrPrivateAction.Request("test", "index.internal", "internal-update")
).actionGet();
final GetSettingsResponse responseAfterUpdate = indicesAdmin().prepareGetSettings("test").get();
final GetSettingsResponse responseAfterUpdate = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get();
assertThat(responseAfterUpdate.getSetting("test", "index.internal"), equalTo("internal-update"));
}

View file

@ -47,7 +47,7 @@ public class PrivateSettingsIT extends ESIntegTestCase {
);
final String message = "can not update private setting [index.private]; this setting is managed by Elasticsearch";
assertThat(e, hasToString(containsString(message)));
final GetSettingsResponse responseAfterAttemptedUpdate = indicesAdmin().prepareGetSettings("test").get();
final GetSettingsResponse responseAfterAttemptedUpdate = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get();
assertNull(responseAfterAttemptedUpdate.getSetting("test", "index.private"));
}
@ -57,7 +57,7 @@ public class PrivateSettingsIT extends ESIntegTestCase {
InternalOrPrivateSettingsPlugin.UpdateInternalOrPrivateAction.INSTANCE,
new InternalOrPrivateSettingsPlugin.UpdateInternalOrPrivateAction.Request("test", "index.private", "private-update")
).actionGet();
final GetSettingsResponse responseAfterUpdate = indicesAdmin().prepareGetSettings("test").get();
final GetSettingsResponse responseAfterUpdate = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get();
assertThat(responseAfterUpdate.getSetting("test", "index.private"), equalTo("private-update"));
}

View file

@ -491,7 +491,7 @@ public class UpdateNumberOfReplicasIT extends ESIntegTestCase {
.setIndicesOptions(options)
);
final int numberOfReplicas = Integer.parseInt(
indicesAdmin().prepareGetSettings("test-index").get().getSetting("test-index", "index.number_of_replicas")
indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test-index").get().getSetting("test-index", "index.number_of_replicas")
);
assertThat(numberOfReplicas, equalTo(0));
}

View file

@ -336,7 +336,7 @@ public class UpdateSettingsIT extends ESIntegTestCase {
assertThat(indexMetadata.getSettings().get("index.final"), nullValue());
// Now verify via dedicated get settings api:
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings("test").get();
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get();
assertThat(getSettingsResponse.getSetting("test", "index.refresh_interval"), nullValue());
assertThat(getSettingsResponse.getSetting("test", "index.fielddata.cache"), nullValue());
assertThat(getSettingsResponse.getSetting("test", "index.final"), nullValue());
@ -348,7 +348,7 @@ public class UpdateSettingsIT extends ESIntegTestCase {
indexMetadata = clusterAdmin().prepareState(TEST_REQUEST_TIMEOUT).get().getState().metadata().getProject().index("test");
assertThat(indexMetadata.getSettings().get("index.refresh_interval"), equalTo("-1"));
// Now verify via dedicated get settings api:
getSettingsResponse = indicesAdmin().prepareGetSettings("test").get();
getSettingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get();
assertThat(getSettingsResponse.getSetting("test", "index.refresh_interval"), equalTo("-1"));
// now close the index, change the non dynamic setting, and see that it applies
@ -395,7 +395,7 @@ public class UpdateSettingsIT extends ESIntegTestCase {
assertThat(indexMetadata.getSettings().get("index.final"), nullValue());
// Now verify via dedicated get settings api:
getSettingsResponse = indicesAdmin().prepareGetSettings("test").get();
getSettingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get();
assertThat(getSettingsResponse.getSetting("test", "index.refresh_interval"), equalTo("1s"));
assertThat(getSettingsResponse.getSetting("test", "index.final"), nullValue());
}
@ -516,7 +516,9 @@ public class UpdateSettingsIT extends ESIntegTestCase {
.getProject()
.index("test")
.getSettingsVersion();
final String refreshInterval = indicesAdmin().prepareGetSettings("test").get().getSetting("test", "index.refresh_interval");
final String refreshInterval = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test")
.get()
.getSetting("test", "index.refresh_interval");
assertAcked(
indicesAdmin().prepareUpdateSettings("test").setSettings(Settings.builder().put("index.refresh_interval", refreshInterval))
);
@ -576,7 +578,7 @@ public class UpdateSettingsIT extends ESIntegTestCase {
.index("test")
.getSettingsVersion();
final int numberOfReplicas = Integer.valueOf(
indicesAdmin().prepareGetSettings("test").get().getSetting("test", "index.number_of_replicas")
indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get().getSetting("test", "index.number_of_replicas")
);
assertAcked(
indicesAdmin().prepareUpdateSettings("test").setSettings(Settings.builder().put("index.number_of_replicas", numberOfReplicas))
@ -607,7 +609,7 @@ public class UpdateSettingsIT extends ESIntegTestCase {
.index("test")
.getSettingsVersion();
final int numberOfReplicas = Integer.valueOf(
indicesAdmin().prepareGetSettings("test").get().getSetting("test", "index.number_of_replicas")
indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get().getSetting("test", "index.number_of_replicas")
);
assertAcked(
indicesAdmin().prepareUpdateSettings("test")
@ -656,7 +658,7 @@ public class UpdateSettingsIT extends ESIntegTestCase {
indicesAdmin().prepareUpdateSettings("test").setSettings(Settings.builder().putNull(IndexMetadata.SETTING_NUMBER_OF_REPLICAS))
);
final GetSettingsResponse response = indicesAdmin().prepareGetSettings("test").get();
final GetSettingsResponse response = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get();
// we removed the setting but it should still have an explicit value since index metadata requires this
assertTrue(IndexMetadata.INDEX_NUMBER_OF_REPLICAS_SETTING.exists(response.getIndexToSettings().get("test")));
@ -777,7 +779,7 @@ public class UpdateSettingsIT extends ESIntegTestCase {
);
assertThat(
indicesAdmin().prepareGetSettings(indexName)
indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, indexName)
.get()
.getIndexToSettings()
.get(indexName)

View file

@ -481,7 +481,7 @@ public class SimpleIndexTemplateIT extends ESIntegTestCase {
createIndex("test");
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings("test").get();
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test").get();
assertNull(getSettingsResponse.getIndexToSettings().get("test").get("index.does_not_exist"));
}
@ -917,7 +917,7 @@ public class SimpleIndexTemplateIT extends ESIntegTestCase {
// finally, create a valid index
prepareCreate("test_good", Settings.builder().put("index.number_of_shards", 7).put("index.number_of_routing_shards", 7)).get();
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings("test_good").get();
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test_good").get();
assertEquals("6", getSettingsResponse.getIndexToSettings().get("test_good").get("index.routing_partition_size"));
}

View file

@ -323,7 +323,7 @@ public class RestoreSnapshotIT extends AbstractSnapshotIntegTestCase {
assertThat(mappings.sourceAsMap().toString(), not(containsString("foo")));
logger.info("--> assert that old settings are restored");
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings("test-idx").get();
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test-idx").get();
assertThat(getSettingsResponse.getSetting("test-idx", "index.refresh_interval"), equalTo("10s"));
}
@ -736,7 +736,7 @@ public class RestoreSnapshotIT extends AbstractSnapshotIntegTestCase {
assertThat(restoreSnapshotResponse.getRestoreInfo().totalShards(), greaterThan(0));
logger.info("--> assert that correct settings are restored");
GetSettingsResponse getSettingsResponse = client.admin().indices().prepareGetSettings("test-idx").get();
GetSettingsResponse getSettingsResponse = client.admin().indices().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test-idx").get();
assertThat(getSettingsResponse.getSetting("test-idx", INDEX_REFRESH_INTERVAL_SETTING.getKey()), equalTo("5s"));
// Make sure that number of shards didn't change
assertThat(getSettingsResponse.getSetting("test-idx", SETTING_NUMBER_OF_SHARDS), equalTo("" + numberOfShards));
@ -762,7 +762,7 @@ public class RestoreSnapshotIT extends AbstractSnapshotIntegTestCase {
assertThat(restoreSnapshotResponse.getRestoreInfo().totalShards(), greaterThan(0));
logger.info("--> assert that correct settings are restored and index is still functional");
getSettingsResponse = client.admin().indices().prepareGetSettings("test-idx").get();
getSettingsResponse = client.admin().indices().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test-idx").get();
assertThat(getSettingsResponse.getSetting("test-idx", INDEX_REFRESH_INTERVAL_SETTING.getKey()), equalTo("5s"));
// Make sure that number of shards didn't change
assertThat(getSettingsResponse.getSetting("test-idx", SETTING_NUMBER_OF_SHARDS), equalTo("" + numberOfShards));

View file

@ -209,7 +209,7 @@ public class SharedClusterSnapshotRestoreIT extends AbstractSnapshotIntegTestCas
assertDocCount("test-idx-3", 50L);
assertNull(
indicesAdmin().prepareGetSettings("test-idx-1")
indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test-idx-1")
.get()
.getSetting("test-idx-1", MetadataIndexStateService.VERIFIED_BEFORE_CLOSE_SETTING.getKey())
);
@ -238,7 +238,7 @@ public class SharedClusterSnapshotRestoreIT extends AbstractSnapshotIntegTestCas
assertThat(clusterState.getMetadata().getProject().hasIndex("test-idx-2"), equalTo(false));
assertNull(
indicesAdmin().prepareGetSettings("test-idx-1")
indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test-idx-1")
.get()
.getSetting("test-idx-1", MetadataIndexStateService.VERIFIED_BEFORE_CLOSE_SETTING.getKey())
);
@ -286,7 +286,9 @@ public class SharedClusterSnapshotRestoreIT extends AbstractSnapshotIntegTestCas
createRepository("test-repo", "fs");
createIndex("test");
String originalIndexUUID = indicesAdmin().prepareGetSettings("test").get().getSetting("test", IndexMetadata.SETTING_INDEX_UUID);
String originalIndexUUID = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test")
.get()
.getSetting("test", IndexMetadata.SETTING_INDEX_UUID);
assertTrue(originalIndexUUID, originalIndexUUID != null);
assertFalse(originalIndexUUID, originalIndexUUID.equals(IndexMetadata.INDEX_UUID_NA_VALUE));
ensureGreen();
@ -296,7 +298,9 @@ public class SharedClusterSnapshotRestoreIT extends AbstractSnapshotIntegTestCas
cluster().wipeIndices("test");
assertAcked(prepareCreate("test").setSettings(Settings.builder().put(SETTING_NUMBER_OF_SHARDS, numShards.numPrimaries)));
ensureGreen();
String newIndexUUID = indicesAdmin().prepareGetSettings("test").get().getSetting("test", IndexMetadata.SETTING_INDEX_UUID);
String newIndexUUID = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test")
.get()
.getSetting("test", IndexMetadata.SETTING_INDEX_UUID);
assertTrue(newIndexUUID, newIndexUUID != null);
assertFalse(newIndexUUID, newIndexUUID.equals(IndexMetadata.INDEX_UUID_NA_VALUE));
assertFalse(newIndexUUID, newIndexUUID.equals(originalIndexUUID));
@ -312,7 +316,7 @@ public class SharedClusterSnapshotRestoreIT extends AbstractSnapshotIntegTestCas
assertThat(restoreSnapshotResponse.getRestoreInfo().totalShards(), greaterThan(0));
ensureGreen();
String newAfterRestoreIndexUUID = indicesAdmin().prepareGetSettings("test")
String newAfterRestoreIndexUUID = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test")
.get()
.getSetting("test", IndexMetadata.SETTING_INDEX_UUID);
assertTrue(
@ -328,7 +332,7 @@ public class SharedClusterSnapshotRestoreIT extends AbstractSnapshotIntegTestCas
.get();
assertThat(restoreSnapshotResponse.getRestoreInfo().totalShards(), greaterThan(0));
String copyRestoreUUID = indicesAdmin().prepareGetSettings("test-copy")
String copyRestoreUUID = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, "test-copy")
.get()
.getSetting("test-copy", IndexMetadata.SETTING_INDEX_UUID);
assertFalse(

View file

@ -329,7 +329,7 @@ public class SnapshotStatusApisIT extends AbstractSnapshotIntegTestCase {
final String indexName = "test-idx";
createIndexWithRandomDocs(indexName, 10);
final int numberOfShards = IndexMetadata.INDEX_NUMBER_OF_SHARDS_SETTING.get(
client.admin().indices().prepareGetSettings(indexName).get().getIndexToSettings().get(indexName)
client.admin().indices().prepareGetSettings(TEST_REQUEST_TIMEOUT, indexName).get().getIndexToSettings().get(indexName)
);
for (int repoIndex = 0; repoIndex < randomIntBetween(2, 5); repoIndex++) {

View file

@ -17,6 +17,7 @@ import org.elasticsearch.action.support.master.MasterNodeReadRequest;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.core.TimeValue;
import java.io.IOException;
import java.util.Arrays;
@ -52,8 +53,8 @@ public class GetSettingsRequest extends MasterNodeReadRequest<GetSettingsRequest
return this;
}
public GetSettingsRequest() {
super(TRAPPY_IMPLICIT_DEFAULT_MASTER_NODE_TIMEOUT);
public GetSettingsRequest(TimeValue masterTimeout) {
super(masterTimeout);
}
public GetSettingsRequest(StreamInput in) throws IOException {

View file

@ -13,14 +13,15 @@ import org.elasticsearch.action.support.IndicesOptions;
import org.elasticsearch.action.support.master.MasterNodeReadOperationRequestBuilder;
import org.elasticsearch.client.internal.ElasticsearchClient;
import org.elasticsearch.common.util.ArrayUtils;
import org.elasticsearch.core.TimeValue;
public class GetSettingsRequestBuilder extends MasterNodeReadOperationRequestBuilder<
GetSettingsRequest,
GetSettingsResponse,
GetSettingsRequestBuilder> {
public GetSettingsRequestBuilder(ElasticsearchClient client, String... indices) {
super(client, GetSettingsAction.INSTANCE, new GetSettingsRequest().indices(indices));
public GetSettingsRequestBuilder(ElasticsearchClient client, TimeValue masterTimeout, String... indices) {
super(client, GetSettingsAction.INSTANCE, new GetSettingsRequest(masterTimeout).indices(indices));
}
public GetSettingsRequestBuilder setIndices(String... indices) {

View file

@ -445,8 +445,8 @@ public class IndicesAdminClient implements ElasticsearchClient {
return execute(GetSettingsAction.INSTANCE, request);
}
public GetSettingsRequestBuilder prepareGetSettings(String... indices) {
return new GetSettingsRequestBuilder(this, indices);
public GetSettingsRequestBuilder prepareGetSettings(TimeValue masterTimeout, String... indices) {
return new GetSettingsRequestBuilder(this, masterTimeout, indices);
}
public ResizeRequestBuilder prepareResizeIndex(String sourceIndex, String targetIndex) {

View file

@ -16,6 +16,7 @@ import org.elasticsearch.common.Strings;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.rest.BaseRestHandler;
import org.elasticsearch.rest.RestRequest;
import org.elasticsearch.rest.RestUtils;
import org.elasticsearch.rest.Scope;
import org.elasticsearch.rest.ServerlessScope;
import org.elasticsearch.rest.action.RestRefCountedChunkedToXContentListener;
@ -24,7 +25,6 @@ import java.io.IOException;
import java.util.List;
import static org.elasticsearch.rest.RestRequest.Method.GET;
import static org.elasticsearch.rest.RestUtils.getMasterNodeTimeout;
@ServerlessScope(Scope.PUBLIC)
public class RestGetSettingsAction extends BaseRestHandler {
@ -51,13 +51,14 @@ public class RestGetSettingsAction extends BaseRestHandler {
final boolean renderDefaults = request.paramAsBoolean("include_defaults", false);
// This is required so the "flat_settings" parameter counts as consumed
request.paramAsBoolean(Settings.FLAT_SETTINGS_PARAM, false);
GetSettingsRequest getSettingsRequest = new GetSettingsRequest().indices(Strings.splitStringByCommaToArray(request.param("index")))
GetSettingsRequest getSettingsRequest = new GetSettingsRequest(RestUtils.getMasterNodeTimeout(request)).indices(
Strings.splitStringByCommaToArray(request.param("index"))
)
.indicesOptions(IndicesOptions.fromRequest(request, IndicesOptions.strictExpandOpen()))
.humanReadable(request.hasParam("human"))
.includeDefaults(renderDefaults)
.names(names);
getSettingsRequest.local(request.paramAsBoolean("local", getSettingsRequest.local()));
getSettingsRequest.masterNodeTimeout(getMasterNodeTimeout(request));
return channel -> client.admin().indices().getSettings(getSettingsRequest, new RestRefCountedChunkedToXContentListener<>(channel));
}
}

View file

@ -122,7 +122,7 @@ public class RestIndicesAction extends AbstractCatAction {
// security benefits - it's more of a convenience thing.
client.admin()
.indices()
.prepareGetSettings(indices)
.prepareGetSettings(masterNodeTimeout, indices)
.setIndicesOptions(indicesOptions)
.setMasterNodeTimeout(masterNodeTimeout)
.setNames(IndexSettings.INDEX_SEARCH_THROTTLED.getKey())

View file

@ -106,7 +106,7 @@ public class GetSettingsActionTests extends ESTestCase {
}
public void testIncludeDefaults() {
GetSettingsRequest noDefaultsRequest = new GetSettingsRequest().indices(indexName);
GetSettingsRequest noDefaultsRequest = new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(indexName);
ActionTestUtils.execute(
getSettingsAction,
null,
@ -119,7 +119,7 @@ public class GetSettingsActionTests extends ESTestCase {
)
);
GetSettingsRequest defaultsRequest = new GetSettingsRequest().indices(indexName).includeDefaults(true);
GetSettingsRequest defaultsRequest = new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(indexName).includeDefaults(true);
ActionTestUtils.execute(
getSettingsAction,
@ -136,7 +136,7 @@ public class GetSettingsActionTests extends ESTestCase {
}
public void testIncludeDefaultsWithFiltering() {
GetSettingsRequest defaultsRequest = new GetSettingsRequest().indices(indexName)
GetSettingsRequest defaultsRequest = new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(indexName)
.includeDefaults(true)
.names("index.refresh_interval");
ActionTestUtils.execute(getSettingsAction, null, defaultsRequest, ActionTestUtils.assertNoFailureListener(defaultsResponse -> {

View file

@ -17,7 +17,7 @@ import org.elasticsearch.test.ESTestCase;
import java.io.IOException;
public class GetSettingsRequestTests extends ESTestCase {
private static final GetSettingsRequest TEST_700_REQUEST = new GetSettingsRequest().includeDefaults(true)
private static final GetSettingsRequest TEST_700_REQUEST = new GetSettingsRequest(TEST_REQUEST_TIMEOUT).includeDefaults(true)
.humanReadable(true)
.indices("test_index")
.names("test_setting_key");

View file

@ -19,11 +19,21 @@ public class CodecIntegrationTests extends ESSingleNodeTestCase {
public void testCanConfigureLegacySettings() {
createIndex("index1", Settings.builder().put("index.codec", "legacy_default").build());
var codec = client().admin().indices().prepareGetSettings("index1").execute().actionGet().getSetting("index1", "index.codec");
var codec = client().admin()
.indices()
.prepareGetSettings(TEST_REQUEST_TIMEOUT, "index1")
.execute()
.actionGet()
.getSetting("index1", "index.codec");
assertThat(codec, equalTo("legacy_default"));
createIndex("index2", Settings.builder().put("index.codec", "legacy_best_compression").build());
codec = client().admin().indices().prepareGetSettings("index2").execute().actionGet().getSetting("index2", "index.codec");
codec = client().admin()
.indices()
.prepareGetSettings(TEST_REQUEST_TIMEOUT, "index2")
.execute()
.actionGet()
.getSetting("index2", "index.codec");
assertThat(codec, equalTo("legacy_best_compression"));
}

View file

@ -302,7 +302,12 @@ public class CcrRetentionLeaseIT extends CcrIntegTestCase {
* times that we sample the retention leases, which would cause our check to fail.
*/
final TimeValue syncIntervalSetting = IndexService.RETENTION_LEASE_SYNC_INTERVAL_SETTING.get(
leaderClient().admin().indices().prepareGetSettings(leaderIndex).get().getIndexToSettings().get(leaderIndex)
leaderClient().admin()
.indices()
.prepareGetSettings(TEST_REQUEST_TIMEOUT, leaderIndex)
.get()
.getIndexToSettings()
.get(leaderIndex)
);
final long syncEnd = System.nanoTime();
Thread.sleep(Math.max(0, randomIntBetween(2, 4) * syncIntervalSetting.millis() - TimeUnit.NANOSECONDS.toMillis(syncEnd - start)));
@ -729,7 +734,12 @@ public class CcrRetentionLeaseIT extends CcrIntegTestCase {
* times that we sample the retention leases, which would cause our check to fail.
*/
final TimeValue syncIntervalSetting = IndexService.RETENTION_LEASE_SYNC_INTERVAL_SETTING.get(
leaderClient().admin().indices().prepareGetSettings(leaderIndex).get().getIndexToSettings().get(leaderIndex)
leaderClient().admin()
.indices()
.prepareGetSettings(TEST_REQUEST_TIMEOUT, leaderIndex)
.get()
.getIndexToSettings()
.get(leaderIndex)
);
final long syncEnd = System.nanoTime();
Thread.sleep(Math.max(0, randomIntBetween(2, 4) * syncIntervalSetting.millis() - TimeUnit.NANOSECONDS.toMillis(syncEnd - start)));

View file

@ -1069,7 +1069,7 @@ public class IndexFollowingIT extends CcrIntegTestCase {
// Sanity check that the setting has not been set in follower index:
{
GetSettingsRequest getSettingsRequest = new GetSettingsRequest();
GetSettingsRequest getSettingsRequest = new GetSettingsRequest(TEST_REQUEST_TIMEOUT);
getSettingsRequest.indices("follower");
GetSettingsResponse getSettingsResponse = followerClient().admin().indices().getSettings(getSettingsRequest).actionGet();
assertThat(getSettingsResponse.getSetting("follower", "index.max_ngram_diff"), nullValue());
@ -1085,7 +1085,7 @@ public class IndexFollowingIT extends CcrIntegTestCase {
}
assertBusy(() -> {
// Check that the setting has been set in follower index:
GetSettingsRequest getSettingsRequest = new GetSettingsRequest();
GetSettingsRequest getSettingsRequest = new GetSettingsRequest(TEST_REQUEST_TIMEOUT);
getSettingsRequest.indices("follower");
GetSettingsResponse getSettingsResponse = followerClient().admin().indices().getSettings(getSettingsRequest).actionGet();
assertThat(getSettingsResponse.getSetting("follower", "index.max_ngram_diff"), equalTo("2"));
@ -1120,7 +1120,7 @@ public class IndexFollowingIT extends CcrIntegTestCase {
// Sanity check that the setting has not been set in follower index:
{
GetSettingsRequest getSettingsRequest = new GetSettingsRequest();
GetSettingsRequest getSettingsRequest = new GetSettingsRequest(TEST_REQUEST_TIMEOUT);
getSettingsRequest.indices("follower");
GetSettingsResponse getSettingsResponse = followerClient().admin().indices().getSettings(getSettingsRequest).actionGet();
assertThat(getSettingsResponse.getSetting("follower", "index.number_of_replicas"), equalTo("0"));
@ -1135,7 +1135,7 @@ public class IndexFollowingIT extends CcrIntegTestCase {
leaderClient().prepareIndex("leader").setSource("{}", XContentType.JSON).get();
}
assertBusy(() -> {
GetSettingsRequest getSettingsRequest = new GetSettingsRequest();
GetSettingsRequest getSettingsRequest = new GetSettingsRequest(TEST_REQUEST_TIMEOUT);
getSettingsRequest.indices("follower");
GetSettingsResponse getSettingsResponse = followerClient().admin().indices().getSettings(getSettingsRequest).actionGet();
assertThat(getSettingsResponse.getSetting("follower", "index.number_of_replicas"), equalTo("0"));
@ -1197,7 +1197,7 @@ public class IndexFollowingIT extends CcrIntegTestCase {
assertThat(getFollowTaskSettingsVersion("follower"), equalTo(4L));
assertThat(getFollowTaskMappingVersion("follower"), equalTo(2L));
GetSettingsRequest getSettingsRequest = new GetSettingsRequest();
GetSettingsRequest getSettingsRequest = new GetSettingsRequest(TEST_REQUEST_TIMEOUT);
getSettingsRequest.indices("follower");
GetSettingsResponse getSettingsResponse = followerClient().admin().indices().getSettings(getSettingsRequest).actionGet();
assertThat(getSettingsResponse.getSetting("follower", "index.analysis.analyzer.my_analyzer.type"), equalTo("custom"));
@ -1256,7 +1256,7 @@ public class IndexFollowingIT extends CcrIntegTestCase {
}
});
assertBusy(() -> {
GetSettingsResponse resp = followerClient().admin().indices().prepareGetSettings("follower").get();
GetSettingsResponse resp = followerClient().admin().indices().prepareGetSettings(TEST_REQUEST_TIMEOUT, "follower").get();
assertThat(resp.getSetting("follower", "index.max_ngram_diff"), equalTo("2"));
assertThat(resp.getSetting("follower", PrivateSettingPlugin.INDEX_INTERNAL_SETTING.getKey()), nullValue());
assertThat(resp.getSetting("follower", PrivateSettingPlugin.INDEX_PRIVATE_SETTING.getKey()), nullValue());
@ -1285,7 +1285,7 @@ public class IndexFollowingIT extends CcrIntegTestCase {
final PutFollowAction.Request followRequest = putFollow("leader", "follower");
followerClient().execute(PutFollowAction.INSTANCE, followRequest).get();
GetSettingsResponse resp = followerClient().admin().indices().prepareGetSettings("follower").get();
GetSettingsResponse resp = followerClient().admin().indices().prepareGetSettings(TEST_REQUEST_TIMEOUT, "follower").get();
assertThat(resp.getSetting("follower", DataTier.TIER_PREFERENCE), equalTo(tier));
}
@ -1327,7 +1327,7 @@ public class IndexFollowingIT extends CcrIntegTestCase {
});
latch.await();
assertBusy(() -> assertThat(getFollowTaskSettingsVersion("follower"), equalTo(settingVersionOnLeader.get())));
GetSettingsResponse resp = followerClient().admin().indices().prepareGetSettings("follower").get();
GetSettingsResponse resp = followerClient().admin().indices().prepareGetSettings(TEST_REQUEST_TIMEOUT, "follower").get();
assertThat(resp.getSetting("follower", PrivateSettingPlugin.INDEX_INTERNAL_SETTING.getKey()), nullValue());
assertThat(resp.getSetting("follower", PrivateSettingPlugin.INDEX_PRIVATE_SETTING.getKey()), nullValue());
}

View file

@ -11,15 +11,20 @@ import org.elasticsearch.TransportVersions;
import org.elasticsearch.action.ActionRequestValidationException;
import org.elasticsearch.action.ActionResponse;
import org.elasticsearch.action.ActionType;
import org.elasticsearch.action.support.master.MasterNodeReadRequest;
import org.elasticsearch.action.support.local.LocalClusterStateRequest;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.core.TimeValue;
import org.elasticsearch.core.UpdateForV10;
import org.elasticsearch.tasks.CancellableTask;
import org.elasticsearch.tasks.Task;
import org.elasticsearch.tasks.TaskId;
import org.elasticsearch.xcontent.ToXContentObject;
import org.elasticsearch.xcontent.XContentBuilder;
import java.io.IOException;
import java.util.Map;
public class GetWatcherSettingsAction extends ActionType<GetWatcherSettingsAction.Response> {
@ -30,12 +35,17 @@ public class GetWatcherSettingsAction extends ActionType<GetWatcherSettingsActio
super(NAME);
}
public static class Request extends MasterNodeReadRequest<Request> {
public static class Request extends LocalClusterStateRequest {
public Request(TimeValue masterNodeTimeout) {
super(masterNodeTimeout);
}
/**
* NB prior to 9.0 this was a TransportMasterNodeReadAction so for BwC we must remain able to read these requests until
* we no longer need to support calling this action remotely.
*/
@UpdateForV10(owner = UpdateForV10.Owner.DATA_MANAGEMENT)
public static Request readFrom(StreamInput in) throws IOException {
if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_15_0)) {
return new Request(in);
@ -49,15 +59,13 @@ public class GetWatcherSettingsAction extends ActionType<GetWatcherSettingsActio
}
@Override
public void writeTo(StreamOutput out) throws IOException {
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_15_0)) {
super.writeTo(out);
}
public ActionRequestValidationException validate() {
return null;
}
@Override
public ActionRequestValidationException validate() {
return null;
public Task createTask(long id, String type, String action, TaskId parentTaskId, Map<String, String> headers) {
return new CancellableTask(id, type, action, "", parentTaskId, headers);
}
}
@ -69,10 +77,11 @@ public class GetWatcherSettingsAction extends ActionType<GetWatcherSettingsActio
this.settings = settings;
}
public Response(StreamInput in) throws IOException {
this.settings = Settings.readSettingsFromStream(in);
}
/**
* NB prior to 9.0 this was a TransportMasterNodeReadAction so for BwC we must remain able to write these responses until
* we no longer need to support calling this action remotely.
*/
@UpdateForV10(owner = UpdateForV10.Owner.DATA_MANAGEMENT)
@Override
public void writeTo(StreamOutput out) throws IOException {
this.settings.writeTo(out);

View file

@ -110,7 +110,9 @@ public class DataStreamLifecycleDownsampleDisruptionIT extends ESIntegTestCase {
GetSettingsResponse getSettingsResponse = cluster.client()
.admin()
.indices()
.getSettings(new GetSettingsRequest().indices(targetIndex).indicesOptions(IndicesOptions.LENIENT_EXPAND_OPEN))
.getSettings(
new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(targetIndex).indicesOptions(IndicesOptions.LENIENT_EXPAND_OPEN)
)
.actionGet();
Settings indexSettings = getSettingsResponse.getIndexToSettings().get(targetIndex);
assertThat(indexSettings, is(notNullValue()));

View file

@ -194,7 +194,10 @@ public class ILMDownsampleDisruptionIT extends ESIntegTestCase {
}, 1, TimeUnit.MINUTES);
assertBusy(() -> {
assertTrue("target index [" + targetIndex + "] does not exist", indexExists(targetIndex));
var getSettingsResponse = client().admin().indices().getSettings(new GetSettingsRequest().indices(targetIndex)).actionGet();
var getSettingsResponse = client().admin()
.indices()
.getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(targetIndex))
.actionGet();
assertThat(getSettingsResponse.getSetting(targetIndex, IndexMetadata.INDEX_DOWNSAMPLE_STATUS.getKey()), equalTo("success"));
}, 60, TimeUnit.SECONDS);
}

View file

@ -86,7 +86,7 @@ public class DownsampleDataStreamTests extends ESSingleNodeTestCase {
// NOTE: here we calculate a delay to index documents because the next data stream write index is created with a start time of
// (about) two hours in the future. As a result, we need to have documents whose @timestamp is in the future to avoid documents
// being indexed in the old data stream backing index.
final String newIndexStartTime = indicesAdmin().prepareGetSettings(rolloverResponse.getNewIndex())
final String newIndexStartTime = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, rolloverResponse.getNewIndex())
.get()
.getSetting(rolloverResponse.getNewIndex(), IndexSettings.TIME_SERIES_START_TIME.getKey());
indexDocs(dataStreamName, 10, Instant.parse(newIndexStartTime).toEpochMilli());

View file

@ -175,7 +175,7 @@ public class LogsIndexingIT extends ESSingleNodeTestCase {
// Verify settings.
final GetSettingsResponse getSettingsResponse = indicesAdmin().getSettings(
new GetSettingsRequest().indices(indexName).includeDefaults(false)
new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(indexName).includeDefaults(false)
).actionGet();
final Settings settings = getSettingsResponse.getIndexToSettings().get(indexName);
assertEquals("message,k8s.pod.uid,@timestamp", settings.get("index.sort.field"));

View file

@ -106,7 +106,7 @@ public class LegacyLicenceIntegrationTests extends AbstractLicensesIntegrationTe
private void createIndexWithSyntheticSourceAndAssertExpectedType(String indexName, String expectedType) {
var settings = Settings.builder().put(IndexSettings.INDEX_MAPPER_SOURCE_MODE_SETTING.getKey(), "synthetic").build();
createIndex(indexName, settings);
var response = admin().indices().getSettings(new GetSettingsRequest().indices(indexName)).actionGet();
var response = admin().indices().getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(indexName)).actionGet();
assertThat(
response.getIndexToSettings().get(indexName).get(IndexSettings.INDEX_MAPPER_SOURCE_MODE_SETTING.getKey()),
equalTo(expectedType)

View file

@ -87,7 +87,8 @@ public class CopyLifecycleIndexMetadataTransportActionIT extends ESIntegTestCase
safeGet(indicesAdmin().create(new CreateIndexRequest(destIndex)));
// verify source and dest date are actually different before copying
var settingsResponse = indicesAdmin().getSettings(new GetSettingsRequest().indices(sourceIndex, destIndex)).actionGet();
var settingsResponse = indicesAdmin().getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(sourceIndex, destIndex))
.actionGet();
var indexToSettings = settingsResponse.getIndexToSettings();
var sourceDate = indexToSettings.get(sourceIndex).getAsLong(IndexMetadata.SETTING_CREATION_DATE, 0L);
{
@ -100,7 +101,7 @@ public class CopyLifecycleIndexMetadataTransportActionIT extends ESIntegTestCase
// copy over the metadata
copyMetadata(sourceIndex, destIndex);
var destDate = indicesAdmin().getSettings(new GetSettingsRequest().indices(sourceIndex, destIndex))
var destDate = indicesAdmin().getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(sourceIndex, destIndex))
.actionGet()
.getIndexToSettings()
.get(destIndex)

View file

@ -62,7 +62,8 @@ public class CreateIndexFromSourceActionIT extends ESIntegTestCase {
);
// assert both static and dynamic settings set on dest index
var settingsResponse = indicesAdmin().getSettings(new GetSettingsRequest().indices(sourceIndex, destIndex)).actionGet();
var settingsResponse = indicesAdmin().getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(sourceIndex, destIndex))
.actionGet();
var destSettings = settingsResponse.getIndexToSettings().get(destIndex);
var sourceSettings = settingsResponse.getIndexToSettings().get(sourceIndex);
@ -111,7 +112,7 @@ public class CreateIndexFromSourceActionIT extends ESIntegTestCase {
);
// assert both static and dynamic settings set on dest index
var settingsResponse = indicesAdmin().getSettings(new GetSettingsRequest().indices(destIndex)).actionGet();
var settingsResponse = indicesAdmin().getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(destIndex)).actionGet();
assertEquals(numReplicas, Integer.parseInt(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_NUMBER_OF_REPLICAS)));
assertEquals(numShards, Integer.parseInt(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_NUMBER_OF_SHARDS)));
}
@ -176,7 +177,7 @@ public class CreateIndexFromSourceActionIT extends ESIntegTestCase {
// assert settings overridden
int expectedShards = overrideNumShards ? numShardsSource + 1 : numShardsSource;
int expectedReplicas = overrideNumShards ? numReplicasSource : numReplicasSource + 1;
var settingsResponse = indicesAdmin().getSettings(new GetSettingsRequest().indices(destIndex)).actionGet();
var settingsResponse = indicesAdmin().getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(destIndex)).actionGet();
assertEquals(expectedShards, Integer.parseInt(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_NUMBER_OF_SHARDS)));
assertEquals(expectedReplicas, Integer.parseInt(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_NUMBER_OF_REPLICAS)));
}
@ -201,7 +202,7 @@ public class CreateIndexFromSourceActionIT extends ESIntegTestCase {
);
// assert settings overridden
var settingsResponse = indicesAdmin().getSettings(new GetSettingsRequest().indices(destIndex)).actionGet();
var settingsResponse = indicesAdmin().getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(destIndex)).actionGet();
var destSettings = settingsResponse.getIndexToSettings().get(destIndex);
// sanity check
@ -234,7 +235,7 @@ public class CreateIndexFromSourceActionIT extends ESIntegTestCase {
assertAcked(client().execute(CreateIndexFromSourceAction.INSTANCE, request));
// assert settings overridden
var settingsResponse = indicesAdmin().getSettings(new GetSettingsRequest().indices(destIndex)).actionGet();
var settingsResponse = indicesAdmin().getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(destIndex)).actionGet();
var destSettings = settingsResponse.getIndexToSettings().get(destIndex);
// remove block settings override both source settings and override settings

View file

@ -285,7 +285,9 @@ public class ReindexDatastreamIndexTransportActionIT extends ESIntegTestCase {
safeGet(client().execute(ReindexDataStreamIndexAction.INSTANCE, new ReindexDataStreamIndexAction.Request(sourceIndex)));
// Assert that source index is now read-only but not verified read-only
GetSettingsResponse getSettingsResponse = safeGet(admin().indices().getSettings(new GetSettingsRequest().indices(sourceIndex)));
GetSettingsResponse getSettingsResponse = safeGet(
admin().indices().getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(sourceIndex))
);
assertTrue(parseBoolean(getSettingsResponse.getSetting(sourceIndex, IndexMetadata.SETTING_BLOCKS_WRITE)));
assertFalse(
parseBoolean(getSettingsResponse.getSetting(sourceIndex, MetadataIndexStateService.VERIFIED_READ_ONLY_SETTING.getKey()))
@ -327,7 +329,7 @@ public class ReindexDatastreamIndexTransportActionIT extends ESIntegTestCase {
).getDestIndex();
// assert both static and dynamic settings set on dest index
var settingsResponse = safeGet(indicesAdmin().getSettings(new GetSettingsRequest().indices(destIndex)));
var settingsResponse = safeGet(indicesAdmin().getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(destIndex)));
assertEquals(numReplicas, Integer.parseInt(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_NUMBER_OF_REPLICAS)));
assertEquals(numShards, Integer.parseInt(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_NUMBER_OF_SHARDS)));
assertEquals(refreshInterval, settingsResponse.getSetting(destIndex, IndexSettings.INDEX_REFRESH_INTERVAL_SETTING.getKey()));
@ -396,7 +398,7 @@ public class ReindexDatastreamIndexTransportActionIT extends ESIntegTestCase {
client().execute(ReindexDataStreamIndexAction.INSTANCE, new ReindexDataStreamIndexAction.Request(sourceIndex))
).getDestIndex();
var settingsResponse = safeGet(indicesAdmin().getSettings(new GetSettingsRequest().indices(destIndex)));
var settingsResponse = safeGet(indicesAdmin().getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(destIndex)));
assertFalse(parseBoolean(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_READ_ONLY)));
assertFalse(parseBoolean(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_READ_ONLY_ALLOW_DELETE)));
assertFalse(parseBoolean(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_BLOCKS_WRITE)));
@ -422,7 +424,9 @@ public class ReindexDatastreamIndexTransportActionIT extends ESIntegTestCase {
client().execute(ReindexDataStreamIndexAction.INSTANCE, new ReindexDataStreamIndexAction.Request(sourceIndex))
).getDestIndex();
var settingsResponse = safeGet(indicesAdmin().getSettings(new GetSettingsRequest().indices(sourceIndex, destIndex)));
var settingsResponse = safeGet(
indicesAdmin().getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(sourceIndex, destIndex))
);
var destSettings = settingsResponse.getIndexToSettings().get(destIndex);
assertEquals(
@ -469,7 +473,7 @@ public class ReindexDatastreamIndexTransportActionIT extends ESIntegTestCase {
// verify settings from templates copied to dest index
{
var settingsResponse = safeGet(indicesAdmin().getSettings(new GetSettingsRequest().indices(destIndex)));
var settingsResponse = safeGet(indicesAdmin().getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(destIndex)));
assertEquals(numReplicas, Integer.parseInt(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_NUMBER_OF_REPLICAS)));
assertEquals(numShards, Integer.parseInt(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_NUMBER_OF_SHARDS)));
}

View file

@ -205,7 +205,7 @@ public class MlInitializationServiceIT extends MlNativeAutodetectIntegTestCase {
}
private static Map<String, Settings> getIndexToSettingsMap(List<String> indexNames) {
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings()
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT)
.setIndices(indexNames.toArray(String[]::new))
.setIndicesOptions(IndicesOptions.LENIENT_EXPAND_OPEN_CLOSED_HIDDEN)
.get();

View file

@ -265,7 +265,7 @@ public class RunDataFrameAnalyticsIT extends MlNativeDataFrameAnalyticsIntegTest
client().admin().indices().prepareCreate(sourceIndex).get();
GetSettingsRequest getSettingsRequest = new GetSettingsRequest();
GetSettingsRequest getSettingsRequest = new GetSettingsRequest(TEST_REQUEST_TIMEOUT);
getSettingsRequest.indices(sourceIndex);
getSettingsRequest.names(IndexSettings.MAX_DOCVALUE_FIELDS_SEARCH_SETTING.getKey());
getSettingsRequest.includeDefaults(true);

View file

@ -249,7 +249,8 @@ public final class MlInitializationService implements ClusterStateListener {
}, finalListener::onFailure);
// Step 1: Fetch ML internal indices settings to find out whether they are already hidden or not.
GetSettingsRequest getSettingsRequest = new GetSettingsRequest().indices(mlHiddenIndexPatterns)
GetSettingsRequest getSettingsRequest = new GetSettingsRequest(MachineLearning.HARD_CODED_MACHINE_LEARNING_MASTER_NODE_TIMEOUT)
.indices(mlHiddenIndexPatterns)
.indicesOptions(IndicesOptions.LENIENT_EXPAND_OPEN_CLOSED_HIDDEN);
client.admin().indices().getSettings(getSettingsRequest, getSettingsListener);
}

View file

@ -135,7 +135,8 @@ public final class DestinationIndex {
String[] destIndexAllowedSettings,
ActionListener<CreateIndexRequest> listener
) {
GetSettingsRequest getSettingsRequest = new GetSettingsRequest().indices(config.getSource().getIndex())
GetSettingsRequest getSettingsRequest = new GetSettingsRequest(MachineLearning.HARD_CODED_MACHINE_LEARNING_MASTER_NODE_TIMEOUT)
.indices(config.getSource().getIndex())
.indicesOptions(IndicesOptions.lenientExpandOpen())
.names(PRESERVED_SETTINGS);
ClientHelper.executeWithHeadersAsync(

View file

@ -33,6 +33,7 @@ import org.elasticsearch.xpack.core.ClientHelper;
import org.elasticsearch.xpack.core.ml.dataframe.DataFrameAnalyticsConfig;
import org.elasticsearch.xpack.core.ml.dataframe.analyses.FieldCardinalityConstraint;
import org.elasticsearch.xpack.core.ml.utils.ExceptionsHelper;
import org.elasticsearch.xpack.ml.MachineLearning;
import java.util.Arrays;
import java.util.Collections;
@ -208,7 +209,7 @@ public class ExtractedFieldsDetectorFactory {
}
});
GetSettingsRequest getSettingsRequest = new GetSettingsRequest();
GetSettingsRequest getSettingsRequest = new GetSettingsRequest(MachineLearning.HARD_CODED_MACHINE_LEARNING_MASTER_NODE_TIMEOUT);
getSettingsRequest.indices(index);
getSettingsRequest.includeDefaults(true);
getSettingsRequest.names(IndexSettings.MAX_DOCVALUE_FIELDS_SEARCH_SETTING.getKey());

View file

@ -53,7 +53,7 @@ public class LocalIndicesCleanerTests extends AbstractIndicesCleanerTestCase {
// in some cases. When the plugin security is enabled, it expands wildcards to the existing index, which then gets deleted,
// so when es core gets the request with the explicit index name, it throws an index not found exception as that index
// doesn't exist anymore. If we ignore unavailable instead no error will be thrown.
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings()
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT)
.addIndices(".monitoring-*")
.setIndicesOptions(IndicesOptions.fromOptions(true, true, true, true, true))
.get();

View file

@ -263,7 +263,10 @@ public class FrozenSearchableSnapshotsIntegTests extends BaseFrozenSearchableSna
statsWatcherRunning.set(false);
statsWatcher.join();
final Settings settings = indicesAdmin().prepareGetSettings(restoredIndexName).get().getIndexToSettings().get(restoredIndexName);
final Settings settings = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, restoredIndexName)
.get()
.getIndexToSettings()
.get(restoredIndexName);
assertThat(SearchableSnapshots.SNAPSHOT_SNAPSHOT_NAME_SETTING.get(settings), equalTo(snapshotName));
assertThat(IndexModule.INDEX_STORE_TYPE_SETTING.get(settings), equalTo(SEARCHABLE_SNAPSHOT_STORE_TYPE));
assertThat(IndexModule.INDEX_RECOVERY_TYPE_SETTING.get(settings), equalTo(SNAPSHOT_RECOVERY_STATE_FACTORY_KEY));
@ -393,7 +396,7 @@ public class FrozenSearchableSnapshotsIntegTests extends BaseFrozenSearchableSna
ensureGreen(clonedIndexName);
assertTotalHits(clonedIndexName, originalAllHits, originalBarHits);
final Settings clonedIndexSettings = indicesAdmin().prepareGetSettings(clonedIndexName)
final Settings clonedIndexSettings = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, clonedIndexName)
.get()
.getIndexToSettings()
.get(clonedIndexName);
@ -567,7 +570,7 @@ public class FrozenSearchableSnapshotsIntegTests extends BaseFrozenSearchableSna
// we're expecting the tier preference to not be explicitly set in the settings (as we nullified it) but
// the index to still have the default value of `data_frozen`
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(restoredIndexName).get();
GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, restoredIndexName).get();
final Settings settings = getSettingsResponse.getIndexToSettings().get(restoredIndexName);
assertThat(settings.get(DataTier.TIER_PREFERENCE), nullValue());
assertThat(DataTier.TIER_PREFERENCE_SETTING.get(settings), is("data_frozen"));

View file

@ -230,7 +230,10 @@ public class SearchableSnapshotsIntegTests extends BaseSearchableSnapshotsIntegT
assertThat(repositoryMetadata.name(), equalTo(fsRepoName));
assertThat(repositoryMetadata.uuid(), not(equalTo(RepositoryData.MISSING_UUID)));
final Settings settings = indicesAdmin().prepareGetSettings(restoredIndexName).get().getIndexToSettings().get(restoredIndexName);
final Settings settings = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, restoredIndexName)
.get()
.getIndexToSettings()
.get(restoredIndexName);
assertThat(SearchableSnapshots.SNAPSHOT_REPOSITORY_UUID_SETTING.get(settings), equalTo(repositoryMetadata.uuid()));
assertThat(SearchableSnapshots.SNAPSHOT_REPOSITORY_NAME_SETTING.get(settings), equalTo(fsRepoName));
assertThat(SearchableSnapshots.SNAPSHOT_SNAPSHOT_NAME_SETTING.get(settings), equalTo(snapshotName));
@ -337,7 +340,7 @@ public class SearchableSnapshotsIntegTests extends BaseSearchableSnapshotsIntegT
ensureGreen(clonedIndexName);
assertTotalHits(clonedIndexName, originalAllHits, originalBarHits);
final Settings clonedIndexSettings = indicesAdmin().prepareGetSettings(clonedIndexName)
final Settings clonedIndexSettings = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, clonedIndexName)
.get()
.getIndexToSettings()
.get(clonedIndexName);
@ -569,7 +572,7 @@ public class SearchableSnapshotsIntegTests extends BaseSearchableSnapshotsIntegT
assertThat(restoreSnapshotResponse.getRestoreInfo().failedShards(), equalTo(0));
ensureGreen(restoredIndexName);
final Settings settings = indicesAdmin().prepareGetSettings(restoredIndexName)
final Settings settings = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, restoredIndexName)
.get()
.getIndexToSettings()
.get(restoredIndexName);
@ -602,7 +605,7 @@ public class SearchableSnapshotsIntegTests extends BaseSearchableSnapshotsIntegT
assertThat(restoreSnapshotResponse.getRestoreInfo().failedShards(), equalTo(0));
ensureGreen(restoredIndexName);
final Settings settings = indicesAdmin().prepareGetSettings(restoredIndexName)
final Settings settings = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, restoredIndexName)
.get()
.getIndexToSettings()
.get(restoredIndexName);
@ -1093,7 +1096,7 @@ public class SearchableSnapshotsIntegTests extends BaseSearchableSnapshotsIntegT
{
final String mountedIndex = mountSnapshot(repository, snapshot, index, Settings.EMPTY);
assertThat(
indicesAdmin().prepareGetSettings(mountedIndex)
indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, mountedIndex)
.get()
.getIndexToSettings()
.get(mountedIndex)
@ -1111,7 +1114,7 @@ public class SearchableSnapshotsIntegTests extends BaseSearchableSnapshotsIntegT
Settings.builder().put(IndexSettings.INDEX_CHECK_ON_STARTUP.getKey(), overridingCheckOnStartup).build()
);
assertThat(
indicesAdmin().prepareGetSettings(mountedIndex)
indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, mountedIndex)
.get()
.getIndexToSettings()
.get(mountedIndex)

View file

@ -415,7 +415,7 @@ public class SearchableSnapshotsRepositoryIntegTests extends BaseFrozenSearchabl
@Nullable
private static String getDeleteSnapshotIndexSetting(String indexName) {
final GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(indexName).get();
final GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, indexName).get();
return getSettingsResponse.getSetting(indexName, SEARCHABLE_SNAPSHOTS_DELETE_SNAPSHOT_ON_INDEX_DELETION);
}
}

View file

@ -142,7 +142,7 @@ public class AllocationFilteringIntegTests extends BaseSearchableSnapshotsIntegT
assertThat(restoreSnapshotResponse.getRestoreInfo().failedShards(), equalTo(0));
ensureGreen(mountRequest.mountedIndexName());
final Settings mountedIndexSettings = indicesAdmin().prepareGetSettings(mountRequest.mountedIndexName())
final Settings mountedIndexSettings = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, mountRequest.mountedIndexName())
.get()
.getIndexToSettings()
.get(mountRequest.mountedIndexName());

View file

@ -204,7 +204,7 @@ public class SearchableSnapshotsBlobStoreCacheIntegTests extends BaseFrozenSearc
assertThat(
systemClient().admin()
.indices()
.prepareGetSettings(SNAPSHOT_BLOB_CACHE_INDEX)
.prepareGetSettings(TEST_REQUEST_TIMEOUT, SNAPSHOT_BLOB_CACHE_INDEX)
.get()
.getSetting(SNAPSHOT_BLOB_CACHE_INDEX, DataTier.TIER_PREFERENCE),
equalTo("data_content,data_hot")

View file

@ -386,7 +386,7 @@ public class SearchableSnapshotsBlobStoreCacheMaintenanceIntegTests extends Base
}
private Settings getIndexSettings(String indexName) {
return indicesAdmin().prepareGetSettings(indexName).get().getIndexToSettings().get(indexName);
return indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, indexName).get().getIndexToSettings().get(indexName);
}
private Map<String, Tuple<Settings, Long>> mountRandomIndicesWithCache(String repositoryName, int min, int max) throws Exception {

View file

@ -240,7 +240,8 @@ public class SearchableSnapshotsPrewarmingIntegTests extends ESSingleNodeTestCas
assertThat(restoreSnapshotResponse.getRestoreInfo().failedShards(), equalTo(0));
assertHitCount(client().prepareSearch(indexName).setSize(0).setTrackTotalHits(true), docsPerIndex.get(indexName));
final GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(indexName).get();
final GetSettingsResponse getSettingsResponse = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, indexName)
.get();
assertThat(getSettingsResponse.getSetting(indexName, SNAPSHOT_CACHE_ENABLED_SETTING.getKey()), equalTo("true"));
assertThat(getSettingsResponse.getSetting(indexName, SNAPSHOT_CACHE_PREWARM_ENABLED_SETTING.getKey()), equalTo("true"));

View file

@ -201,7 +201,10 @@ public class MultipleIndicesPermissionsTests extends SecurityIntegTestCase {
Collections.singletonMap(BASIC_AUTH_HEADER, basicAuthHeaderValue("user_monitor", USERS_PASSWD))
);
final GetSettingsResponse getSettingsResponse = client.admin().indices().prepareGetSettings(randomFrom("*", "_all", "foo*")).get();
final GetSettingsResponse getSettingsResponse = client.admin()
.indices()
.prepareGetSettings(TEST_REQUEST_TIMEOUT, randomFrom("*", "_all", "foo*"))
.get();
assertThat(getSettingsResponse.getIndexToSettings().size(), is(3));
assertThat(getSettingsResponse.getIndexToSettings().containsKey("foo"), is(true));
assertThat(getSettingsResponse.getIndexToSettings().containsKey("foobar"), is(true));

View file

@ -2144,7 +2144,7 @@ public class AuthorizationServiceTests extends ESTestCase {
requests.add(
new Tuple<>(
GetSettingsAction.NAME,
new GetSettingsRequest().indices(randomFrom(SECURITY_MAIN_ALIAS, INTERNAL_SECURITY_MAIN_INDEX_7))
new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(randomFrom(SECURITY_MAIN_ALIAS, INTERNAL_SECURITY_MAIN_INDEX_7))
)
);
requests.add(
@ -2234,7 +2234,7 @@ public class AuthorizationServiceTests extends ESTestCase {
requests.add(new Tuple<>(IndicesStatsAction.NAME, new IndicesStatsRequest().indices(SECURITY_MAIN_ALIAS)));
requests.add(new Tuple<>(RecoveryAction.NAME, new RecoveryRequest().indices(SECURITY_MAIN_ALIAS)));
requests.add(new Tuple<>(IndicesSegmentsAction.NAME, new IndicesSegmentsRequest().indices(SECURITY_MAIN_ALIAS)));
requests.add(new Tuple<>(GetSettingsAction.NAME, new GetSettingsRequest().indices(SECURITY_MAIN_ALIAS)));
requests.add(new Tuple<>(GetSettingsAction.NAME, new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(SECURITY_MAIN_ALIAS)));
requests.add(
new Tuple<>(TransportIndicesShardStoresAction.TYPE.name(), new IndicesShardStoresRequest().indices(SECURITY_MAIN_ALIAS))
);

View file

@ -526,7 +526,7 @@ public class NodeShutdownShardsIT extends ESIntegTestCase {
}
private void assertIndexSetting(String index, String setting, String expectedValue) {
var response = indicesAdmin().prepareGetSettings(index).get();
var response = indicesAdmin().prepareGetSettings(TEST_REQUEST_TIMEOUT, index).get();
assertThat(response.getSetting(index, setting), equalTo(expectedValue));
}
}

View file

@ -11,6 +11,7 @@ import org.elasticsearch.client.internal.node.NodeClient;
import org.elasticsearch.rest.BaseRestHandler;
import org.elasticsearch.rest.RestRequest;
import org.elasticsearch.rest.RestUtils;
import org.elasticsearch.rest.action.RestCancellableNodeClient;
import org.elasticsearch.rest.action.RestToXContentListener;
import org.elasticsearch.xpack.core.watcher.transport.actions.put.GetWatcherSettingsAction;
@ -37,6 +38,10 @@ public class RestGetWatcherSettingsAction extends BaseRestHandler {
@Override
protected RestChannelConsumer prepareRequest(RestRequest request, NodeClient client) throws IOException {
GetWatcherSettingsAction.Request req = new GetWatcherSettingsAction.Request(RestUtils.getMasterNodeTimeout(request));
return channel -> client.execute(GetWatcherSettingsAction.INSTANCE, req, new RestToXContentListener<>(channel));
return channel -> new RestCancellableNodeClient(client, request.getHttpChannel()).execute(
GetWatcherSettingsAction.INSTANCE,
req,
new RestToXContentListener<>(channel)
);
}
}

View file

@ -9,7 +9,8 @@ package org.elasticsearch.xpack.watcher.transport.actions;
import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.support.ActionFilters;
import org.elasticsearch.action.support.master.TransportMasterNodeAction;
import org.elasticsearch.action.support.ChannelActionListener;
import org.elasticsearch.action.support.local.TransportLocalClusterStateAction;
import org.elasticsearch.cluster.ClusterState;
import org.elasticsearch.cluster.block.ClusterBlockException;
import org.elasticsearch.cluster.block.ClusterBlockLevel;
@ -18,9 +19,10 @@ import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
import org.elasticsearch.cluster.service.ClusterService;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.util.concurrent.EsExecutors;
import org.elasticsearch.core.UpdateForV10;
import org.elasticsearch.injection.guice.Inject;
import org.elasticsearch.tasks.CancellableTask;
import org.elasticsearch.tasks.Task;
import org.elasticsearch.threadpool.ThreadPool;
import org.elasticsearch.transport.TransportService;
import org.elasticsearch.xpack.core.watcher.transport.actions.put.GetWatcherSettingsAction;
@ -30,40 +32,52 @@ import static org.elasticsearch.xpack.core.watcher.transport.actions.put.UpdateW
import static org.elasticsearch.xpack.watcher.transport.actions.TransportUpdateWatcherSettingsAction.WATCHER_INDEX_NAME;
import static org.elasticsearch.xpack.watcher.transport.actions.TransportUpdateWatcherSettingsAction.WATCHER_INDEX_REQUEST;
public class TransportGetWatcherSettingsAction extends TransportMasterNodeAction<
public class TransportGetWatcherSettingsAction extends TransportLocalClusterStateAction<
GetWatcherSettingsAction.Request,
GetWatcherSettingsAction.Response> {
private final IndexNameExpressionResolver indexNameExpressionResolver;
/**
* NB prior to 9.0 this was a TransportMasterNodeReadAction so for BwC it must be registered with the TransportService until
* we no longer need to support calling this action remotely.
*/
@UpdateForV10(owner = UpdateForV10.Owner.DATA_MANAGEMENT)
@SuppressWarnings("this-escape")
@Inject
public TransportGetWatcherSettingsAction(
TransportService transportService,
ClusterService clusterService,
ThreadPool threadPool,
ActionFilters actionFilters,
IndexNameExpressionResolver indexNameExpressionResolver
) {
super(
GetWatcherSettingsAction.NAME,
transportService,
clusterService,
threadPool,
actionFilters,
GetWatcherSettingsAction.Request::readFrom,
GetWatcherSettingsAction.Response::new,
transportService.getTaskManager(),
clusterService,
EsExecutors.DIRECT_EXECUTOR_SERVICE
);
this.indexNameExpressionResolver = indexNameExpressionResolver;
transportService.registerRequestHandler(
actionName,
executor,
false,
true,
GetWatcherSettingsAction.Request::readFrom,
(request, channel, task) -> executeDirect(task, request, new ChannelActionListener<>(channel))
);
}
@Override
protected void masterOperation(
protected void localClusterStateOperation(
Task task,
GetWatcherSettingsAction.Request request,
ClusterState state,
ActionListener<GetWatcherSettingsAction.Response> listener
) {
((CancellableTask) task).ensureNotCancelled();
IndexMetadata metadata = state.metadata().getProject().index(WATCHER_INDEX_NAME);
if (metadata == null) {
listener.onResponse(new GetWatcherSettingsAction.Response(Settings.EMPTY));