From d14f1700934e9eac307c74bfc23f9d6c35820307 Mon Sep 17 00:00:00 2001 From: Jason Tedor Date: Wed, 25 Mar 2020 15:11:59 -0400 Subject: [PATCH] Add cluster.remote.connect to deprecation info API (#54142) This setting was recently deprecated in favor of node.remote_cluster_client. This commit adds this setting to the deprecation info API. --- .../xpack/deprecation/DeprecationChecks.java | 3 ++- .../deprecation/NodeDeprecationChecks.java | 12 ++++++++++ .../NodeDeprecationChecksTests.java | 23 +++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/DeprecationChecks.java b/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/DeprecationChecks.java index bc5ea2558c3..80e53db4b69 100644 --- a/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/DeprecationChecks.java +++ b/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/DeprecationChecks.java @@ -47,7 +47,8 @@ public class DeprecationChecks { NodeDeprecationChecks::checkMissingRealmOrders, NodeDeprecationChecks::checkUniqueRealmOrders, (settings, pluginsAndModules) -> NodeDeprecationChecks.checkThreadPoolListenerQueueSize(settings), - (settings, pluginsAndModules) -> NodeDeprecationChecks.checkThreadPoolListenerSize(settings) + (settings, pluginsAndModules) -> NodeDeprecationChecks.checkThreadPoolListenerSize(settings), + NodeDeprecationChecks::checkClusterRemoteConnectSetting )); static List> INDEX_SETTINGS_CHECKS = diff --git a/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/NodeDeprecationChecks.java b/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/NodeDeprecationChecks.java index f370ab26e6d..44abf52d26d 100644 --- a/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/NodeDeprecationChecks.java +++ b/x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/NodeDeprecationChecks.java @@ -11,7 +11,9 @@ import org.elasticsearch.common.settings.Setting; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.env.Environment; +import org.elasticsearch.node.Node; import org.elasticsearch.threadpool.FixedExecutorBuilder; +import org.elasticsearch.transport.RemoteClusterService; import org.elasticsearch.xpack.core.deprecation.DeprecationIssue; import org.elasticsearch.xpack.core.security.authc.RealmSettings; @@ -117,6 +119,16 @@ class NodeDeprecationChecks { "https://www.elastic.co/guide/en/elasticsearch/reference/7.x/breaking-changes-7.7.html#deprecate-listener-thread-pool"); } + public static DeprecationIssue checkClusterRemoteConnectSetting(final Settings settings, final PluginsAndModules pluginsAndModules) { + return checkDeprecatedSetting( + settings, + pluginsAndModules, + RemoteClusterService.ENABLE_REMOTE_CLUSTERS, + Node.NODE_REMOTE_CLUSTER_CLIENT, + "https://www.elastic.co/guide/en/elasticsearch/reference/7.7/breaking-changes-7.7.html#deprecate-cluster-remote-connect" + ); + } + private static DeprecationIssue checkDeprecatedSetting( final Settings settings, final PluginsAndModules pluginsAndModules, diff --git a/x-pack/plugin/deprecation/src/test/java/org/elasticsearch/xpack/deprecation/NodeDeprecationChecksTests.java b/x-pack/plugin/deprecation/src/test/java/org/elasticsearch/xpack/deprecation/NodeDeprecationChecksTests.java index 19b5931c8f3..367e8a1e6db 100644 --- a/x-pack/plugin/deprecation/src/test/java/org/elasticsearch/xpack/deprecation/NodeDeprecationChecksTests.java +++ b/x-pack/plugin/deprecation/src/test/java/org/elasticsearch/xpack/deprecation/NodeDeprecationChecksTests.java @@ -11,7 +11,9 @@ import org.elasticsearch.common.settings.Setting; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.env.Environment; +import org.elasticsearch.node.Node; import org.elasticsearch.test.ESTestCase; +import org.elasticsearch.transport.RemoteClusterService; import org.elasticsearch.xpack.core.deprecation.DeprecationIssue; import org.elasticsearch.xpack.core.security.authc.RealmConfig; import org.elasticsearch.xpack.core.security.authc.RealmSettings; @@ -176,6 +178,27 @@ public class NodeDeprecationChecksTests extends ESTestCase { assertSettingDeprecationsAndWarnings(new String[]{"thread_pool.listener.size"}); } + public void testClusterRemoteConnectSetting() { + final boolean value = randomBoolean(); + final Settings settings = Settings.builder().put(RemoteClusterService.ENABLE_REMOTE_CLUSTERS.getKey(), value).build(); + final PluginsAndModules pluginsAndModules = new PluginsAndModules(Collections.emptyList(), Collections.emptyList()); + final List issues = + DeprecationChecks.filterChecks(DeprecationChecks.NODE_SETTINGS_CHECKS, c -> c.apply(settings, pluginsAndModules)); + final DeprecationIssue expected = new DeprecationIssue( + DeprecationIssue.Level.CRITICAL, + "setting [cluster.remote.connect] is deprecated in favor of setting [node.remote_cluster_client]", + "https://www.elastic.co/guide/en/elasticsearch/reference/7.7/breaking-changes-7.7.html#deprecate-cluster-remote-connect", + String.format( + Locale.ROOT, + "the setting [%s] is currently set to [%b], instead set [%s] to [%2$b]", + RemoteClusterService.ENABLE_REMOTE_CLUSTERS.getKey(), + value, + Node.NODE_REMOTE_CLUSTER_CLIENT.getKey() + )); + assertThat(issues, contains(expected)); + assertSettingDeprecationsAndWarnings(new Setting[]{RemoteClusterService.ENABLE_REMOTE_CLUSTERS}); + } + public void testRemovedSettingNotSet() { final Settings settings = Settings.EMPTY; final Setting removedSetting = Setting.simpleString("node.removed_setting");