diff --git a/client/rest-high-level/src/test/java/org/elasticsearch/client/CCRIT.java b/client/rest-high-level/src/test/java/org/elasticsearch/client/CCRIT.java index 7f817103a63fc..6be2efe98c48b 100644 --- a/client/rest-high-level/src/test/java/org/elasticsearch/client/CCRIT.java +++ b/client/rest-high-level/src/test/java/org/elasticsearch/client/CCRIT.java @@ -83,7 +83,7 @@ public void setupRemoteClusterConfig() throws Exception { String transportAddress = (String) nodesResponse.get("transport_address"); ClusterUpdateSettingsRequest updateSettingsRequest = new ClusterUpdateSettingsRequest(); - updateSettingsRequest.transientSettings(Collections.singletonMap("cluster.remote.local_cluster.sniff.seeds", transportAddress)); + updateSettingsRequest.transientSettings(Collections.singletonMap("cluster.remote.local_cluster.seeds", transportAddress)); ClusterUpdateSettingsResponse updateSettingsResponse = highLevelClient().cluster().putSettings(updateSettingsRequest, RequestOptions.DEFAULT); assertThat(updateSettingsResponse.isAcknowledged(), is(true)); diff --git a/client/rest-high-level/src/test/java/org/elasticsearch/client/documentation/CCRDocumentationIT.java b/client/rest-high-level/src/test/java/org/elasticsearch/client/documentation/CCRDocumentationIT.java index 465a035952599..48f7adda8445c 100644 --- a/client/rest-high-level/src/test/java/org/elasticsearch/client/documentation/CCRDocumentationIT.java +++ b/client/rest-high-level/src/test/java/org/elasticsearch/client/documentation/CCRDocumentationIT.java @@ -87,7 +87,7 @@ public void setupRemoteClusterConfig() throws IOException { String transportAddress = (String) nodesResponse.get("transport_address"); ClusterUpdateSettingsRequest updateSettingsRequest = new ClusterUpdateSettingsRequest(); - updateSettingsRequest.transientSettings(Collections.singletonMap("cluster.remote.local.sniff.seeds", transportAddress)); + updateSettingsRequest.transientSettings(Collections.singletonMap("cluster.remote.local.seeds", transportAddress)); ClusterUpdateSettingsResponse updateSettingsResponse = client.cluster().putSettings(updateSettingsRequest, RequestOptions.DEFAULT); assertThat(updateSettingsResponse.isAcknowledged(), is(true)); diff --git a/qa/ccs-unavailable-clusters/src/test/java/org/elasticsearch/search/CrossClusterSearchUnavailableClusterIT.java b/qa/ccs-unavailable-clusters/src/test/java/org/elasticsearch/search/CrossClusterSearchUnavailableClusterIT.java index 7b2a4835d1964..2bf0eae138135 100644 --- a/qa/ccs-unavailable-clusters/src/test/java/org/elasticsearch/search/CrossClusterSearchUnavailableClusterIT.java +++ b/qa/ccs-unavailable-clusters/src/test/java/org/elasticsearch/search/CrossClusterSearchUnavailableClusterIT.java @@ -144,7 +144,7 @@ public void testSearchSkipUnavailable() throws IOException { try (MockTransportService remoteTransport = startTransport("node0", new CopyOnWriteArrayList<>(), Version.CURRENT, threadPool)) { DiscoveryNode remoteNode = remoteTransport.getLocalDiscoNode(); - updateRemoteClusterSettings(Collections.singletonMap("sniff.seeds", remoteNode.getAddress().toString())); + updateRemoteClusterSettings(Collections.singletonMap("seeds", remoteNode.getAddress().toString())); for (int i = 0; i < 10; i++) { restHighLevelClient.index( @@ -229,7 +229,7 @@ public void testSearchSkipUnavailable() throws IOException { assertSearchConnectFailure(); Map map = new HashMap<>(); - map.put("sniff.seeds", null); + map.put("seeds", null); map.put("skip_unavailable", null); updateRemoteClusterSettings(map); } @@ -248,32 +248,32 @@ public void testSkipUnavailableDependsOnSeeds() throws IOException { () -> client().performRequest(request)); assertEquals(400, responseException.getResponse().getStatusLine().getStatusCode()); assertThat(responseException.getMessage(), - containsString("missing required setting [cluster.remote.remote1.sniff.seeds] " + + containsString("missing required setting [cluster.remote.remote1.seeds] " + "for setting [cluster.remote.remote1.skip_unavailable]")); } Map settingsMap = new HashMap<>(); - settingsMap.put("sniff.seeds", remoteNode.getAddress().toString()); + settingsMap.put("seeds", remoteNode.getAddress().toString()); settingsMap.put("skip_unavailable", randomBoolean()); updateRemoteClusterSettings(settingsMap); { //check that seeds cannot be reset alone if skip_unavailable is set Request request = new Request("PUT", "/_cluster/settings"); - request.setEntity(buildUpdateSettingsRequestBody(Collections.singletonMap("sniff.seeds", null))); + request.setEntity(buildUpdateSettingsRequestBody(Collections.singletonMap("seeds", null))); ResponseException responseException = expectThrows(ResponseException.class, () -> client().performRequest(request)); assertEquals(400, responseException.getResponse().getStatusLine().getStatusCode()); - assertThat(responseException.getMessage(), containsString("missing required setting [cluster.remote.remote1.sniff.seeds] " + + assertThat(responseException.getMessage(), containsString("missing required setting [cluster.remote.remote1.seeds] " + "for setting [cluster.remote.remote1.skip_unavailable]")); } if (randomBoolean()) { updateRemoteClusterSettings(Collections.singletonMap("skip_unavailable", null)); - updateRemoteClusterSettings(Collections.singletonMap("sniff.seeds", null)); + updateRemoteClusterSettings(Collections.singletonMap("seeds", null)); } else { Map nullMap = new HashMap<>(); - nullMap.put("sniff.seeds", null); + nullMap.put("seeds", null); nullMap.put("skip_unavailable", null); updateRemoteClusterSettings(nullMap); } diff --git a/qa/multi-cluster-search/src/test/resources/rest-api-spec/test/multi_cluster/15_connection_mode_configuration.yml b/qa/multi-cluster-search/src/test/resources/rest-api-spec/test/multi_cluster/15_connection_mode_configuration.yml index ed639b3655ed5..5606a08cd261e 100644 --- a/qa/multi-cluster-search/src/test/resources/rest-api-spec/test/multi_cluster/15_connection_mode_configuration.yml +++ b/qa/multi-cluster-search/src/test/resources/rest-api-spec/test/multi_cluster/15_connection_mode_configuration.yml @@ -1,5 +1,5 @@ --- -"Add transient remote cluster in simple mode with invalid sniff settings": +"Add transient remote cluster in proxy mode with invalid sniff settings": - do: cluster.get_settings: include_defaults: true @@ -12,14 +12,14 @@ flat_settings: true body: transient: - cluster.remote.test_remote_cluster.mode: "simple" - cluster.remote.test_remote_cluster.sniff.node_connections: "5" - cluster.remote.test_remote_cluster.simple.addresses: $remote_ip + cluster.remote.test_remote_cluster.mode: "proxy" + cluster.remote.test_remote_cluster.node_connections: "5" + cluster.remote.test_remote_cluster.proxy_addresses: $remote_ip - match: { status: 400 } - match: { error.root_cause.0.type: "illegal_argument_exception" } - - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.sniff.node_connections\" cannot be - used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SNIFF, configured=SIMPLE]" } + - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.node_connections\" cannot be + used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SNIFF, configured=PROXY]" } - do: catch: bad_request @@ -27,17 +27,17 @@ flat_settings: true body: transient: - cluster.remote.test_remote_cluster.mode: "simple" - cluster.remote.test_remote_cluster.sniff.seeds: $remote_ip - cluster.remote.test_remote_cluster.simple.addresses: $remote_ip + cluster.remote.test_remote_cluster.mode: "proxy" + cluster.remote.test_remote_cluster.seeds: $remote_ip + cluster.remote.test_remote_cluster.proxy_addresses: $remote_ip - match: { status: 400 } - match: { error.root_cause.0.type: "illegal_argument_exception" } - - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.sniff.seeds\" cannot be - used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SNIFF, configured=SIMPLE]" } + - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.seeds\" cannot be + used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SNIFF, configured=PROXY]" } --- -"Add transient remote cluster in sniff mode with invalid simple settings": +"Add transient remote cluster in sniff mode with invalid proxy settings": - do: cluster.get_settings: include_defaults: true @@ -50,13 +50,13 @@ flat_settings: true body: transient: - cluster.remote.test_remote_cluster.simple.socket_connections: "20" - cluster.remote.test_remote_cluster.sniff.seeds: $remote_ip + cluster.remote.test_remote_cluster.proxy_socket_connections: "20" + cluster.remote.test_remote_cluster.seeds: $remote_ip - match: { status: 400 } - match: { error.root_cause.0.type: "illegal_argument_exception" } - - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.simple.socket_connections\" cannot be - used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SIMPLE, configured=SNIFF]" } + - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.proxy_socket_connections\" cannot be + used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=PROXY, configured=SNIFF]" } - do: catch: bad_request @@ -64,16 +64,16 @@ flat_settings: true body: transient: - cluster.remote.test_remote_cluster.simple.addresses: $remote_ip - cluster.remote.test_remote_cluster.sniff.seeds: $remote_ip + cluster.remote.test_remote_cluster.proxy_addresses: $remote_ip + cluster.remote.test_remote_cluster.seeds: $remote_ip - match: { status: 400 } - match: { error.root_cause.0.type: "illegal_argument_exception" } - - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.simple.addresses\" cannot be - used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SIMPLE, configured=SNIFF]" } + - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.proxy_addresses\" cannot be + used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=PROXY, configured=SNIFF]" } --- -"Add transient remote cluster using simple connection mode using valid settings": +"Add transient remote cluster using proxy connection mode using valid settings": - do: cluster.get_settings: include_defaults: true @@ -85,13 +85,13 @@ flat_settings: true body: transient: - cluster.remote.test_remote_cluster.mode: "simple" - cluster.remote.test_remote_cluster.simple.socket_connections: "3" - cluster.remote.test_remote_cluster.simple.addresses: $remote_ip + cluster.remote.test_remote_cluster.mode: "proxy" + cluster.remote.test_remote_cluster.proxy_socket_connections: "3" + cluster.remote.test_remote_cluster.proxy_addresses: $remote_ip - - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "simple"} - - match: {transient.cluster\.remote\.test_remote_cluster\.simple\.socket_connections: "3"} - - match: {transient.cluster\.remote\.test_remote_cluster\.simple\.addresses: $remote_ip} + - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "proxy"} + - match: {transient.cluster\.remote\.test_remote_cluster\.proxy_socket_connections: "3"} + - match: {transient.cluster\.remote\.test_remote_cluster\.proxy_addresses: $remote_ip} - do: search: @@ -120,12 +120,12 @@ body: transient: cluster.remote.test_remote_cluster.mode: "sniff" - cluster.remote.test_remote_cluster.sniff.node_connections: "3" - cluster.remote.test_remote_cluster.sniff.seeds: $remote_ip + cluster.remote.test_remote_cluster.node_connections: "3" + cluster.remote.test_remote_cluster.seeds: $remote_ip - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "sniff"} - - match: {transient.cluster\.remote\.test_remote_cluster\.sniff\.node_connections: "3"} - - match: {transient.cluster\.remote\.test_remote_cluster\.sniff\.seeds: $remote_ip} + - match: {transient.cluster\.remote\.test_remote_cluster\.node_connections: "3"} + - match: {transient.cluster\.remote\.test_remote_cluster\.seeds: $remote_ip} - do: search: @@ -154,10 +154,10 @@ body: transient: cluster.remote.test_remote_cluster.mode: "sniff" - cluster.remote.test_remote_cluster.sniff.seeds: $remote_ip + cluster.remote.test_remote_cluster.seeds: $remote_ip - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "sniff"} - - match: {transient.cluster\.remote\.test_remote_cluster\.sniff\.seeds: $remote_ip} + - match: {transient.cluster\.remote\.test_remote_cluster\.seeds: $remote_ip} - do: search: @@ -178,25 +178,25 @@ flat_settings: true body: transient: - cluster.remote.test_remote_cluster.mode: "simple" - cluster.remote.test_remote_cluster.simple.addresses: $remote_ip + cluster.remote.test_remote_cluster.mode: "proxy" + cluster.remote.test_remote_cluster.proxy_addresses: $remote_ip - match: { status: 400 } - match: { error.root_cause.0.type: "illegal_argument_exception" } - - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.sniff.seeds\" cannot be - used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SNIFF, configured=SIMPLE]" } + - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.seeds\" cannot be + used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SNIFF, configured=PROXY]" } - do: cluster.put_settings: flat_settings: true body: transient: - cluster.remote.test_remote_cluster.mode: "simple" - cluster.remote.test_remote_cluster.sniff.seeds: null - cluster.remote.test_remote_cluster.simple.addresses: $remote_ip + cluster.remote.test_remote_cluster.mode: "proxy" + cluster.remote.test_remote_cluster.seeds: null + cluster.remote.test_remote_cluster.proxy_addresses: $remote_ip - - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "simple"} - - match: {transient.cluster\.remote\.test_remote_cluster\.simple\.addresses: $remote_ip} + - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "proxy"} + - match: {transient.cluster\.remote\.test_remote_cluster\.proxy_addresses: $remote_ip} - do: search: diff --git a/qa/multi-cluster-search/src/test/resources/rest-api-spec/test/multi_cluster/20_info.yml b/qa/multi-cluster-search/src/test/resources/rest-api-spec/test/multi_cluster/20_info.yml index 761526a7bea60..10378aaeda125 100644 --- a/qa/multi-cluster-search/src/test/resources/rest-api-spec/test/multi_cluster/20_info.yml +++ b/qa/multi-cluster-search/src/test/resources/rest-api-spec/test/multi_cluster/20_info.yml @@ -23,12 +23,12 @@ body: transient: cluster.remote.test_remote_cluster.mode: "sniff" - cluster.remote.test_remote_cluster.sniff.node_connections: "2" - cluster.remote.test_remote_cluster.sniff.seeds: $remote_ip + cluster.remote.test_remote_cluster.node_connections: "2" + cluster.remote.test_remote_cluster.seeds: $remote_ip - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "sniff"} - - match: {transient.cluster\.remote\.test_remote_cluster\.sniff\.node_connections: "2"} - - match: {transient.cluster\.remote\.test_remote_cluster\.sniff\.seeds: $remote_ip} + - match: {transient.cluster\.remote\.test_remote_cluster\.node_connections: "2"} + - match: {transient.cluster\.remote\.test_remote_cluster\.seeds: $remote_ip} # we do another search here since this will enforce the connection to be established # otherwise the cluster might not have been connected yet. @@ -66,15 +66,15 @@ flat_settings: true body: transient: - cluster.remote.test_remote_cluster.mode: "simple" - cluster.remote.test_remote_cluster.sniff.seeds: null - cluster.remote.test_remote_cluster.sniff.node_connections: null - cluster.remote.test_remote_cluster.simple.socket_connections: "10" - cluster.remote.test_remote_cluster.simple.addresses: $remote_ip + cluster.remote.test_remote_cluster.mode: "proxy" + cluster.remote.test_remote_cluster.seeds: null + cluster.remote.test_remote_cluster.node_connections: null + cluster.remote.test_remote_cluster.proxy_socket_connections: "10" + cluster.remote.test_remote_cluster.proxy_addresses: $remote_ip - - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "simple"} - - match: {transient.cluster\.remote\.test_remote_cluster\.simple\.socket_connections: "10"} - - match: {transient.cluster\.remote\.test_remote_cluster\.simple\.addresses: $remote_ip} + - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "proxy"} + - match: {transient.cluster\.remote\.test_remote_cluster\.proxy_socket_connections: "10"} + - match: {transient.cluster\.remote\.test_remote_cluster\.proxy_addresses: $remote_ip} - do: cluster.remote_info: {} @@ -84,15 +84,15 @@ - gt: { test_remote_cluster.num_sockets_connected: 0} - match: { test_remote_cluster.max_socket_connections: 10} - match: { test_remote_cluster.initial_connect_timeout: "30s" } - - match: { test_remote_cluster.mode: "simple" } + - match: { test_remote_cluster.mode: "proxy" } - do: cluster.put_settings: body: transient: cluster.remote.test_remote_cluster.mode: null - cluster.remote.test_remote_cluster.simple.socket_connections: null - cluster.remote.test_remote_cluster.simple.addresses: null + cluster.remote.test_remote_cluster.proxy_socket_connections: null + cluster.remote.test_remote_cluster.proxy_addresses: null --- "skip_unavailable is returned as part of _remote/info response": diff --git a/server/src/main/java/org/elasticsearch/common/settings/ClusterSettings.java b/server/src/main/java/org/elasticsearch/common/settings/ClusterSettings.java index 694c1e2bddf64..928de4a0cb5e3 100644 --- a/server/src/main/java/org/elasticsearch/common/settings/ClusterSettings.java +++ b/server/src/main/java/org/elasticsearch/common/settings/ClusterSettings.java @@ -104,7 +104,7 @@ import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.transport.RemoteClusterService; import org.elasticsearch.transport.RemoteConnectionStrategy; -import org.elasticsearch.transport.SimpleConnectionStrategy; +import org.elasticsearch.transport.ProxyConnectionStrategy; import org.elasticsearch.transport.SniffConnectionStrategy; import org.elasticsearch.transport.TransportSettings; import org.elasticsearch.watcher.ResourceWatcherService; @@ -293,10 +293,9 @@ public void apply(Settings value, Settings current, Settings previous) { RemoteClusterService.REMOTE_CLUSTER_PING_SCHEDULE, RemoteClusterService.REMOTE_CLUSTER_COMPRESS, RemoteConnectionStrategy.REMOTE_CONNECTION_MODE, - SimpleConnectionStrategy.REMOTE_CLUSTER_ADDRESSES, - SimpleConnectionStrategy.REMOTE_SOCKET_CONNECTIONS, - SimpleConnectionStrategy.INCLUDE_SERVER_NAME, - SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS_OLD, + ProxyConnectionStrategy.REMOTE_CLUSTER_ADDRESSES, + ProxyConnectionStrategy.REMOTE_SOCKET_CONNECTIONS, + ProxyConnectionStrategy.INCLUDE_SERVER_NAME, SniffConnectionStrategy.REMOTE_CLUSTERS_PROXY, SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS, SniffConnectionStrategy.REMOTE_NODE_CONNECTIONS, diff --git a/server/src/main/java/org/elasticsearch/transport/SimpleConnectionStrategy.java b/server/src/main/java/org/elasticsearch/transport/ProxyConnectionStrategy.java similarity index 84% rename from server/src/main/java/org/elasticsearch/transport/SimpleConnectionStrategy.java rename to server/src/main/java/org/elasticsearch/transport/ProxyConnectionStrategy.java index 9393e4d0cafc0..dabdd771afaed 100644 --- a/server/src/main/java/org/elasticsearch/transport/SimpleConnectionStrategy.java +++ b/server/src/main/java/org/elasticsearch/transport/ProxyConnectionStrategy.java @@ -54,7 +54,7 @@ import static org.elasticsearch.common.settings.Setting.boolSetting; import static org.elasticsearch.common.settings.Setting.intSetting; -public class SimpleConnectionStrategy extends RemoteConnectionStrategy { +public class ProxyConnectionStrategy extends RemoteConnectionStrategy { /** * A list of addresses for remote cluster connections. The connections will be opened to the configured addresses in a round-robin @@ -62,12 +62,12 @@ public class SimpleConnectionStrategy extends RemoteConnectionStrategy { */ public static final Setting.AffixSetting> REMOTE_CLUSTER_ADDRESSES = Setting.affixKeySetting( "cluster.remote.", - "simple.addresses", + "proxy_addresses", (ns, key) -> Setting.listSetting(key, Collections.emptyList(), s -> { // validate address parsePort(s); return s; - }, new StrategyValidator<>(ns, key, ConnectionStrategy.SIMPLE), + }, new StrategyValidator<>(ns, key, ConnectionStrategy.PROXY), Setting.Property.Dynamic, Setting.Property.NodeScope)); /** @@ -75,8 +75,8 @@ public class SimpleConnectionStrategy extends RemoteConnectionStrategy { */ public static final Setting.AffixSetting REMOTE_SOCKET_CONNECTIONS = Setting.affixKeySetting( "cluster.remote.", - "simple.socket_connections", - (ns, key) -> intSetting(key, 18, 1, new StrategyValidator<>(ns, key, ConnectionStrategy.SIMPLE), + "proxy_socket_connections", + (ns, key) -> intSetting(key, 18, 1, new StrategyValidator<>(ns, key, ConnectionStrategy.PROXY), Setting.Property.Dynamic, Setting.Property.NodeScope)); /** @@ -84,14 +84,14 @@ public class SimpleConnectionStrategy extends RemoteConnectionStrategy { */ public static final Setting.AffixSetting INCLUDE_SERVER_NAME = Setting.affixKeySetting( "cluster.remote.", - "simple.include_server_name", - (ns, key) -> boolSetting(key, false, new StrategyValidator<>(ns, key, ConnectionStrategy.SIMPLE), + "include_server_name", + (ns, key) -> boolSetting(key, false, new StrategyValidator<>(ns, key, ConnectionStrategy.PROXY), Setting.Property.Dynamic, Setting.Property.NodeScope)); static final int CHANNELS_PER_CONNECTION = 1; private static final int MAX_CONNECT_ATTEMPTS_PER_RUN = 3; - private static final Logger logger = LogManager.getLogger(SimpleConnectionStrategy.class); + private static final Logger logger = LogManager.getLogger(ProxyConnectionStrategy.class); private final int maxNumConnections; private final AtomicLong counter = new AtomicLong(0); @@ -102,8 +102,8 @@ public class SimpleConnectionStrategy extends RemoteConnectionStrategy { private final ConnectionProfile profile; private final ConnectionManager.ConnectionValidator clusterNameValidator; - SimpleConnectionStrategy(String clusterAlias, TransportService transportService, RemoteConnectionManager connectionManager, - Settings settings) { + ProxyConnectionStrategy(String clusterAlias, TransportService transportService, RemoteConnectionManager connectionManager, + Settings settings) { this( clusterAlias, transportService, @@ -113,28 +113,28 @@ public class SimpleConnectionStrategy extends RemoteConnectionStrategy { INCLUDE_SERVER_NAME.getConcreteSettingForNamespace(clusterAlias).get(settings)); } - SimpleConnectionStrategy(String clusterAlias, TransportService transportService, RemoteConnectionManager connectionManager, - int maxNumConnections, List configuredAddresses) { + ProxyConnectionStrategy(String clusterAlias, TransportService transportService, RemoteConnectionManager connectionManager, + int maxNumConnections, List configuredAddresses) { this(clusterAlias, transportService, connectionManager, maxNumConnections, configuredAddresses, configuredAddresses.stream().map(address -> (Supplier) () -> resolveAddress(address)).collect(Collectors.toList()), false); } - SimpleConnectionStrategy(String clusterAlias, TransportService transportService, RemoteConnectionManager connectionManager, - int maxNumConnections, List configuredAddresses, boolean includeServerName) { + ProxyConnectionStrategy(String clusterAlias, TransportService transportService, RemoteConnectionManager connectionManager, + int maxNumConnections, List configuredAddresses, boolean includeServerName) { this(clusterAlias, transportService, connectionManager, maxNumConnections, configuredAddresses, configuredAddresses.stream().map(address -> (Supplier) () -> resolveAddress(address)).collect(Collectors.toList()), includeServerName); } - SimpleConnectionStrategy(String clusterAlias, TransportService transportService, RemoteConnectionManager connectionManager, - int maxNumConnections, List configuredAddresses, List> addresses, - boolean includeServerName) { + ProxyConnectionStrategy(String clusterAlias, TransportService transportService, RemoteConnectionManager connectionManager, + int maxNumConnections, List configuredAddresses, List> addresses, + boolean includeServerName) { super(clusterAlias, transportService, connectionManager); this.maxNumConnections = maxNumConnections; this.configuredAddresses = configuredAddresses; this.includeServerName = includeServerName; - assert addresses.isEmpty() == false : "Cannot use simple connection strategy with no configured addresses"; + assert addresses.isEmpty() == false : "Cannot use proxy connection strategy with no configured addresses"; this.addresses = addresses; // TODO: Move into the ConnectionManager this.profile = new ConnectionProfile.Builder() @@ -158,11 +158,11 @@ public class SimpleConnectionStrategy extends RemoteConnectionStrategy { } static Stream> enablementSettings() { - return Stream.of(SimpleConnectionStrategy.REMOTE_CLUSTER_ADDRESSES); + return Stream.of(ProxyConnectionStrategy.REMOTE_CLUSTER_ADDRESSES); } static Writeable.Reader infoReader() { - return SimpleModeInfo::new; + return ProxyModeInfo::new; } @Override @@ -179,20 +179,20 @@ protected boolean strategyMustBeRebuilt(Settings newSettings) { @Override protected ConnectionStrategy strategyType() { - return ConnectionStrategy.SIMPLE; + return ConnectionStrategy.PROXY; } @Override protected void connectImpl(ActionListener listener) { - performSimpleConnectionProcess(listener); + performProxyConnectionProcess(listener); } @Override public RemoteConnectionInfo.ModeInfo getModeInfo() { - return new SimpleModeInfo(configuredAddresses, maxNumConnections, connectionManager.size()); + return new ProxyModeInfo(configuredAddresses, maxNumConnections, connectionManager.size()); } - private void performSimpleConnectionProcess(ActionListener listener) { + private void performProxyConnectionProcess(ActionListener listener) { openConnections(listener, 1); } @@ -256,7 +256,7 @@ public void onFailure(Exception e) { } else { int openConnections = connectionManager.size(); if (openConnections == 0) { - finished.onFailure(new IllegalStateException("Unable to open any simple connections to remote cluster [" + clusterAlias + finished.onFailure(new IllegalStateException("Unable to open any proxy connections to remote cluster [" + clusterAlias + "]")); } else { logger.debug("unable to open maximum number of connections [remote cluster: {}, opened: {}, maximum: {}]", clusterAlias, @@ -285,19 +285,19 @@ private boolean addressesChanged(final List oldAddresses, final List addresses; private final int maxSocketConnections; private final int numSocketsConnected; - SimpleModeInfo(List addresses, int maxSocketConnections, int numSocketsConnected) { + ProxyModeInfo(List addresses, int maxSocketConnections, int numSocketsConnected) { this.addresses = addresses; this.maxSocketConnections = maxSocketConnections; this.numSocketsConnected = numSocketsConnected; } - private SimpleModeInfo(StreamInput input) throws IOException { + private ProxyModeInfo(StreamInput input) throws IOException { addresses = Arrays.asList(input.readStringArray()); maxSocketConnections = input.readVInt(); numSocketsConnected = input.readVInt(); @@ -329,22 +329,22 @@ public boolean isConnected() { @Override public String modeName() { - return "simple"; + return "proxy"; } @Override public RemoteConnectionStrategy.ConnectionStrategy modeType() { - return RemoteConnectionStrategy.ConnectionStrategy.SIMPLE; + return RemoteConnectionStrategy.ConnectionStrategy.PROXY; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - SimpleModeInfo simple = (SimpleModeInfo) o; - return maxSocketConnections == simple.maxSocketConnections && - numSocketsConnected == simple.numSocketsConnected && - Objects.equals(addresses, simple.addresses); + ProxyModeInfo otherProxy = (ProxyModeInfo) o; + return maxSocketConnections == otherProxy.maxSocketConnections && + numSocketsConnected == otherProxy.numSocketsConnected && + Objects.equals(addresses, otherProxy.addresses); } @Override diff --git a/server/src/main/java/org/elasticsearch/transport/RemoteClusterAware.java b/server/src/main/java/org/elasticsearch/transport/RemoteClusterAware.java index 63a9b857f5f7d..ba4f98d0d09a3 100644 --- a/server/src/main/java/org/elasticsearch/transport/RemoteClusterAware.java +++ b/server/src/main/java/org/elasticsearch/transport/RemoteClusterAware.java @@ -108,11 +108,10 @@ public void listenForUpdates(ClusterSettings clusterSettings) { RemoteConnectionStrategy.REMOTE_CONNECTION_MODE, SniffConnectionStrategy.REMOTE_CLUSTERS_PROXY, SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS, - SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS_OLD, SniffConnectionStrategy.REMOTE_NODE_CONNECTIONS, - SimpleConnectionStrategy.REMOTE_CLUSTER_ADDRESSES, - SimpleConnectionStrategy.REMOTE_SOCKET_CONNECTIONS, - SimpleConnectionStrategy.INCLUDE_SERVER_NAME); + ProxyConnectionStrategy.REMOTE_CLUSTER_ADDRESSES, + ProxyConnectionStrategy.REMOTE_SOCKET_CONNECTIONS, + ProxyConnectionStrategy.INCLUDE_SERVER_NAME); clusterSettings.addAffixGroupUpdateConsumer(remoteClusterSettings, this::validateAndUpdateRemoteCluster); } diff --git a/server/src/main/java/org/elasticsearch/transport/RemoteConnectionStrategy.java b/server/src/main/java/org/elasticsearch/transport/RemoteConnectionStrategy.java index addd68b1c535e..562a6bfbe464f 100644 --- a/server/src/main/java/org/elasticsearch/transport/RemoteConnectionStrategy.java +++ b/server/src/main/java/org/elasticsearch/transport/RemoteConnectionStrategy.java @@ -65,11 +65,11 @@ public String toString() { return "sniff"; } }, - SIMPLE(SimpleConnectionStrategy.CHANNELS_PER_CONNECTION, SimpleConnectionStrategy::enablementSettings, - SimpleConnectionStrategy::infoReader) { + PROXY(ProxyConnectionStrategy.CHANNELS_PER_CONNECTION, ProxyConnectionStrategy::enablementSettings, + ProxyConnectionStrategy::infoReader) { @Override public String toString() { - return "simple"; + return "proxy"; } }; @@ -140,8 +140,8 @@ static RemoteConnectionStrategy buildStrategy(String clusterAlias, TransportServ switch (mode) { case SNIFF: return new SniffConnectionStrategy(clusterAlias, transportService, connectionManager, settings); - case SIMPLE: - return new SimpleConnectionStrategy(clusterAlias, transportService, connectionManager, settings); + case PROXY: + return new ProxyConnectionStrategy(clusterAlias, transportService, connectionManager, settings); default: throw new AssertionError("Invalid connection strategy" + mode); } @@ -159,7 +159,7 @@ public static boolean isConnectionEnabled(String clusterAlias, Settings settings List seeds = SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS.getConcreteSettingForNamespace(clusterAlias).get(settings); return seeds.isEmpty() == false; } else { - List addresses = SimpleConnectionStrategy.REMOTE_CLUSTER_ADDRESSES.getConcreteSettingForNamespace(clusterAlias) + List addresses = ProxyConnectionStrategy.REMOTE_CLUSTER_ADDRESSES.getConcreteSettingForNamespace(clusterAlias) .get(settings); return addresses.isEmpty() == false; } diff --git a/server/src/main/java/org/elasticsearch/transport/SniffConnectionStrategy.java b/server/src/main/java/org/elasticsearch/transport/SniffConnectionStrategy.java index bb7d6202c59b7..97b5e318841d6 100644 --- a/server/src/main/java/org/elasticsearch/transport/SniffConnectionStrategy.java +++ b/server/src/main/java/org/elasticsearch/transport/SniffConnectionStrategy.java @@ -68,7 +68,7 @@ public class SniffConnectionStrategy extends RemoteConnectionStrategy { /** * A list of initial seed nodes to discover eligible nodes from the remote cluster */ - public static final Setting.AffixSetting> REMOTE_CLUSTER_SEEDS_OLD = Setting.affixKeySetting( + public static final Setting.AffixSetting> REMOTE_CLUSTER_SEEDS = Setting.affixKeySetting( "cluster.remote.", "seeds", (ns, key) -> Setting.listSetting( @@ -83,24 +83,6 @@ public class SniffConnectionStrategy extends RemoteConnectionStrategy { Setting.Property.Dynamic, Setting.Property.NodeScope)); - /** - * A list of initial seed nodes to discover eligible nodes from the remote cluster - */ - public static final Setting.AffixSetting> REMOTE_CLUSTER_SEEDS = Setting.affixKeySetting( - "cluster.remote.", - "sniff.seeds", - (ns, key) -> Setting.listSetting(key, - REMOTE_CLUSTER_SEEDS_OLD.getConcreteSettingForNamespace(ns), - s -> { - // validate seed address - parsePort(s); - return s; - }, - s -> REMOTE_CLUSTER_SEEDS_OLD.getConcreteSettingForNamespace(ns).get(s), - new StrategyValidator<>(ns, key, ConnectionStrategy.SNIFF), - Setting.Property.Dynamic, - Setting.Property.NodeScope)); - /** * A proxy address for the remote cluster. By default this is not set, meaning that Elasticsearch will connect directly to the nodes in @@ -138,7 +120,7 @@ public class SniffConnectionStrategy extends RemoteConnectionStrategy { */ public static final Setting.AffixSetting REMOTE_NODE_CONNECTIONS = Setting.affixKeySetting( "cluster.remote.", - "sniff.node_connections", + "node_connections", (ns, key) -> intSetting( key, REMOTE_CONNECTIONS_PER_CLUSTER, @@ -194,7 +176,7 @@ public class SniffConnectionStrategy extends RemoteConnectionStrategy { } static Stream> enablementSettings() { - return Stream.of(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS, SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS_OLD); + return Stream.of(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS); } static Writeable.Reader infoReader() { diff --git a/server/src/test/java/org/elasticsearch/action/search/TransportSearchActionTests.java b/server/src/test/java/org/elasticsearch/action/search/TransportSearchActionTests.java index e9aeff6847ad5..105bcc66ac1c3 100644 --- a/server/src/test/java/org/elasticsearch/action/search/TransportSearchActionTests.java +++ b/server/src/test/java/org/elasticsearch/action/search/TransportSearchActionTests.java @@ -351,7 +351,7 @@ private MockTransportService[] startTransport(int numClusters, DiscoveryNode[] n DiscoveryNode remoteSeedNode = remoteSeedTransport.getLocalDiscoNode(); knownNodes.add(remoteSeedNode); nodes[i] = remoteSeedNode; - settingsBuilder.put("cluster.remote.remote" + i + ".sniff.seeds", remoteSeedNode.getAddress().toString()); + settingsBuilder.put("cluster.remote.remote" + i + ".seeds", remoteSeedNode.getAddress().toString()); remoteIndices.put("remote" + i, new OriginalIndices(new String[]{"index"}, IndicesOptions.lenientExpandOpen())); } return mockTransportServices; diff --git a/server/src/test/java/org/elasticsearch/transport/SimpleConnectionStrategyTests.java b/server/src/test/java/org/elasticsearch/transport/ProxyConnectionStrategyTests.java similarity index 91% rename from server/src/test/java/org/elasticsearch/transport/SimpleConnectionStrategyTests.java rename to server/src/test/java/org/elasticsearch/transport/ProxyConnectionStrategyTests.java index 53fe4a04d379c..5644ff895725d 100644 --- a/server/src/test/java/org/elasticsearch/transport/SimpleConnectionStrategyTests.java +++ b/server/src/test/java/org/elasticsearch/transport/ProxyConnectionStrategyTests.java @@ -48,11 +48,11 @@ import java.util.function.Supplier; import java.util.stream.Collectors; -public class SimpleConnectionStrategyTests extends ESTestCase { +public class ProxyConnectionStrategyTests extends ESTestCase { private final String clusterAlias = "cluster-alias"; private final String modeKey = RemoteConnectionStrategy.REMOTE_CONNECTION_MODE.getConcreteSettingForNamespace(clusterAlias).getKey(); - private final Settings settings = Settings.builder().put(modeKey, "simple").build(); + private final Settings settings = Settings.builder().put(modeKey, "proxy").build(); private final ConnectionProfile profile = RemoteConnectionStrategy.buildConnectionProfile("cluster", settings); private final ThreadPool threadPool = new TestThreadPool(getClass().getName()); @@ -86,7 +86,7 @@ public MockTransportService startTransport(final String id, final Version versio } } - public void testSimpleStrategyWillOpenExpectedNumberOfConnectionsToAddresses() { + public void testProxyStrategyWillOpenExpectedNumberOfConnectionsToAddresses() { try (MockTransportService transport1 = startTransport("node1", Version.CURRENT); MockTransportService transport2 = startTransport("node2", Version.CURRENT)) { TransportAddress address1 = transport1.boundAddress().publishAddress(); @@ -99,7 +99,7 @@ public void testSimpleStrategyWillOpenExpectedNumberOfConnectionsToAddresses() { ConnectionManager connectionManager = new ConnectionManager(profile, localService.transport); int numOfConnections = randomIntBetween(4, 8); try (RemoteConnectionManager remoteConnectionManager = new RemoteConnectionManager(clusterAlias, connectionManager); - SimpleConnectionStrategy strategy = new SimpleConnectionStrategy(clusterAlias, localService, remoteConnectionManager, + ProxyConnectionStrategy strategy = new ProxyConnectionStrategy(clusterAlias, localService, remoteConnectionManager, numOfConnections, addresses(address1, address2))) { assertFalse(connectionManager.getAllConnectedNodes().stream().anyMatch(n -> n.getAddress().equals(address1))); assertFalse(connectionManager.getAllConnectedNodes().stream().anyMatch(n -> n.getAddress().equals(address2))); @@ -117,7 +117,7 @@ numOfConnections, addresses(address1, address2))) { } } - public void testSimpleStrategyWillOpenNewConnectionsOnDisconnect() throws Exception { + public void testProxyStrategyWillOpenNewConnectionsOnDisconnect() throws Exception { try (MockTransportService transport1 = startTransport("node1", Version.CURRENT); MockTransportService transport2 = startTransport("node2", Version.CURRENT)) { TransportAddress address1 = transport1.boundAddress().publishAddress(); @@ -130,7 +130,7 @@ public void testSimpleStrategyWillOpenNewConnectionsOnDisconnect() throws Except ConnectionManager connectionManager = new ConnectionManager(profile, localService.transport); int numOfConnections = randomIntBetween(4, 8); try (RemoteConnectionManager remoteConnectionManager = new RemoteConnectionManager(clusterAlias, connectionManager); - SimpleConnectionStrategy strategy = new SimpleConnectionStrategy(clusterAlias, localService, remoteConnectionManager, + ProxyConnectionStrategy strategy = new ProxyConnectionStrategy(clusterAlias, localService, remoteConnectionManager, numOfConnections, addresses(address1, address2))) { assertFalse(connectionManager.getAllConnectedNodes().stream().anyMatch(n -> n.getAddress().equals(address1))); assertFalse(connectionManager.getAllConnectedNodes().stream().anyMatch(n -> n.getAddress().equals(address2))); @@ -191,7 +191,7 @@ public void testConnectWithSingleIncompatibleNode() { }); int numOfConnections = 5; try (RemoteConnectionManager remoteConnectionManager = new RemoteConnectionManager(clusterAlias, connectionManager); - SimpleConnectionStrategy strategy = new SimpleConnectionStrategy(clusterAlias, localService, remoteConnectionManager, + ProxyConnectionStrategy strategy = new ProxyConnectionStrategy(clusterAlias, localService, remoteConnectionManager, numOfConnections, addresses(address1, address2))) { assertFalse(connectionManager.getAllConnectedNodes().stream().anyMatch(n -> n.getAddress().equals(address1))); assertFalse(connectionManager.getAllConnectedNodes().stream().anyMatch(n -> n.getAddress().equals(address2))); @@ -225,7 +225,7 @@ public void testConnectFailsWithIncompatibleNodes() { ConnectionManager connectionManager = new ConnectionManager(profile, localService.transport); int numOfConnections = randomIntBetween(4, 8); try (RemoteConnectionManager remoteConnectionManager = new RemoteConnectionManager(clusterAlias, connectionManager); - SimpleConnectionStrategy strategy = new SimpleConnectionStrategy(clusterAlias, localService, remoteConnectionManager, + ProxyConnectionStrategy strategy = new ProxyConnectionStrategy(clusterAlias, localService, remoteConnectionManager, numOfConnections, addresses(address1))) { PlainActionFuture connectFuture = PlainActionFuture.newFuture(); @@ -255,7 +255,7 @@ public void testClusterNameValidationPreventConnectingToDifferentClusters() thro ConnectionManager connectionManager = new ConnectionManager(profile, localService.transport); int numOfConnections = randomIntBetween(4, 8); try (RemoteConnectionManager remoteConnectionManager = new RemoteConnectionManager(clusterAlias, connectionManager); - SimpleConnectionStrategy strategy = new SimpleConnectionStrategy(clusterAlias, localService, remoteConnectionManager, + ProxyConnectionStrategy strategy = new ProxyConnectionStrategy(clusterAlias, localService, remoteConnectionManager, numOfConnections, addresses(address1, address2))) { assertFalse(connectionManager.getAllConnectedNodes().stream().anyMatch(n -> n.getAddress().equals(address1))); assertFalse(connectionManager.getAllConnectedNodes().stream().anyMatch(n -> n.getAddress().equals(address2))); @@ -275,7 +275,7 @@ numOfConnections, addresses(address1, address2))) { } } - public void testSimpleStrategyWillResolveAddressesEachConnect() throws Exception { + public void testProxyStrategyWillResolveAddressesEachConnect() throws Exception { try (MockTransportService transport1 = startTransport("seed_node", Version.CURRENT)) { TransportAddress address = transport1.boundAddress().publishAddress(); @@ -292,7 +292,7 @@ public void testSimpleStrategyWillResolveAddressesEachConnect() throws Exception ConnectionManager connectionManager = new ConnectionManager(profile, localService.transport); int numOfConnections = randomIntBetween(4, 8); try (RemoteConnectionManager remoteConnectionManager = new RemoteConnectionManager(clusterAlias, connectionManager); - SimpleConnectionStrategy strategy = new SimpleConnectionStrategy(clusterAlias, localService, remoteConnectionManager, + ProxyConnectionStrategy strategy = new ProxyConnectionStrategy(clusterAlias, localService, remoteConnectionManager, numOfConnections, addresses(address), Collections.singletonList(addressSupplier), false)) { PlainActionFuture connectFuture = PlainActionFuture.newFuture(); strategy.connect(connectFuture); @@ -306,7 +306,7 @@ numOfConnections, addresses(address), Collections.singletonList(addressSupplier } } - public void testSimpleStrategyWillNeedToBeRebuiltIfNumOfSocketsOrAddressesChange() { + public void testProxyStrategyWillNeedToBeRebuiltIfNumOfSocketsOrAddressesChange() { try (MockTransportService transport1 = startTransport("node1", Version.CURRENT); MockTransportService transport2 = startTransport("node2", Version.CURRENT)) { TransportAddress address1 = transport1.boundAddress().publishAddress(); @@ -319,7 +319,7 @@ public void testSimpleStrategyWillNeedToBeRebuiltIfNumOfSocketsOrAddressesChange ConnectionManager connectionManager = new ConnectionManager(profile, localService.transport); int numOfConnections = randomIntBetween(4, 8); try (RemoteConnectionManager remoteConnectionManager = new RemoteConnectionManager(clusterAlias, connectionManager); - SimpleConnectionStrategy strategy = new SimpleConnectionStrategy(clusterAlias, localService, remoteConnectionManager, + ProxyConnectionStrategy strategy = new ProxyConnectionStrategy(clusterAlias, localService, remoteConnectionManager, numOfConnections, addresses(address1, address2))) { PlainActionFuture connectFuture = PlainActionFuture.newFuture(); strategy.connect(connectFuture); @@ -332,24 +332,24 @@ numOfConnections, addresses(address1, address2))) { Setting modeSetting = RemoteConnectionStrategy.REMOTE_CONNECTION_MODE .getConcreteSettingForNamespace("cluster-alias"); - Setting addressesSetting = SimpleConnectionStrategy.REMOTE_CLUSTER_ADDRESSES + Setting addressesSetting = ProxyConnectionStrategy.REMOTE_CLUSTER_ADDRESSES .getConcreteSettingForNamespace("cluster-alias"); - Setting socketConnections = SimpleConnectionStrategy.REMOTE_SOCKET_CONNECTIONS + Setting socketConnections = ProxyConnectionStrategy.REMOTE_SOCKET_CONNECTIONS .getConcreteSettingForNamespace("cluster-alias"); Settings noChange = Settings.builder() - .put(modeSetting.getKey(), "simple") + .put(modeSetting.getKey(), "proxy") .put(addressesSetting.getKey(), Strings.arrayToCommaDelimitedString(addresses(address1, address2).toArray())) .put(socketConnections.getKey(), numOfConnections) .build(); assertFalse(strategy.shouldRebuildConnection(noChange)); Settings addressesChanged = Settings.builder() - .put(modeSetting.getKey(), "simple") + .put(modeSetting.getKey(), "proxy") .put(addressesSetting.getKey(), Strings.arrayToCommaDelimitedString(addresses(address1).toArray())) .build(); assertTrue(strategy.shouldRebuildConnection(addressesChanged)); Settings socketsChanged = Settings.builder() - .put(modeSetting.getKey(), "simple") + .put(modeSetting.getKey(), "proxy") .put(addressesSetting.getKey(), Strings.arrayToCommaDelimitedString(addresses(address1, address2).toArray())) .put(socketConnections.getKey(), numOfConnections + 1) .build(); @@ -361,8 +361,8 @@ numOfConnections, addresses(address1, address2))) { public void testModeSettingsCannotBeUsedWhenInDifferentMode() { List, String>> restrictedSettings = Arrays.asList( - new Tuple<>(SimpleConnectionStrategy.REMOTE_CLUSTER_ADDRESSES, "192.168.0.1:8080"), - new Tuple<>(SimpleConnectionStrategy.REMOTE_SOCKET_CONNECTIONS, "3")); + new Tuple<>(ProxyConnectionStrategy.REMOTE_CLUSTER_ADDRESSES, "192.168.0.1:8080"), + new Tuple<>(ProxyConnectionStrategy.REMOTE_SOCKET_CONNECTIONS, "3")); RemoteConnectionStrategy.ConnectionStrategy sniff = RemoteConnectionStrategy.ConnectionStrategy.SNIFF; @@ -384,7 +384,7 @@ public void testModeSettingsCannotBeUsedWhenInDifferentMode() { Settings invalid = Settings.builder().put(settings).put(concreteSetting.getKey(), restrictedSetting.v2()).build(); IllegalArgumentException iae = expectThrows(IllegalArgumentException.class, () -> service.validate(invalid, true)); String expected = "Setting \"" + concreteSetting.getKey() + "\" cannot be used with the configured " + - "\"cluster.remote.cluster_name.mode\" [required=SIMPLE, configured=SNIFF]"; + "\"cluster.remote.cluster_name.mode\" [required=PROXY, configured=SNIFF]"; assertEquals(expected, iae.getMessage()); } } @@ -404,7 +404,7 @@ public void testServerNameAttributes() { ConnectionManager connectionManager = new ConnectionManager(profile, localService.transport); int numOfConnections = randomIntBetween(4, 8); try (RemoteConnectionManager remoteConnectionManager = new RemoteConnectionManager(clusterAlias, connectionManager); - SimpleConnectionStrategy strategy = new SimpleConnectionStrategy(clusterAlias, localService, remoteConnectionManager, + ProxyConnectionStrategy strategy = new ProxyConnectionStrategy(clusterAlias, localService, remoteConnectionManager, numOfConnections, addresses, true)) { assertFalse(connectionManager.getAllConnectedNodes().stream().anyMatch(n -> n.getAddress().equals(address1))); diff --git a/server/src/test/java/org/elasticsearch/transport/RemoteClusterAwareClientTests.java b/server/src/test/java/org/elasticsearch/transport/RemoteClusterAwareClientTests.java index c3a0eefffb67f..1a6eaff9e5a2e 100644 --- a/server/src/test/java/org/elasticsearch/transport/RemoteClusterAwareClientTests.java +++ b/server/src/test/java/org/elasticsearch/transport/RemoteClusterAwareClientTests.java @@ -65,7 +65,7 @@ public void testSearchShards() throws Exception { knownNodes.add(discoverableTransport.getLocalDiscoNode()); Collections.shuffle(knownNodes, random()); Settings.Builder builder = Settings.builder(); - builder.putList("cluster.remote.cluster1.sniff.seeds", seedTransport.getLocalDiscoNode().getAddress().toString()); + builder.putList("cluster.remote.cluster1.seeds", seedTransport.getLocalDiscoNode().getAddress().toString()); try (MockTransportService service = MockTransportService.createNewService(builder.build(), Version.CURRENT, threadPool, null)) { service.start(); service.acceptIncomingRequests(); @@ -96,7 +96,7 @@ public void testSearchShardsThreadContextHeader() { knownNodes.add(discoverableTransport.getLocalDiscoNode()); Collections.shuffle(knownNodes, random()); Settings.Builder builder = Settings.builder(); - builder.putList("cluster.remote.cluster1.sniff.seeds", seedTransport.getLocalDiscoNode().getAddress().toString()); + builder.putList("cluster.remote.cluster1.seeds", seedTransport.getLocalDiscoNode().getAddress().toString()); try (MockTransportService service = MockTransportService.createNewService(builder.build(), Version.CURRENT, threadPool, null)) { service.start(); service.acceptIncomingRequests(); diff --git a/server/src/test/java/org/elasticsearch/transport/RemoteClusterClientTests.java b/server/src/test/java/org/elasticsearch/transport/RemoteClusterClientTests.java index 76f76b627b569..ed71b7f85c863 100644 --- a/server/src/test/java/org/elasticsearch/transport/RemoteClusterClientTests.java +++ b/server/src/test/java/org/elasticsearch/transport/RemoteClusterClientTests.java @@ -52,7 +52,7 @@ public void testConnectAndExecuteRequest() throws Exception { Settings localSettings = Settings.builder() .put(RemoteClusterService.ENABLE_REMOTE_CLUSTERS.getKey(), true) - .put("cluster.remote.test.sniff.seeds", + .put("cluster.remote.test.seeds", remoteNode.getAddress().getAddress() + ":" + remoteNode.getAddress().getPort()).build(); try (MockTransportService service = MockTransportService.createNewService(localSettings, Version.CURRENT, threadPool, null)) { service.start(); @@ -81,7 +81,7 @@ public void testEnsureWeReconnect() throws Exception { DiscoveryNode remoteNode = remoteTransport.getLocalDiscoNode(); Settings localSettings = Settings.builder() .put(RemoteClusterService.ENABLE_REMOTE_CLUSTERS.getKey(), true) - .put("cluster.remote.test.sniff.seeds", + .put("cluster.remote.test.seeds", remoteNode.getAddress().getAddress() + ":" + remoteNode.getAddress().getPort()).build(); try (MockTransportService service = MockTransportService.createNewService(localSettings, Version.CURRENT, threadPool, null)) { Semaphore semaphore = new Semaphore(1); diff --git a/server/src/test/java/org/elasticsearch/transport/RemoteClusterConnectionTests.java b/server/src/test/java/org/elasticsearch/transport/RemoteClusterConnectionTests.java index 934cf81a503ea..030174dde5f90 100644 --- a/server/src/test/java/org/elasticsearch/transport/RemoteClusterConnectionTests.java +++ b/server/src/test/java/org/elasticsearch/transport/RemoteClusterConnectionTests.java @@ -356,7 +356,7 @@ public void testRemoteConnectionInfo() throws IOException { modeInfo1 = new SniffConnectionStrategy.SniffModeInfo(remoteAddresses, 4, 4); modeInfo2 = new SniffConnectionStrategy.SniffModeInfo(remoteAddresses, 4, 3); } else { - modeInfo1 = new SimpleConnectionStrategy.SimpleModeInfo(remoteAddresses, 18, 18); + modeInfo1 = new ProxyConnectionStrategy.ProxyModeInfo(remoteAddresses, 18, 18); modeInfo2 = new SniffConnectionStrategy.SniffModeInfo(remoteAddresses, 18, 17); } @@ -404,7 +404,7 @@ public void testRenderConnectionInfoXContent() throws IOException { if (sniff) { modeInfo = new SniffConnectionStrategy.SniffModeInfo(remoteAddresses, 3, 2); } else { - modeInfo = new SimpleConnectionStrategy.SimpleModeInfo(remoteAddresses, 18, 16); + modeInfo = new ProxyConnectionStrategy.ProxyModeInfo(remoteAddresses, 18, 16); } RemoteConnectionInfo stats = new RemoteConnectionInfo("test_cluster", modeInfo, TimeValue.timeValueMinutes(30), true); @@ -419,7 +419,7 @@ public void testRenderConnectionInfoXContent() throws IOException { "\"num_nodes_connected\":2,\"max_connections_per_cluster\":3,\"initial_connect_timeout\":\"30m\"," + "\"skip_unavailable\":true}}", Strings.toString(builder)); } else { - assertEquals("{\"test_cluster\":{\"connected\":true,\"mode\":\"simple\",\"addresses\":[\"seed:1\",\"seed:2\"]," + + assertEquals("{\"test_cluster\":{\"connected\":true,\"mode\":\"proxy\",\"addresses\":[\"seed:1\",\"seed:2\"]," + "\"num_sockets_connected\":16,\"max_socket_connections\":18,\"initial_connect_timeout\":\"30m\"," + "\"skip_unavailable\":true}}", Strings.toString(builder)); } @@ -611,30 +611,25 @@ public void sendRequest(long requestId, String action, TransportRequest request, private Settings buildRandomSettings(String clusterAlias, List addresses) { if (randomBoolean()) { - return buildSimpleSettings(clusterAlias, addresses); + return buildProxySettings(clusterAlias, addresses); } else { return buildSniffSettings(clusterAlias, addresses); } } - private static Settings buildSimpleSettings(String clusterAlias, List addresses) { + private static Settings buildProxySettings(String clusterAlias, List addresses) { Settings.Builder builder = Settings.builder(); - builder.put(SimpleConnectionStrategy.REMOTE_CLUSTER_ADDRESSES.getConcreteSettingForNamespace(clusterAlias).getKey(), + builder.put(ProxyConnectionStrategy.REMOTE_CLUSTER_ADDRESSES.getConcreteSettingForNamespace(clusterAlias).getKey(), Strings.collectionToCommaDelimitedString(addresses)); - builder.put(RemoteConnectionStrategy.REMOTE_CONNECTION_MODE.getConcreteSettingForNamespace(clusterAlias).getKey(), "simple"); + builder.put(RemoteConnectionStrategy.REMOTE_CONNECTION_MODE.getConcreteSettingForNamespace(clusterAlias).getKey(), "proxy"); return builder.build(); } private static Settings buildSniffSettings(String clusterAlias, List seedNodes) { Settings.Builder builder = Settings.builder(); builder.put(RemoteConnectionStrategy.REMOTE_CONNECTION_MODE.getConcreteSettingForNamespace(clusterAlias).getKey(), "sniff"); - if (randomBoolean()) { - builder.put(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS_OLD.getConcreteSettingForNamespace(clusterAlias).getKey(), - Strings.collectionToCommaDelimitedString(seedNodes)); - } else { - builder.put(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS.getConcreteSettingForNamespace(clusterAlias).getKey(), - Strings.collectionToCommaDelimitedString(seedNodes)); - } + builder.put(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS.getConcreteSettingForNamespace(clusterAlias).getKey(), + Strings.collectionToCommaDelimitedString(seedNodes)); return builder.build(); } } diff --git a/server/src/test/java/org/elasticsearch/transport/RemoteClusterServiceTests.java b/server/src/test/java/org/elasticsearch/transport/RemoteClusterServiceTests.java index 0fdc797b8b377..e0e9b69ae29f8 100644 --- a/server/src/test/java/org/elasticsearch/transport/RemoteClusterServiceTests.java +++ b/server/src/test/java/org/elasticsearch/transport/RemoteClusterServiceTests.java @@ -84,27 +84,26 @@ public void testSettingsAreRegistered() { assertTrue(ClusterSettings.BUILT_IN_CLUSTER_SETTINGS.contains(RemoteConnectionStrategy.REMOTE_CONNECTION_MODE)); assertTrue(ClusterSettings.BUILT_IN_CLUSTER_SETTINGS.contains(SniffConnectionStrategy.REMOTE_CONNECTIONS_PER_CLUSTER)); assertTrue(ClusterSettings.BUILT_IN_CLUSTER_SETTINGS.contains(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS)); - assertTrue(ClusterSettings.BUILT_IN_CLUSTER_SETTINGS.contains(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS_OLD)); assertTrue(ClusterSettings.BUILT_IN_CLUSTER_SETTINGS.contains(SniffConnectionStrategy.REMOTE_NODE_CONNECTIONS)); - assertTrue(ClusterSettings.BUILT_IN_CLUSTER_SETTINGS.contains(SimpleConnectionStrategy.REMOTE_CLUSTER_ADDRESSES)); - assertTrue(ClusterSettings.BUILT_IN_CLUSTER_SETTINGS.contains(SimpleConnectionStrategy.REMOTE_SOCKET_CONNECTIONS)); + assertTrue(ClusterSettings.BUILT_IN_CLUSTER_SETTINGS.contains(ProxyConnectionStrategy.REMOTE_CLUSTER_ADDRESSES)); + assertTrue(ClusterSettings.BUILT_IN_CLUSTER_SETTINGS.contains(ProxyConnectionStrategy.REMOTE_SOCKET_CONNECTIONS)); } public void testRemoteClusterSeedSetting() { // simple validation Settings settings = Settings.builder() - .put("cluster.remote.foo.sniff.seeds", "192.168.0.1:8080") - .put("cluster.remote.bar.sniff.seed", "[::1]:9090").build(); + .put("cluster.remote.foo.seeds", "192.168.0.1:8080") + .put("cluster.remote.bar.seeds", "[::1]:9090").build(); SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS.getAllConcreteSettings(settings).forEach(setting -> setting.get(settings)); Settings brokenSettings = Settings.builder() - .put("cluster.remote.foo.sniff.seeds", "192.168.0.1").build(); + .put("cluster.remote.foo.seeds", "192.168.0.1").build(); expectThrows(IllegalArgumentException.class, () -> SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS .getAllConcreteSettings(brokenSettings).forEach(setting -> setting.get(brokenSettings))); Settings brokenPortSettings = Settings.builder() - .put("cluster.remote.foo.sniff.seeds", "192.168.0.1:123456789123456789").build(); + .put("cluster.remote.foo.seeds", "192.168.0.1:123456789123456789").build(); Exception e = expectThrows( IllegalArgumentException.class, () -> SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS.getAllConcreteSettings(brokenSettings) @@ -128,8 +127,8 @@ public void testGroupClusterIndices() throws IOException { transportService.start(); transportService.acceptIncomingRequests(); Settings.Builder builder = Settings.builder(); - builder.putList("cluster.remote.cluster_1.sniff.seeds", cluster1Seed.getAddress().toString()); - builder.putList("cluster.remote.cluster_2.sniff.seeds", cluster2Seed.getAddress().toString()); + builder.putList("cluster.remote.cluster_1.seeds", cluster1Seed.getAddress().toString()); + builder.putList("cluster.remote.cluster_2.seeds", cluster2Seed.getAddress().toString()); try (RemoteClusterService service = new RemoteClusterService(builder.build(), transportService)) { assertFalse(service.isCrossClusterSearchEnabled()); service.initializeRemoteClusters(); @@ -354,7 +353,7 @@ public void testChangeSettings() throws Exception { transportService.start(); transportService.acceptIncomingRequests(); Settings.Builder builder = Settings.builder(); - builder.putList("cluster.remote.cluster_1.sniff.seeds", cluster1Seed.getAddress().toString()); + builder.putList("cluster.remote.cluster_1.seeds", cluster1Seed.getAddress().toString()); try (RemoteClusterService service = new RemoteClusterService(builder.build(), transportService)) { service.initializeRemoteClusters(); RemoteClusterConnection remoteClusterConnection = service.getRemoteClusterConnection("cluster_1"); @@ -363,7 +362,7 @@ public void testChangeSettings() throws Exception { settingsChange.put("cluster.remote.cluster_1.transport.ping_schedule", pingSchedule); boolean compressionEnabled = true; settingsChange.put("cluster.remote.cluster_1.transport.compress", compressionEnabled); - settingsChange.putList("cluster.remote.cluster_1.sniff.seeds", cluster1Seed.getAddress().toString()); + settingsChange.putList("cluster.remote.cluster_1.seeds", cluster1Seed.getAddress().toString()); service.validateAndUpdateRemoteCluster("cluster_1", settingsChange.build()); assertBusy(remoteClusterConnection::isClosed); @@ -408,9 +407,9 @@ public void testRemoteNodeAttribute() throws IOException, InterruptedException { transportService.acceptIncomingRequests(); final Settings.Builder builder = Settings.builder(); builder.putList( - "cluster.remote.cluster_1.sniff.seeds", c1N1Node.getAddress().toString()); + "cluster.remote.cluster_1.seed", c1N1Node.getAddress().toString()); builder.putList( - "cluster.remote.cluster_2.sniff.seeds", c2N1Node.getAddress().toString()); + "cluster.remote.cluster_2.seed", c2N1Node.getAddress().toString()); try (RemoteClusterService service = new RemoteClusterService(settings, transportService)) { assertFalse(service.isCrossClusterSearchEnabled()); @@ -475,8 +474,8 @@ public void testRemoteNodeRoles() throws IOException, InterruptedException { transportService.start(); transportService.acceptIncomingRequests(); final Settings.Builder builder = Settings.builder(); - builder.putList("cluster.remote.cluster_1.sniff.seeds", c1N1Node.getAddress().toString()); - builder.putList("cluster.remote.cluster_2.sniff.seeds", c2N1Node.getAddress().toString()); + builder.putList("cluster.remote.cluster_1.seed", c1N1Node.getAddress().toString()); + builder.putList("cluster.remote.cluster_2.seed", c2N1Node.getAddress().toString()); try (RemoteClusterService service = new RemoteClusterService(settings, transportService)) { assertFalse(service.isCrossClusterSearchEnabled()); service.initializeRemoteClusters(); @@ -546,9 +545,9 @@ public void testCollectNodes() throws InterruptedException, IOException { transportService.acceptIncomingRequests(); final Settings.Builder builder = Settings.builder(); builder.putList( - "cluster.remote.cluster_1.sniff.seeds", c1N1Node.getAddress().toString()); + "cluster.remote.cluster_1.seed", c1N1Node.getAddress().toString()); builder.putList( - "cluster.remote.cluster_2.sniff.seeds", c2N1Node.getAddress().toString()); + "cluster.remote.cluster_2.seed", c2N1Node.getAddress().toString()); try (RemoteClusterService service = new RemoteClusterService(settings, transportService)) { assertFalse(service.isCrossClusterSearchEnabled()); @@ -678,12 +677,12 @@ public void testRemoteClusterSkipIfDisconnectedSetting() { } AbstractScopedSettings service = new ClusterSettings(Settings.EMPTY, - new HashSet<>(Arrays.asList(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS, SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS_OLD, - RemoteClusterService.REMOTE_CLUSTER_SKIP_UNAVAILABLE))); + new HashSet<>(Arrays.asList(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS, + RemoteClusterService.REMOTE_CLUSTER_SKIP_UNAVAILABLE))); { Settings settings = Settings.builder().put("cluster.remote.foo.skip_unavailable", randomBoolean()).build(); IllegalArgumentException iae = expectThrows(IllegalArgumentException.class, () -> service.validate(settings, true)); - assertEquals("missing required setting [cluster.remote.foo.sniff.seeds] for setting [cluster.remote.foo.skip_unavailable]", + assertEquals("missing required setting [cluster.remote.foo.seeds] for setting [cluster.remote.foo.skip_unavailable]", iae.getMessage()); } { @@ -691,11 +690,11 @@ public void testRemoteClusterSkipIfDisconnectedSetting() { String seed = remoteSeedTransport.getLocalDiscoNode().getAddress().toString(); service.validate(Settings.builder().put("cluster.remote.foo.skip_unavailable", randomBoolean()) .put("cluster.remote.foo.seeds", seed).build(), true); - service.validate(Settings.builder().put("cluster.remote.foo.sniff.seeds", seed).build(), true); + service.validate(Settings.builder().put("cluster.remote.foo.seeds", seed).build(), true); AbstractScopedSettings service2 = new ClusterSettings(Settings.builder().put("cluster.remote.foo.seeds", seed).build(), - new HashSet<>(Arrays.asList(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS_OLD, - RemoteClusterService.REMOTE_CLUSTER_SKIP_UNAVAILABLE))); + new HashSet<>(Arrays.asList(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS, + RemoteClusterService.REMOTE_CLUSTER_SKIP_UNAVAILABLE))); service2.validate(Settings.builder().put("cluster.remote.foo.skip_unavailable", randomBoolean()).build(), false); } } @@ -718,7 +717,7 @@ public void testReconnectWhenStrategySettingsUpdated() throws Exception { transportService.acceptIncomingRequests(); final Settings.Builder builder = Settings.builder(); - builder.putList("cluster.remote.cluster_test.sniff.seeds", Collections.singletonList(node0.getAddress().toString())); + builder.putList("cluster.remote.cluster_test.seeds", Collections.singletonList(node0.getAddress().toString())); try (RemoteClusterService service = new RemoteClusterService(builder.build(), transportService)) { assertFalse(service.isCrossClusterSearchEnabled()); service.initializeRemoteClusters(); @@ -814,13 +813,8 @@ public void testSkipUnavailable() { private static Settings createSettings(String clusterAlias, List seeds) { Settings.Builder builder = Settings.builder(); - if (randomBoolean()) { - builder.put(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS_OLD.getConcreteSettingForNamespace(clusterAlias).getKey(), - Strings.collectionToCommaDelimitedString(seeds)); - } else { - builder.put(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS.getConcreteSettingForNamespace(clusterAlias).getKey(), - Strings.collectionToCommaDelimitedString(seeds)); - } + builder.put(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS.getConcreteSettingForNamespace(clusterAlias).getKey(), + Strings.collectionToCommaDelimitedString(seeds)); return builder.build(); } } diff --git a/server/src/test/java/org/elasticsearch/transport/RemoteClusterSettingsTests.java b/server/src/test/java/org/elasticsearch/transport/RemoteClusterSettingsTests.java index af855314278f7..0f2749ffacf6c 100644 --- a/server/src/test/java/org/elasticsearch/transport/RemoteClusterSettingsTests.java +++ b/server/src/test/java/org/elasticsearch/transport/RemoteClusterSettingsTests.java @@ -26,9 +26,9 @@ import java.util.concurrent.TimeUnit; import static org.elasticsearch.transport.SniffConnectionStrategy.REMOTE_CLUSTERS_PROXY; -import static org.elasticsearch.transport.SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS_OLD; import static org.elasticsearch.transport.RemoteClusterService.ENABLE_REMOTE_CLUSTERS; import static org.elasticsearch.transport.RemoteClusterService.REMOTE_CLUSTER_SKIP_UNAVAILABLE; +import static org.elasticsearch.transport.SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS; import static org.elasticsearch.transport.SniffConnectionStrategy.REMOTE_CONNECTIONS_PER_CLUSTER; import static org.elasticsearch.transport.RemoteClusterService.REMOTE_INITIAL_CONNECTION_TIMEOUT_SETTING; import static org.elasticsearch.transport.RemoteClusterService.REMOTE_NODE_ATTRIBUTE; @@ -60,7 +60,7 @@ public void testSkipUnavailableDefault() { public void testSeedsDefault() { final String alias = randomAlphaOfLength(8); - assertThat(REMOTE_CLUSTER_SEEDS_OLD.getConcreteSettingForNamespace(alias).get(Settings.EMPTY), emptyCollectionOf(String.class)); + assertThat(REMOTE_CLUSTER_SEEDS.getConcreteSettingForNamespace(alias).get(Settings.EMPTY), emptyCollectionOf(String.class)); } public void testProxyDefault() { diff --git a/server/src/test/java/org/elasticsearch/transport/RemoteConnectionStrategyTests.java b/server/src/test/java/org/elasticsearch/transport/RemoteConnectionStrategyTests.java index 2c6fc691ec5bd..814a3bd1913b1 100644 --- a/server/src/test/java/org/elasticsearch/transport/RemoteConnectionStrategyTests.java +++ b/server/src/test/java/org/elasticsearch/transport/RemoteConnectionStrategyTests.java @@ -33,7 +33,7 @@ public void testStrategyChangeMeansThatStrategyMustBeRebuilt() { ConnectionManager connectionManager = new ConnectionManager(Settings.EMPTY, mock(Transport.class)); RemoteConnectionManager remoteConnectionManager = new RemoteConnectionManager("cluster-alias", connectionManager); FakeConnectionStrategy first = new FakeConnectionStrategy("cluster-alias", mock(TransportService.class), remoteConnectionManager, - RemoteConnectionStrategy.ConnectionStrategy.SIMPLE); + RemoteConnectionStrategy.ConnectionStrategy.PROXY); Settings newSettings = Settings.builder() .put(RemoteConnectionStrategy.REMOTE_CONNECTION_MODE.getConcreteSettingForNamespace("cluster-alias").getKey(), "sniff") .build(); @@ -44,9 +44,9 @@ public void testSameStrategyChangeMeansThatStrategyDoesNotNeedToBeRebuilt() { ConnectionManager connectionManager = new ConnectionManager(Settings.EMPTY, mock(Transport.class)); RemoteConnectionManager remoteConnectionManager = new RemoteConnectionManager("cluster-alias", connectionManager); FakeConnectionStrategy first = new FakeConnectionStrategy("cluster-alias", mock(TransportService.class), remoteConnectionManager, - RemoteConnectionStrategy.ConnectionStrategy.SIMPLE); + RemoteConnectionStrategy.ConnectionStrategy.PROXY); Settings newSettings = Settings.builder() - .put(RemoteConnectionStrategy.REMOTE_CONNECTION_MODE.getConcreteSettingForNamespace("cluster-alias").getKey(), "simple") + .put(RemoteConnectionStrategy.REMOTE_CONNECTION_MODE.getConcreteSettingForNamespace("cluster-alias").getKey(), "proxy") .build(); assertFalse(first.shouldRebuildConnection(newSettings)); } @@ -57,10 +57,10 @@ public void testChangeInConnectionProfileMeansTheStrategyMustBeRebuilt() { assertEquals(false, connectionManager.getConnectionProfile().getCompressionEnabled()); RemoteConnectionManager remoteConnectionManager = new RemoteConnectionManager("cluster-alias", connectionManager); FakeConnectionStrategy first = new FakeConnectionStrategy("cluster-alias", mock(TransportService.class), remoteConnectionManager, - RemoteConnectionStrategy.ConnectionStrategy.SIMPLE); + RemoteConnectionStrategy.ConnectionStrategy.PROXY); Settings.Builder newBuilder = Settings.builder(); - newBuilder.put(RemoteConnectionStrategy.REMOTE_CONNECTION_MODE.getConcreteSettingForNamespace("cluster-alias").getKey(), "simple"); + newBuilder.put(RemoteConnectionStrategy.REMOTE_CONNECTION_MODE.getConcreteSettingForNamespace("cluster-alias").getKey(), "proxy"); if (randomBoolean()) { newBuilder.put(RemoteClusterService.REMOTE_CLUSTER_PING_SCHEDULE.getConcreteSettingForNamespace("cluster-alias").getKey(), TimeValue.timeValueSeconds(5)); @@ -75,10 +75,10 @@ public void testCorrectChannelNumber() { for (RemoteConnectionStrategy.ConnectionStrategy strategy : RemoteConnectionStrategy.ConnectionStrategy.values()) { String settingKey = RemoteConnectionStrategy.REMOTE_CONNECTION_MODE.getConcreteSettingForNamespace(clusterAlias).getKey(); - Settings simpleSettings = Settings.builder().put(settingKey, strategy.name()).build(); - ConnectionProfile simpleProfile = RemoteConnectionStrategy.buildConnectionProfile(clusterAlias, simpleSettings); + Settings proxySettings = Settings.builder().put(settingKey, strategy.name()).build(); + ConnectionProfile proxyProfile = RemoteConnectionStrategy.buildConnectionProfile(clusterAlias, proxySettings); assertEquals("Incorrect number of channels for " + strategy.name(), - strategy.getNumberOfChannels(), simpleProfile.getNumConnections()); + strategy.getNumberOfChannels(), proxyProfile.getNumConnections()); } } diff --git a/server/src/test/java/org/elasticsearch/transport/SniffConnectionStrategyTests.java b/server/src/test/java/org/elasticsearch/transport/SniffConnectionStrategyTests.java index 30f30723c19a8..9302e61d13710 100644 --- a/server/src/test/java/org/elasticsearch/transport/SniffConnectionStrategyTests.java +++ b/server/src/test/java/org/elasticsearch/transport/SniffConnectionStrategyTests.java @@ -652,14 +652,13 @@ public void testGetNodePredicatesCombination() { public void testModeSettingsCannotBeUsedWhenInDifferentMode() { List, String>> restrictedSettings = Arrays.asList( new Tuple<>(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS, "192.168.0.1:8080"), - new Tuple<>(SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS_OLD, "192.168.0.1:8080"), new Tuple<>(SniffConnectionStrategy.REMOTE_NODE_CONNECTIONS, "2")); - RemoteConnectionStrategy.ConnectionStrategy simple = RemoteConnectionStrategy.ConnectionStrategy.SIMPLE; + RemoteConnectionStrategy.ConnectionStrategy proxy = RemoteConnectionStrategy.ConnectionStrategy.PROXY; String clusterName = "cluster_name"; Settings settings = Settings.builder() - .put(RemoteConnectionStrategy.REMOTE_CONNECTION_MODE.getConcreteSettingForNamespace(clusterName).getKey(), simple.name()) + .put(RemoteConnectionStrategy.REMOTE_CONNECTION_MODE.getConcreteSettingForNamespace(clusterName).getKey(), proxy.name()) .build(); Set> clusterSettings = new HashSet<>(); @@ -675,7 +674,7 @@ public void testModeSettingsCannotBeUsedWhenInDifferentMode() { Settings invalid = Settings.builder().put(settings).put(concreteSetting.getKey(), restrictedSetting.v2()).build(); IllegalArgumentException iae = expectThrows(IllegalArgumentException.class, () -> service.validate(invalid, true)); String expected = "Setting \"" + concreteSetting.getKey() + "\" cannot be used with the configured " + - "\"cluster.remote.cluster_name.mode\" [required=SNIFF, configured=SIMPLE]"; + "\"cluster.remote.cluster_name.mode\" [required=SNIFF, configured=PROXY]"; assertEquals(expected, iae.getMessage()); } } diff --git a/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/IndexFollowingIT.java b/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/IndexFollowingIT.java index 7bede18aea08d..e25c0be5731ae 100644 --- a/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/IndexFollowingIT.java +++ b/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/IndexFollowingIT.java @@ -1389,7 +1389,7 @@ public void testUpdateRemoteConfigsDuringFollowing() throws Exception { ClusterUpdateSettingsRequest settingsRequest = new ClusterUpdateSettingsRequest(); String address = getLeaderCluster().getDataNodeInstance(TransportService.class).boundAddress().publishAddress().toString(); Setting compress = RemoteClusterService.REMOTE_CLUSTER_COMPRESS.getConcreteSettingForNamespace("leader_cluster"); - Setting> seeds = SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS_OLD.getConcreteSettingForNamespace("leader_cluster"); + Setting> seeds = SniffConnectionStrategy.REMOTE_CLUSTER_SEEDS.getConcreteSettingForNamespace("leader_cluster"); settingsRequest.persistentSettings(Settings.builder().put(compress.getKey(), compress.getDefault(Settings.EMPTY)) .put(seeds.getKey(), address)); assertAcked(followerClient().admin().cluster().updateSettings(settingsRequest).actionGet()); diff --git a/x-pack/qa/multi-cluster-search-security/src/test/resources/rest-api-spec/test/multi_cluster/70_connection_mode_configuration.yml b/x-pack/qa/multi-cluster-search-security/src/test/resources/rest-api-spec/test/multi_cluster/70_connection_mode_configuration.yml index ed639b3655ed5..5606a08cd261e 100644 --- a/x-pack/qa/multi-cluster-search-security/src/test/resources/rest-api-spec/test/multi_cluster/70_connection_mode_configuration.yml +++ b/x-pack/qa/multi-cluster-search-security/src/test/resources/rest-api-spec/test/multi_cluster/70_connection_mode_configuration.yml @@ -1,5 +1,5 @@ --- -"Add transient remote cluster in simple mode with invalid sniff settings": +"Add transient remote cluster in proxy mode with invalid sniff settings": - do: cluster.get_settings: include_defaults: true @@ -12,14 +12,14 @@ flat_settings: true body: transient: - cluster.remote.test_remote_cluster.mode: "simple" - cluster.remote.test_remote_cluster.sniff.node_connections: "5" - cluster.remote.test_remote_cluster.simple.addresses: $remote_ip + cluster.remote.test_remote_cluster.mode: "proxy" + cluster.remote.test_remote_cluster.node_connections: "5" + cluster.remote.test_remote_cluster.proxy_addresses: $remote_ip - match: { status: 400 } - match: { error.root_cause.0.type: "illegal_argument_exception" } - - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.sniff.node_connections\" cannot be - used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SNIFF, configured=SIMPLE]" } + - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.node_connections\" cannot be + used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SNIFF, configured=PROXY]" } - do: catch: bad_request @@ -27,17 +27,17 @@ flat_settings: true body: transient: - cluster.remote.test_remote_cluster.mode: "simple" - cluster.remote.test_remote_cluster.sniff.seeds: $remote_ip - cluster.remote.test_remote_cluster.simple.addresses: $remote_ip + cluster.remote.test_remote_cluster.mode: "proxy" + cluster.remote.test_remote_cluster.seeds: $remote_ip + cluster.remote.test_remote_cluster.proxy_addresses: $remote_ip - match: { status: 400 } - match: { error.root_cause.0.type: "illegal_argument_exception" } - - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.sniff.seeds\" cannot be - used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SNIFF, configured=SIMPLE]" } + - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.seeds\" cannot be + used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SNIFF, configured=PROXY]" } --- -"Add transient remote cluster in sniff mode with invalid simple settings": +"Add transient remote cluster in sniff mode with invalid proxy settings": - do: cluster.get_settings: include_defaults: true @@ -50,13 +50,13 @@ flat_settings: true body: transient: - cluster.remote.test_remote_cluster.simple.socket_connections: "20" - cluster.remote.test_remote_cluster.sniff.seeds: $remote_ip + cluster.remote.test_remote_cluster.proxy_socket_connections: "20" + cluster.remote.test_remote_cluster.seeds: $remote_ip - match: { status: 400 } - match: { error.root_cause.0.type: "illegal_argument_exception" } - - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.simple.socket_connections\" cannot be - used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SIMPLE, configured=SNIFF]" } + - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.proxy_socket_connections\" cannot be + used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=PROXY, configured=SNIFF]" } - do: catch: bad_request @@ -64,16 +64,16 @@ flat_settings: true body: transient: - cluster.remote.test_remote_cluster.simple.addresses: $remote_ip - cluster.remote.test_remote_cluster.sniff.seeds: $remote_ip + cluster.remote.test_remote_cluster.proxy_addresses: $remote_ip + cluster.remote.test_remote_cluster.seeds: $remote_ip - match: { status: 400 } - match: { error.root_cause.0.type: "illegal_argument_exception" } - - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.simple.addresses\" cannot be - used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SIMPLE, configured=SNIFF]" } + - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.proxy_addresses\" cannot be + used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=PROXY, configured=SNIFF]" } --- -"Add transient remote cluster using simple connection mode using valid settings": +"Add transient remote cluster using proxy connection mode using valid settings": - do: cluster.get_settings: include_defaults: true @@ -85,13 +85,13 @@ flat_settings: true body: transient: - cluster.remote.test_remote_cluster.mode: "simple" - cluster.remote.test_remote_cluster.simple.socket_connections: "3" - cluster.remote.test_remote_cluster.simple.addresses: $remote_ip + cluster.remote.test_remote_cluster.mode: "proxy" + cluster.remote.test_remote_cluster.proxy_socket_connections: "3" + cluster.remote.test_remote_cluster.proxy_addresses: $remote_ip - - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "simple"} - - match: {transient.cluster\.remote\.test_remote_cluster\.simple\.socket_connections: "3"} - - match: {transient.cluster\.remote\.test_remote_cluster\.simple\.addresses: $remote_ip} + - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "proxy"} + - match: {transient.cluster\.remote\.test_remote_cluster\.proxy_socket_connections: "3"} + - match: {transient.cluster\.remote\.test_remote_cluster\.proxy_addresses: $remote_ip} - do: search: @@ -120,12 +120,12 @@ body: transient: cluster.remote.test_remote_cluster.mode: "sniff" - cluster.remote.test_remote_cluster.sniff.node_connections: "3" - cluster.remote.test_remote_cluster.sniff.seeds: $remote_ip + cluster.remote.test_remote_cluster.node_connections: "3" + cluster.remote.test_remote_cluster.seeds: $remote_ip - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "sniff"} - - match: {transient.cluster\.remote\.test_remote_cluster\.sniff\.node_connections: "3"} - - match: {transient.cluster\.remote\.test_remote_cluster\.sniff\.seeds: $remote_ip} + - match: {transient.cluster\.remote\.test_remote_cluster\.node_connections: "3"} + - match: {transient.cluster\.remote\.test_remote_cluster\.seeds: $remote_ip} - do: search: @@ -154,10 +154,10 @@ body: transient: cluster.remote.test_remote_cluster.mode: "sniff" - cluster.remote.test_remote_cluster.sniff.seeds: $remote_ip + cluster.remote.test_remote_cluster.seeds: $remote_ip - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "sniff"} - - match: {transient.cluster\.remote\.test_remote_cluster\.sniff\.seeds: $remote_ip} + - match: {transient.cluster\.remote\.test_remote_cluster\.seeds: $remote_ip} - do: search: @@ -178,25 +178,25 @@ flat_settings: true body: transient: - cluster.remote.test_remote_cluster.mode: "simple" - cluster.remote.test_remote_cluster.simple.addresses: $remote_ip + cluster.remote.test_remote_cluster.mode: "proxy" + cluster.remote.test_remote_cluster.proxy_addresses: $remote_ip - match: { status: 400 } - match: { error.root_cause.0.type: "illegal_argument_exception" } - - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.sniff.seeds\" cannot be - used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SNIFF, configured=SIMPLE]" } + - match: { error.root_cause.0.reason: "Setting \"cluster.remote.test_remote_cluster.seeds\" cannot be + used with the configured \"cluster.remote.test_remote_cluster.mode\" [required=SNIFF, configured=PROXY]" } - do: cluster.put_settings: flat_settings: true body: transient: - cluster.remote.test_remote_cluster.mode: "simple" - cluster.remote.test_remote_cluster.sniff.seeds: null - cluster.remote.test_remote_cluster.simple.addresses: $remote_ip + cluster.remote.test_remote_cluster.mode: "proxy" + cluster.remote.test_remote_cluster.seeds: null + cluster.remote.test_remote_cluster.proxy_addresses: $remote_ip - - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "simple"} - - match: {transient.cluster\.remote\.test_remote_cluster\.simple\.addresses: $remote_ip} + - match: {transient.cluster\.remote\.test_remote_cluster\.mode: "proxy"} + - match: {transient.cluster\.remote\.test_remote_cluster\.proxy_addresses: $remote_ip} - do: search: