Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TEST] Switch to persistent settings in java tests #78562

Merged
merged 15 commits into from
Oct 13, 2021
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.BiConsumer;

import static java.util.Collections.emptyMap;
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
Expand All @@ -75,13 +76,13 @@ public void testClusterPutSettings() throws IOException {
setRequest.persistentSettings(map);

ClusterUpdateSettingsResponse setResponse = execute(setRequest, highLevelClient().cluster()::putSettings,
highLevelClient().cluster()::putSettingsAsync);
highLevelClient().cluster()::putSettingsAsync);

assertAcked(setResponse);
assertThat(setResponse.getTransientSettings().get(transientSettingKey), notNullValue());
assertThat(setResponse.getTransientSettings().get(persistentSettingKey), nullValue());
assertThat(setResponse.getTransientSettings().get(transientSettingKey),
equalTo(transientSettingValue + ByteSizeUnit.BYTES.getSuffix()));
equalTo(transientSettingValue + ByteSizeUnit.BYTES.getSuffix()));
assertThat(setResponse.getPersistentSettings().get(transientSettingKey), nullValue());
assertThat(setResponse.getPersistentSettings().get(persistentSettingKey), notNullValue());
assertThat(setResponse.getPersistentSettings().get(persistentSettingKey), equalTo(persistentSettingValue));
Expand All @@ -97,7 +98,7 @@ public void testClusterPutSettings() throws IOException {
resetRequest.persistentSettings("{\"" + persistentSettingKey + "\": null }", XContentType.JSON);

ClusterUpdateSettingsResponse resetResponse = execute(resetRequest, highLevelClient().cluster()::putSettings,
highLevelClient().cluster()::putSettingsAsync);
highLevelClient().cluster()::putSettingsAsync);

assertThat(resetResponse.getTransientSettings().get(transientSettingKey), equalTo(null));
assertThat(resetResponse.getPersistentSettings().get(persistentSettingKey), equalTo(null));
Expand All @@ -111,17 +112,28 @@ public void testClusterPutSettings() throws IOException {
assertThat(persistentResetValue, equalTo(null));
}

public void testClusterUpdateSettingNonExistent() {
public void testClusterUpdateTransientSettingNonExistent() {
testClusterUpdateSettingNonExistent((settings, request) -> request.transientSettings(settings), "transient");
}

public void testClusterUpdatePersistentSettingNonExistent() {
testClusterUpdateSettingNonExistent((settings, request) -> request.persistentSettings(settings), "persistent");
}

private void testClusterUpdateSettingNonExistent(
final BiConsumer<Settings.Builder, ClusterUpdateSettingsRequest> consumer,
String label) {
String setting = "no_idea_what_you_are_talking_about";
int value = 10;
ClusterUpdateSettingsRequest clusterUpdateSettingsRequest = new ClusterUpdateSettingsRequest();
clusterUpdateSettingsRequest.transientSettings(Settings.builder().put(setting, value).build());
consumer.accept(Settings.builder().put(setting, value), clusterUpdateSettingsRequest);

ElasticsearchException exception = expectThrows(ElasticsearchException.class, () -> execute(clusterUpdateSettingsRequest,
highLevelClient().cluster()::putSettings, highLevelClient().cluster()::putSettingsAsync));
highLevelClient().cluster()::putSettings, highLevelClient().cluster()::putSettingsAsync));
assertThat(exception.status(), equalTo(RestStatus.BAD_REQUEST));
assertThat(exception.getMessage(), equalTo(
"Elasticsearch exception [type=illegal_argument_exception, reason=transient setting [" + setting + "], not recognized]"));
"Elasticsearch exception [type=illegal_argument_exception, reason="
+ label + " setting [" + setting + "], not recognized]"));
}

public void testClusterGetSettings() throws IOException {
Expand Down Expand Up @@ -183,7 +195,7 @@ public void testClusterHealthYellowClusterLevel() throws IOException {
ClusterHealthResponse response = execute(request, highLevelClient().cluster()::health, highLevelClient().cluster()::healthAsync);

logger.info("Shard stats\n{}", EntityUtils.toString(
client().performRequest(new Request("GET", "/_cat/shards")).getEntity()));
client().performRequest(new Request("GET", "/_cat/shards")).getEntity()));
assertThat(response.getIndices().size(), equalTo(0));
}

Expand All @@ -204,7 +216,7 @@ public void testClusterHealthYellowIndicesLevel() throws IOException {
ClusterHealthResponse response = execute(request, highLevelClient().cluster()::health, highLevelClient().cluster()::healthAsync);

logger.info("Shard stats\n{}", EntityUtils.toString(
client().performRequest(new Request("GET", "/_cat/shards")).getEntity()));
client().performRequest(new Request("GET", "/_cat/shards")).getEntity()));
assertYellowShards(response);
assertThat(response.getIndices().size(), equalTo(2));
for (Map.Entry<String, ClusterIndexHealth> entry : response.getIndices().entrySet()) {
Expand All @@ -226,7 +238,6 @@ private static void assertYellowShards(ClusterHealthResponse response) {
assertThat(response.getUnassignedShards(), equalTo(2));
}


public void testClusterHealthYellowSpecificIndex() throws IOException {
createIndex("index", Settings.EMPTY);
createIndex("index2", Settings.EMPTY);
Expand Down Expand Up @@ -317,19 +328,19 @@ public void testRemoteInfo() throws Exception {
ClusterGetSettingsResponse settingsResponse = highLevelClient().cluster().getSettings(settingsRequest, RequestOptions.DEFAULT);

List<String> seeds = SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS
.getConcreteSettingForNamespace(clusterAlias)
.get(settingsResponse.getTransientSettings());
.getConcreteSettingForNamespace(clusterAlias)
.get(settingsResponse.getPersistentSettings());
int connectionsPerCluster = SniffConnectionStrategy.REMOTE_CONNECTIONS_PER_CLUSTER
.get(settingsResponse.getTransientSettings());
.get(settingsResponse.getPersistentSettings());
TimeValue initialConnectionTimeout = RemoteClusterService.REMOTE_INITIAL_CONNECTION_TIMEOUT_SETTING
.get(settingsResponse.getTransientSettings());
.get(settingsResponse.getPersistentSettings());
boolean skipUnavailable = RemoteClusterService.REMOTE_CLUSTER_SKIP_UNAVAILABLE
.getConcreteSettingForNamespace(clusterAlias)
.get(settingsResponse.getTransientSettings());
.getConcreteSettingForNamespace(clusterAlias)
.get(settingsResponse.getPersistentSettings());

RemoteInfoRequest request = new RemoteInfoRequest();
RemoteInfoResponse response = execute(request, highLevelClient().cluster()::remoteInfo,
highLevelClient().cluster()::remoteInfoAsync);
highLevelClient().cluster()::remoteInfoAsync);

assertThat(response, notNullValue());
assertThat(response.getInfos().size(), equalTo(1));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ protected static void setupRemoteClusterConfig(String remoteClusterName) throws
String transportAddress = (String) nodesResponse.get("transport_address");

ClusterUpdateSettingsRequest updateSettingsRequest = new ClusterUpdateSettingsRequest();
updateSettingsRequest.transientSettings(singletonMap("cluster.remote." + remoteClusterName + ".seeds", transportAddress));
updateSettingsRequest.persistentSettings(singletonMap("cluster.remote." + remoteClusterName + ".seeds", transportAddress));
ClusterUpdateSettingsResponse updateSettingsResponse =
restHighLevelClient.cluster().putSettings(updateSettingsRequest, RequestOptions.DEFAULT);
assertThat(updateSettingsResponse.isAcknowledged(), is(true));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
import org.elasticsearch.cluster.metadata.AliasMetadata;
import org.elasticsearch.cluster.metadata.ComponentTemplate;
import org.elasticsearch.cluster.metadata.Template;
import org.elasticsearch.cluster.routing.allocation.decider.EnableAllocationDecider;
import org.elasticsearch.common.Priority;
import org.elasticsearch.common.compress.CompressedXContent;
import org.elasticsearch.common.settings.Settings;
Expand Down Expand Up @@ -71,48 +70,38 @@ public void testClusterPutSettings() throws IOException {
// end::put-settings-request

// tag::put-settings-create-settings
String transientSettingKey =
RecoverySettings.INDICES_RECOVERY_MAX_BYTES_PER_SEC_SETTING.getKey();
int transientSettingValue = 10;
Settings transientSettings =
Settings.builder()
.put(transientSettingKey, transientSettingValue, ByteSizeUnit.BYTES)
.build(); // <1>

String persistentSettingKey =
EnableAllocationDecider.CLUSTER_ROUTING_ALLOCATION_ENABLE_SETTING.getKey();
String persistentSettingValue =
EnableAllocationDecider.Allocation.NONE.name();
RecoverySettings.INDICES_RECOVERY_MAX_BYTES_PER_SEC_SETTING.getKey();
int persistentSettingValue = 10;
Settings persistentSettings =
Settings.builder()
.put(persistentSettingKey, persistentSettingValue)
.build(); // <2>
.put(persistentSettingKey, persistentSettingValue, ByteSizeUnit.BYTES)
.build(); // <1>
// end::put-settings-create-settings

// tag::put-settings-request-cluster-settings
request.transientSettings(transientSettings); // <1>
request.persistentSettings(persistentSettings); // <2>
request.persistentSettings(persistentSettings); // <1>
// end::put-settings-request-cluster-settings

{
// tag::put-settings-settings-builder
Settings.Builder transientSettingsBuilder =
Settings.Builder persistentSettingsBuilder =
Settings.builder()
.put(transientSettingKey, transientSettingValue, ByteSizeUnit.BYTES);
request.transientSettings(transientSettingsBuilder); // <1>
.put(persistentSettingKey, persistentSettingValue, ByteSizeUnit.BYTES);
request.persistentSettings(persistentSettingsBuilder); // <1>
// end::put-settings-settings-builder
}
{
// tag::put-settings-settings-map
Map<String, Object> map = new HashMap<>();
map.put(transientSettingKey
, transientSettingValue + ByteSizeUnit.BYTES.getSuffix());
request.transientSettings(map); // <1>
map.put(persistentSettingKey
, persistentSettingValue + ByteSizeUnit.BYTES.getSuffix());
request.persistentSettings(map); // <1>
// end::put-settings-settings-map
}
{
// tag::put-settings-settings-source
request.transientSettings(
request.persistentSettings(
"{\"indices.recovery.max_bytes_per_sec\": \"10b\"}"
, XContentType.JSON); // <1>
// end::put-settings-settings-source
Expand All @@ -133,17 +122,14 @@ public void testClusterPutSettings() throws IOException {

// tag::put-settings-response
boolean acknowledged = response.isAcknowledged(); // <1>
Settings transientSettingsResponse = response.getTransientSettings(); // <2>
Settings persistentSettingsResponse = response.getPersistentSettings(); // <3>
Settings persistentSettingsResponse = response.getPersistentSettings(); // <2>
// end::put-settings-response
assertTrue(acknowledged);
assertThat(transientSettingsResponse.get(transientSettingKey), equalTo(transientSettingValue + ByteSizeUnit.BYTES.getSuffix()));
assertThat(persistentSettingsResponse.get(persistentSettingKey), equalTo(persistentSettingValue));
assertThat(persistentSettingsResponse.get(persistentSettingKey), equalTo(persistentSettingValue + ByteSizeUnit.BYTES.getSuffix()));

// tag::put-settings-request-reset-transient
request.transientSettings(Settings.builder().putNull(transientSettingKey).build()); // <1>
// tag::put-settings-request-reset-transient
request.persistentSettings(Settings.builder().putNull(persistentSettingKey));
// tag::put-settings-request-reset-persistent
request.persistentSettings(Settings.builder().putNull(persistentSettingKey).build()); // <1>
// tag::put-settings-request-reset-persistent
ClusterUpdateSettingsResponse resetResponse = client.cluster().putSettings(request, RequestOptions.DEFAULT);

assertTrue(resetResponse.isAcknowledged());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,6 @@ private void setDiskAllocationDeciderEnabled(boolean value) {
DiskThresholdSettings.CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED_SETTING.getKey()).build() :
Settings.builder().put(
DiskThresholdSettings.CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED_SETTING.getKey(), value).build();
assertAcked(client().admin().cluster().prepareUpdateSettings().setTransientSettings(settings).get());
assertAcked(client().admin().cluster().prepareUpdateSettings().setPersistentSettings(settings).get());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ public void testDoesNotLimitExcludedRequests() throws Exception {
List<Tuple<String, CharSequence>> requestUris = new ArrayList<>();
for (int i = 0; i < 1500; i++) {
requestUris.add(Tuple.tuple("/_cluster/settings",
"{ \"transient\": {\"search.default_search_timeout\": \"40s\" } }"));
"{ \"persistent\": {\"search.default_search_timeout\": \"40s\" } }"));
}

HttpServerTransport httpServerTransport = internalCluster().getInstance(HttpServerTransport.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ public void testCannotAutoCreateIndexWhenDisallowedByTemplate() throws IOExcepti
private void configureAutoCreateIndex(boolean value) throws IOException {
XContentBuilder builder = JsonXContent.contentBuilder()
.startObject()
.startObject("transient")
.startObject("persistent")
.field(AutoCreateIndex.AUTO_CREATE_INDEX_SETTING.getKey(), value)
.endObject()
.endObject();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -701,7 +701,7 @@ public void testWorseBalance() throws Exception {
prepareIndex(5, 0);

logger.info("--> setting balancing threshold really high, so it won't be met");
client().admin().cluster().prepareUpdateSettings().setTransientSettings(
client().admin().cluster().prepareUpdateSettings().setPersistentSettings(
Settings.builder().put("cluster.routing.allocation.balance.threshold", 1000.0f)).get();

logger.info("--> starting another node, with the rebalance threshold so high, it should not get any shards");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public void testCreateCloneIndex() {

// disable rebalancing to be able to capture the right stats. balancing can move the target primary
// making it hard to pin point the source shards.
client().admin().cluster().prepareUpdateSettings().setTransientSettings(Settings.builder().put(
client().admin().cluster().prepareUpdateSettings().setPersistentSettings(Settings.builder().put(
EnableAllocationDecider.CLUSTER_ROUTING_REBALANCE_ENABLE_SETTING.getKey(), "none"
)).get();
try {
Expand Down Expand Up @@ -105,7 +105,7 @@ public void testCreateCloneIndex() {
assertEquals(version, target.getIndexToSettings().get("target").getAsVersion("index.version.created", null));
} finally {
// clean up
client().admin().cluster().prepareUpdateSettings().setTransientSettings(Settings.builder().put(
client().admin().cluster().prepareUpdateSettings().setPersistentSettings(Settings.builder().put(
EnableAllocationDecider.CLUSTER_ROUTING_REBALANCE_ENABLE_SETTING.getKey(), (String)null
)).get();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ public void testCreateShrinkIndex() {

// disable rebalancing to be able to capture the right stats. balancing can move the target primary
// making it hard to pin point the source shards.
client().admin().cluster().prepareUpdateSettings().setTransientSettings(Settings.builder().put(
client().admin().cluster().prepareUpdateSettings().setPersistentSettings(Settings.builder().put(
EnableAllocationDecider.CLUSTER_ROUTING_REBALANCE_ENABLE_SETTING.getKey(), "none"
)).get();

Expand Down Expand Up @@ -321,7 +321,7 @@ public void testCreateShrinkIndex() {
assertEquals(version, target.getIndexToSettings().get("target").getAsVersion("index.version.created", null));

// clean up
client().admin().cluster().prepareUpdateSettings().setTransientSettings(Settings.builder().put(
client().admin().cluster().prepareUpdateSettings().setPersistentSettings(Settings.builder().put(
EnableAllocationDecider.CLUSTER_ROUTING_REBALANCE_ENABLE_SETTING.getKey(), (String)null
)).get();
}
Expand Down Expand Up @@ -496,7 +496,7 @@ public void testShrinkCommitsMergeOnIdle() throws Exception {

// disable rebalancing to be able to capture the right stats. balancing can move the target primary
// making it hard to pin point the source shards.
client().admin().cluster().prepareUpdateSettings().setTransientSettings(Settings.builder().put(
client().admin().cluster().prepareUpdateSettings().setPersistentSettings(Settings.builder().put(
EnableAllocationDecider.CLUSTER_ROUTING_REBALANCE_ENABLE_SETTING.getKey(), "none"
)).get();

Expand Down Expand Up @@ -537,7 +537,7 @@ public void testShrinkCommitsMergeOnIdle() throws Exception {
});

// clean up
client().admin().cluster().prepareUpdateSettings().setTransientSettings(Settings.builder().put(
client().admin().cluster().prepareUpdateSettings().setPersistentSettings(Settings.builder().put(
EnableAllocationDecider.CLUSTER_ROUTING_REBALANCE_ENABLE_SETTING.getKey(), (String)null
)).get();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ public void testCreateSplitIndex() throws Exception {

// disable rebalancing to be able to capture the right stats. balancing can move the target primary
// making it hard to pin point the source shards.
client().admin().cluster().prepareUpdateSettings().setTransientSettings(Settings.builder().put(
client().admin().cluster().prepareUpdateSettings().setPersistentSettings(Settings.builder().put(
EnableAllocationDecider.CLUSTER_ROUTING_REBALANCE_ENABLE_SETTING.getKey(), "none"
)).get();
try {
Expand Down Expand Up @@ -433,7 +433,7 @@ public void testCreateSplitIndex() throws Exception {
assertEquals(version, target.getIndexToSettings().get("target").getAsVersion("index.version.created", null));
} finally {
// clean up
client().admin().cluster().prepareUpdateSettings().setTransientSettings(Settings.builder().put(
client().admin().cluster().prepareUpdateSettings().setPersistentSettings(Settings.builder().put(
EnableAllocationDecider.CLUSTER_ROUTING_REBALANCE_ENABLE_SETTING.getKey(), (String)null
)).get();
}
Expand Down
Loading