diff --git a/server/src/main/java/org/elasticsearch/transport/RemoteClusterPortSettings.java b/server/src/main/java/org/elasticsearch/transport/RemoteClusterPortSettings.java index d4a1be2f5713c..02cee90adfc3a 100644 --- a/server/src/main/java/org/elasticsearch/transport/RemoteClusterPortSettings.java +++ b/server/src/main/java/org/elasticsearch/transport/RemoteClusterPortSettings.java @@ -11,6 +11,7 @@ import org.elasticsearch.TransportVersion; import org.elasticsearch.TransportVersions; +import org.elasticsearch.cluster.node.DiscoveryNode; import org.elasticsearch.common.settings.Setting; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.unit.ByteSizeUnit; @@ -70,7 +71,13 @@ public class RemoteClusterPortSettings { Setting.Property.NodeScope ); - public static final Setting PORT = intSetting(REMOTE_CLUSTER_PREFIX + "port", 9443, 0, 65535, Setting.Property.NodeScope); + public static final Setting PORT = intSetting( + REMOTE_CLUSTER_PREFIX + "port", + (settings) -> DiscoveryNode.isStateless(settings) ? "9400" : "9443", + 0, + 65535, + Setting.Property.NodeScope + ); // The default value of -1 means it will use the default bind port as shown above public static final Setting PUBLISH_PORT = intSetting( diff --git a/server/src/test/java/org/elasticsearch/transport/RemoteClusterPortSettingsTests.java b/server/src/test/java/org/elasticsearch/transport/RemoteClusterPortSettingsTests.java index 50bffb669e928..9c7e0053f8f24 100644 --- a/server/src/test/java/org/elasticsearch/transport/RemoteClusterPortSettingsTests.java +++ b/server/src/test/java/org/elasticsearch/transport/RemoteClusterPortSettingsTests.java @@ -9,6 +9,7 @@ package org.elasticsearch.transport; +import org.elasticsearch.cluster.node.DiscoveryNode; import org.elasticsearch.common.network.NetworkAddress; import org.elasticsearch.common.network.NetworkService; import org.elasticsearch.common.settings.Setting; @@ -204,4 +205,11 @@ public void testPortSettingsConstruction() { assertThat(profileSettings.isDefaultProfile, equalTo(false)); } + public void testRemoteClusterPortDefaultValue() { + assertThat(RemoteClusterPortSettings.PORT.getDefault(Settings.EMPTY), equalTo(9443)); + assertThat( + RemoteClusterPortSettings.PORT.getDefault(Settings.builder().put(DiscoveryNode.STATELESS_ENABLED_SETTING_NAME, true).build()), + equalTo(9400) + ); + } }