mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-03-24 17:09:48 +00:00
Unify transport settings naming (#36623)
This commit updates our transport settings for 7.0. It generally takes a few approaches. First, for normal transport settings, it usestransport. instead of transport.tcp. Second, it uses transport.tcp, http.tcp, or network.tcp for all settings that are proxies for OS level socket settings. Third, it marks the network.tcp.connect_timeout setting for removal. Network service level settings are only settings that apply to both the http and transport modules. There is no connect timeout in http. Fourth, it moves all the transport settings to a single class TransportSettings similar to the HttpTransportSettings class. This commit does not actually remove any settings. It just adds the new renamed settings and adds todos for settings that will be deprecated.
This commit is contained in:
parent
dae422fb2b
commit
3065300434
@ -56,6 +56,7 @@ import org.elasticsearch.common.util.concurrent.EsExecutors;
|
|||||||
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
import org.elasticsearch.transport.TcpTransport;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
@ -149,22 +150,22 @@ public class Netty4Transport extends TcpTransport {
|
|||||||
bootstrap.group(eventLoopGroup);
|
bootstrap.group(eventLoopGroup);
|
||||||
bootstrap.channel(NioSocketChannel.class);
|
bootstrap.channel(NioSocketChannel.class);
|
||||||
|
|
||||||
bootstrap.option(ChannelOption.TCP_NODELAY, TCP_NO_DELAY.get(settings));
|
bootstrap.option(ChannelOption.TCP_NODELAY, TransportSettings.TCP_NO_DELAY.get(settings));
|
||||||
bootstrap.option(ChannelOption.SO_KEEPALIVE, TCP_KEEP_ALIVE.get(settings));
|
bootstrap.option(ChannelOption.SO_KEEPALIVE, TransportSettings.TCP_KEEP_ALIVE.get(settings));
|
||||||
|
|
||||||
final ByteSizeValue tcpSendBufferSize = TCP_SEND_BUFFER_SIZE.get(settings);
|
final ByteSizeValue tcpSendBufferSize = TransportSettings.TCP_SEND_BUFFER_SIZE.get(settings);
|
||||||
if (tcpSendBufferSize.getBytes() > 0) {
|
if (tcpSendBufferSize.getBytes() > 0) {
|
||||||
bootstrap.option(ChannelOption.SO_SNDBUF, Math.toIntExact(tcpSendBufferSize.getBytes()));
|
bootstrap.option(ChannelOption.SO_SNDBUF, Math.toIntExact(tcpSendBufferSize.getBytes()));
|
||||||
}
|
}
|
||||||
|
|
||||||
final ByteSizeValue tcpReceiveBufferSize = TCP_RECEIVE_BUFFER_SIZE.get(settings);
|
final ByteSizeValue tcpReceiveBufferSize = TransportSettings.TCP_RECEIVE_BUFFER_SIZE.get(settings);
|
||||||
if (tcpReceiveBufferSize.getBytes() > 0) {
|
if (tcpReceiveBufferSize.getBytes() > 0) {
|
||||||
bootstrap.option(ChannelOption.SO_RCVBUF, Math.toIntExact(tcpReceiveBufferSize.getBytes()));
|
bootstrap.option(ChannelOption.SO_RCVBUF, Math.toIntExact(tcpReceiveBufferSize.getBytes()));
|
||||||
}
|
}
|
||||||
|
|
||||||
bootstrap.option(ChannelOption.RCVBUF_ALLOCATOR, recvByteBufAllocator);
|
bootstrap.option(ChannelOption.RCVBUF_ALLOCATOR, recvByteBufAllocator);
|
||||||
|
|
||||||
final boolean reuseAddress = TCP_REUSE_ADDRESS.get(settings);
|
final boolean reuseAddress = TransportSettings.TCP_REUSE_ADDRESS.get(settings);
|
||||||
bootstrap.option(ChannelOption.SO_REUSEADDR, reuseAddress);
|
bootstrap.option(ChannelOption.SO_REUSEADDR, reuseAddress);
|
||||||
|
|
||||||
return bootstrap;
|
return bootstrap;
|
||||||
|
@ -30,7 +30,7 @@ import org.elasticsearch.indices.breaker.NoneCircuitBreakerService;
|
|||||||
import org.elasticsearch.mocksocket.MockSocket;
|
import org.elasticsearch.mocksocket.MockSocket;
|
||||||
import org.elasticsearch.test.ESTestCase;
|
import org.elasticsearch.test.ESTestCase;
|
||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
|
||||||
@ -51,8 +51,8 @@ public class Netty4SizeHeaderFrameDecoderTests extends ESTestCase {
|
|||||||
|
|
||||||
private final Settings settings = Settings.builder()
|
private final Settings settings = Settings.builder()
|
||||||
.put("node.name", "NettySizeHeaderFrameDecoderTests")
|
.put("node.name", "NettySizeHeaderFrameDecoderTests")
|
||||||
.put(TcpTransport.BIND_HOST.getKey(), "127.0.0.1")
|
.put(TransportSettings.BIND_HOST.getKey(), "127.0.0.1")
|
||||||
.put(TcpTransport.PORT.getKey(), "0")
|
.put(TransportSettings.PORT.getKey(), "0")
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
private ThreadPool threadPool;
|
private ThreadPool threadPool;
|
||||||
|
@ -37,8 +37,8 @@ import org.elasticsearch.test.ESIntegTestCase.ClusterScope;
|
|||||||
import org.elasticsearch.test.ESIntegTestCase.Scope;
|
import org.elasticsearch.test.ESIntegTestCase.Scope;
|
||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.TcpChannel;
|
import org.elasticsearch.transport.TcpChannel;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
|
||||||
import org.elasticsearch.transport.Transport;
|
import org.elasticsearch.transport.Transport;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
@ -80,7 +80,7 @@ public class Netty4TransportIT extends ESNetty4IntegTestCase {
|
|||||||
fail("Expected exception, but didn't happen");
|
fail("Expected exception, but didn't happen");
|
||||||
} catch (ElasticsearchException e) {
|
} catch (ElasticsearchException e) {
|
||||||
assertThat(e.getMessage(), containsString("MY MESSAGE"));
|
assertThat(e.getMessage(), containsString("MY MESSAGE"));
|
||||||
assertThat(channelProfileName, is(TcpTransport.DEFAULT_PROFILE));
|
assertThat(channelProfileName, is(TransportSettings.DEFAULT_PROFILE));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,7 +116,7 @@ public class Netty4TransportIT extends ESNetty4IntegTestCase {
|
|||||||
InetSocketAddress remoteAddress, byte status) throws IOException {
|
InetSocketAddress remoteAddress, byte status) throws IOException {
|
||||||
String action = super.handleRequest(channel, profileName, stream, requestId, messageLengthBytes, version,
|
String action = super.handleRequest(channel, profileName, stream, requestId, messageLengthBytes, version,
|
||||||
remoteAddress, status);
|
remoteAddress, status);
|
||||||
channelProfileName = TcpTransport.DEFAULT_PROFILE;
|
channelProfileName = TransportSettings.DEFAULT_PROFILE;
|
||||||
return action;
|
return action;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@ import org.elasticsearch.test.ESTestCase;
|
|||||||
import org.elasticsearch.threadpool.TestThreadPool;
|
import org.elasticsearch.threadpool.TestThreadPool;
|
||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
import org.elasticsearch.transport.TcpTransport;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -53,7 +54,7 @@ public class NettyTransportMultiPortTests extends ESTestCase {
|
|||||||
public void testThatNettyCanBindToMultiplePorts() throws Exception {
|
public void testThatNettyCanBindToMultiplePorts() throws Exception {
|
||||||
Settings settings = Settings.builder()
|
Settings settings = Settings.builder()
|
||||||
.put("network.host", host)
|
.put("network.host", host)
|
||||||
.put(TcpTransport.PORT.getKey(), 22) // will not actually bind to this
|
.put(TransportSettings.PORT.getKey(), 22) // will not actually bind to this
|
||||||
.put("transport.profiles.default.port", 0)
|
.put("transport.profiles.default.port", 0)
|
||||||
.put("transport.profiles.client1.port", 0)
|
.put("transport.profiles.client1.port", 0)
|
||||||
.build();
|
.build();
|
||||||
@ -70,7 +71,7 @@ public class NettyTransportMultiPortTests extends ESTestCase {
|
|||||||
public void testThatDefaultProfileInheritsFromStandardSettings() throws Exception {
|
public void testThatDefaultProfileInheritsFromStandardSettings() throws Exception {
|
||||||
Settings settings = Settings.builder()
|
Settings settings = Settings.builder()
|
||||||
.put("network.host", host)
|
.put("network.host", host)
|
||||||
.put(TcpTransport.PORT.getKey(), 0)
|
.put(TransportSettings.PORT.getKey(), 0)
|
||||||
.put("transport.profiles.client1.port", 0)
|
.put("transport.profiles.client1.port", 0)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
@ -87,7 +88,7 @@ public class NettyTransportMultiPortTests extends ESTestCase {
|
|||||||
|
|
||||||
Settings settings = Settings.builder()
|
Settings settings = Settings.builder()
|
||||||
.put("network.host", host)
|
.put("network.host", host)
|
||||||
.put(TcpTransport.PORT.getKey(), 0)
|
.put(TransportSettings.PORT.getKey(), 0)
|
||||||
.put("transport.profiles.client1.whatever", "foo")
|
.put("transport.profiles.client1.whatever", "foo")
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
@ -103,7 +104,7 @@ public class NettyTransportMultiPortTests extends ESTestCase {
|
|||||||
public void testThatDefaultProfilePortOverridesGeneralConfiguration() throws Exception {
|
public void testThatDefaultProfilePortOverridesGeneralConfiguration() throws Exception {
|
||||||
Settings settings = Settings.builder()
|
Settings settings = Settings.builder()
|
||||||
.put("network.host", host)
|
.put("network.host", host)
|
||||||
.put(TcpTransport.PORT.getKey(), 22) // will not actually bind to this
|
.put(TransportSettings.PORT.getKey(), 22) // will not actually bind to this
|
||||||
.put("transport.profiles.default.port", 0)
|
.put("transport.profiles.default.port", 0)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
@ -37,9 +37,8 @@ import org.elasticsearch.transport.BindTransportException;
|
|||||||
import org.elasticsearch.transport.ConnectTransportException;
|
import org.elasticsearch.transport.ConnectTransportException;
|
||||||
import org.elasticsearch.transport.ConnectionProfile;
|
import org.elasticsearch.transport.ConnectionProfile;
|
||||||
import org.elasticsearch.transport.TcpChannel;
|
import org.elasticsearch.transport.TcpChannel;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
|
||||||
import org.elasticsearch.transport.Transport;
|
import org.elasticsearch.transport.Transport;
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
@ -75,7 +74,7 @@ public class SimpleNetty4TransportTests extends AbstractSimpleTransportTestCase
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected MockTransportService build(Settings settings, Version version, ClusterSettings clusterSettings, boolean doHandshake) {
|
protected MockTransportService build(Settings settings, Version version, ClusterSettings clusterSettings, boolean doHandshake) {
|
||||||
settings = Settings.builder().put(settings).put(TcpTransport.PORT.getKey(), "0").build();
|
settings = Settings.builder().put(settings).put(TransportSettings.PORT.getKey(), "0").build();
|
||||||
MockTransportService transportService = nettyFromThreadPool(settings, threadPool, version, clusterSettings, doHandshake);
|
MockTransportService transportService = nettyFromThreadPool(settings, threadPool, version, clusterSettings, doHandshake);
|
||||||
transportService.start();
|
transportService.start();
|
||||||
return transportService;
|
return transportService;
|
||||||
@ -97,9 +96,9 @@ public class SimpleNetty4TransportTests extends AbstractSimpleTransportTestCase
|
|||||||
int port = serviceA.boundAddress().publishAddress().getPort();
|
int port = serviceA.boundAddress().publishAddress().getPort();
|
||||||
Settings settings = Settings.builder()
|
Settings settings = Settings.builder()
|
||||||
.put(Node.NODE_NAME_SETTING.getKey(), "foobar")
|
.put(Node.NODE_NAME_SETTING.getKey(), "foobar")
|
||||||
.put(TransportService.TRACE_LOG_INCLUDE_SETTING.getKey(), "")
|
.put(TransportSettings.TRACE_LOG_INCLUDE_SETTING.getKey(), "")
|
||||||
.put(TransportService.TRACE_LOG_EXCLUDE_SETTING.getKey(), "NOTHING")
|
.put(TransportSettings.TRACE_LOG_EXCLUDE_SETTING.getKey(), "NOTHING")
|
||||||
.put("transport.tcp.port", port)
|
.put(TransportSettings.PORT.getKey(), port)
|
||||||
.build();
|
.build();
|
||||||
ClusterSettings clusterSettings = new ClusterSettings(settings, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS);
|
ClusterSettings clusterSettings = new ClusterSettings(settings, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS);
|
||||||
BindTransportException bindTransportException = expectThrows(BindTransportException.class, () -> {
|
BindTransportException bindTransportException = expectThrows(BindTransportException.class, () -> {
|
||||||
|
@ -166,7 +166,7 @@ public class AzureUnicastHostsProvider implements UnicastHostsProvider {
|
|||||||
InetAddress ipAddress = null;
|
InetAddress ipAddress = null;
|
||||||
try {
|
try {
|
||||||
ipAddress = networkService.resolvePublishHostAddresses(
|
ipAddress = networkService.resolvePublishHostAddresses(
|
||||||
NetworkService.GLOBAL_NETWORK_PUBLISHHOST_SETTING.get(settings).toArray(Strings.EMPTY_ARRAY));
|
NetworkService.GLOBAL_NETWORK_PUBLISH_HOST_SETTING.get(settings).toArray(Strings.EMPTY_ARRAY));
|
||||||
logger.trace("ip of current node: [{}]", ipAddress);
|
logger.trace("ip of current node: [{}]", ipAddress);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// We can't find the publish host address... Hmmm. Too bad :-(
|
// We can't find the publish host address... Hmmm. Too bad :-(
|
||||||
|
@ -37,7 +37,7 @@ import org.elasticsearch.node.Node;
|
|||||||
import org.elasticsearch.plugin.discovery.azure.classic.AzureDiscoveryPlugin;
|
import org.elasticsearch.plugin.discovery.azure.classic.AzureDiscoveryPlugin;
|
||||||
import org.elasticsearch.plugins.Plugin;
|
import org.elasticsearch.plugins.Plugin;
|
||||||
import org.elasticsearch.test.ESIntegTestCase;
|
import org.elasticsearch.test.ESIntegTestCase;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.junit.AfterClass;
|
import org.junit.AfterClass;
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.ClassRule;
|
import org.junit.ClassRule;
|
||||||
@ -118,7 +118,7 @@ public class AzureDiscoveryClusterFormationTests extends ESIntegTestCase {
|
|||||||
return Settings.builder().put(super.nodeSettings(nodeOrdinal))
|
return Settings.builder().put(super.nodeSettings(nodeOrdinal))
|
||||||
.put(DiscoveryModule.DISCOVERY_HOSTS_PROVIDER_SETTING.getKey(), AzureDiscoveryPlugin.AZURE)
|
.put(DiscoveryModule.DISCOVERY_HOSTS_PROVIDER_SETTING.getKey(), AzureDiscoveryPlugin.AZURE)
|
||||||
.put(Environment.PATH_LOGS_SETTING.getKey(), resolve)
|
.put(Environment.PATH_LOGS_SETTING.getKey(), resolve)
|
||||||
.put(TcpTransport.PORT.getKey(), 0)
|
.put(TransportSettings.PORT.getKey(), 0)
|
||||||
.put(Node.WRITE_PORTS_FILE_SETTING.getKey(), "true")
|
.put(Node.WRITE_PORTS_FILE_SETTING.getKey(), "true")
|
||||||
.put(AzureComputeService.Management.ENDPOINT_SETTING.getKey(), "https://" + InetAddress.getLoopbackAddress().getHostAddress() +
|
.put(AzureComputeService.Management.ENDPOINT_SETTING.getKey(), "https://" + InetAddress.getLoopbackAddress().getHostAddress() +
|
||||||
":" + httpsServer.getAddress().getPort())
|
":" + httpsServer.getAddress().getPort())
|
||||||
|
@ -164,7 +164,7 @@ public class Ec2NetworkTests extends ESTestCase {
|
|||||||
NetworkService networkService = new NetworkService(Collections.singletonList(new Ec2NameResolver()));
|
NetworkService networkService = new NetworkService(Collections.singletonList(new Ec2NameResolver()));
|
||||||
|
|
||||||
InetAddress[] addresses = networkService.resolveBindHostAddresses(
|
InetAddress[] addresses = networkService.resolveBindHostAddresses(
|
||||||
NetworkService.GLOBAL_NETWORK_BINDHOST_SETTING.get(nodeSettings).toArray(Strings.EMPTY_ARRAY));
|
NetworkService.GLOBAL_NETWORK_BIND_HOST_SETTING.get(nodeSettings).toArray(Strings.EMPTY_ARRAY));
|
||||||
if (expected == null) {
|
if (expected == null) {
|
||||||
fail("We should get an IOException, resolved addressed:" + Arrays.toString(addresses));
|
fail("We should get an IOException, resolved addressed:" + Arrays.toString(addresses));
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,7 @@ public class GceUnicastHostsProvider implements UnicastHostsProvider {
|
|||||||
String ipAddress = null;
|
String ipAddress = null;
|
||||||
try {
|
try {
|
||||||
InetAddress inetAddress = networkService.resolvePublishHostAddresses(
|
InetAddress inetAddress = networkService.resolvePublishHostAddresses(
|
||||||
NetworkService.GLOBAL_NETWORK_PUBLISHHOST_SETTING.get(settings).toArray(Strings.EMPTY_ARRAY));
|
NetworkService.GLOBAL_NETWORK_PUBLISH_HOST_SETTING.get(settings).toArray(Strings.EMPTY_ARRAY));
|
||||||
if (inetAddress != null) {
|
if (inetAddress != null) {
|
||||||
ipAddress = NetworkAddress.format(inetAddress);
|
ipAddress = NetworkAddress.format(inetAddress);
|
||||||
}
|
}
|
||||||
|
@ -110,7 +110,7 @@ public class GceNetworkTests extends ESTestCase {
|
|||||||
NetworkService networkService = new NetworkService(Collections.singletonList(new GceNameResolver(mock)));
|
NetworkService networkService = new NetworkService(Collections.singletonList(new GceNameResolver(mock)));
|
||||||
try {
|
try {
|
||||||
InetAddress[] addresses = networkService.resolveBindHostAddresses(
|
InetAddress[] addresses = networkService.resolveBindHostAddresses(
|
||||||
NetworkService.GLOBAL_NETWORK_BINDHOST_SETTING.get(nodeSettings).toArray(Strings.EMPTY_ARRAY));
|
NetworkService.GLOBAL_NETWORK_BIND_HOST_SETTING.get(nodeSettings).toArray(Strings.EMPTY_ARRAY));
|
||||||
if (expected == null) {
|
if (expected == null) {
|
||||||
fail("We should get a IllegalArgumentException when setting network.host: _gce:doesnotexist_");
|
fail("We should get a IllegalArgumentException when setting network.host: _gce:doesnotexist_");
|
||||||
}
|
}
|
||||||
|
@ -37,8 +37,8 @@ import org.elasticsearch.test.ESIntegTestCase.ClusterScope;
|
|||||||
import org.elasticsearch.test.ESIntegTestCase.Scope;
|
import org.elasticsearch.test.ESIntegTestCase.Scope;
|
||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.TcpChannel;
|
import org.elasticsearch.transport.TcpChannel;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
|
||||||
import org.elasticsearch.transport.Transport;
|
import org.elasticsearch.transport.Transport;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
@ -80,7 +80,7 @@ public class NioTransportIT extends NioIntegTestCase {
|
|||||||
fail("Expected exception, but didn't happen");
|
fail("Expected exception, but didn't happen");
|
||||||
} catch (ElasticsearchException e) {
|
} catch (ElasticsearchException e) {
|
||||||
assertThat(e.getMessage(), containsString("MY MESSAGE"));
|
assertThat(e.getMessage(), containsString("MY MESSAGE"));
|
||||||
assertThat(channelProfileName, is(TcpTransport.DEFAULT_PROFILE));
|
assertThat(channelProfileName, is(TransportSettings.DEFAULT_PROFILE));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ public class NioTransportIT extends NioIntegTestCase {
|
|||||||
InetSocketAddress remoteAddress, byte status) throws IOException {
|
InetSocketAddress remoteAddress, byte status) throws IOException {
|
||||||
String action = super.handleRequest(channel, profileName, stream, requestId, messageLengthBytes, version,
|
String action = super.handleRequest(channel, profileName, stream, requestId, messageLengthBytes, version,
|
||||||
remoteAddress, status);
|
remoteAddress, status);
|
||||||
channelProfileName = TcpTransport.DEFAULT_PROFILE;
|
channelProfileName = TransportSettings.DEFAULT_PROFILE;
|
||||||
return action;
|
return action;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,9 +37,8 @@ import org.elasticsearch.transport.BindTransportException;
|
|||||||
import org.elasticsearch.transport.ConnectTransportException;
|
import org.elasticsearch.transport.ConnectTransportException;
|
||||||
import org.elasticsearch.transport.ConnectionProfile;
|
import org.elasticsearch.transport.ConnectionProfile;
|
||||||
import org.elasticsearch.transport.TcpChannel;
|
import org.elasticsearch.transport.TcpChannel;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
|
||||||
import org.elasticsearch.transport.Transport;
|
import org.elasticsearch.transport.Transport;
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
@ -79,7 +78,7 @@ public class SimpleNioTransportTests extends AbstractSimpleTransportTestCase {
|
|||||||
@Override
|
@Override
|
||||||
protected MockTransportService build(Settings settings, Version version, ClusterSettings clusterSettings, boolean doHandshake) {
|
protected MockTransportService build(Settings settings, Version version, ClusterSettings clusterSettings, boolean doHandshake) {
|
||||||
settings = Settings.builder().put(settings)
|
settings = Settings.builder().put(settings)
|
||||||
.put(TcpTransport.PORT.getKey(), "0")
|
.put(TransportSettings.PORT.getKey(), "0")
|
||||||
.build();
|
.build();
|
||||||
MockTransportService transportService = nioFromThreadPool(settings, threadPool, version, clusterSettings, doHandshake);
|
MockTransportService transportService = nioFromThreadPool(settings, threadPool, version, clusterSettings, doHandshake);
|
||||||
transportService.start();
|
transportService.start();
|
||||||
@ -104,9 +103,9 @@ public class SimpleNioTransportTests extends AbstractSimpleTransportTestCase {
|
|||||||
int port = serviceA.boundAddress().publishAddress().getPort();
|
int port = serviceA.boundAddress().publishAddress().getPort();
|
||||||
Settings settings = Settings.builder()
|
Settings settings = Settings.builder()
|
||||||
.put(Node.NODE_NAME_SETTING.getKey(), "foobar")
|
.put(Node.NODE_NAME_SETTING.getKey(), "foobar")
|
||||||
.put(TransportService.TRACE_LOG_INCLUDE_SETTING.getKey(), "")
|
.put(TransportSettings.TRACE_LOG_INCLUDE_SETTING.getKey(), "")
|
||||||
.put(TransportService.TRACE_LOG_EXCLUDE_SETTING.getKey(), "NOTHING")
|
.put(TransportSettings.TRACE_LOG_EXCLUDE_SETTING.getKey(), "NOTHING")
|
||||||
.put("transport.tcp.port", port)
|
.put(TransportSettings.PORT.getKey(), port)
|
||||||
.build();
|
.build();
|
||||||
ClusterSettings clusterSettings = new ClusterSettings(settings, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS);
|
ClusterSettings clusterSettings = new ClusterSettings(settings, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS);
|
||||||
BindTransportException bindTransportException = expectThrows(BindTransportException.class, () -> {
|
BindTransportException bindTransportException = expectThrows(BindTransportException.class, () -> {
|
||||||
|
@ -29,6 +29,7 @@ import org.elasticsearch.plugins.PluginInfo;
|
|||||||
import org.elasticsearch.plugins.PluginsService;
|
import org.elasticsearch.plugins.PluginsService;
|
||||||
import org.elasticsearch.secure_sm.SecureSM;
|
import org.elasticsearch.secure_sm.SecureSM;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
import org.elasticsearch.transport.TcpTransport;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.SocketPermission;
|
import java.net.SocketPermission;
|
||||||
@ -368,7 +369,7 @@ final class Security {
|
|||||||
* @param settings the {@link Settings} instance to read the transport settings from
|
* @param settings the {@link Settings} instance to read the transport settings from
|
||||||
*/
|
*/
|
||||||
private static void addSocketPermissionForTransport(final Permissions policy, final Settings settings) {
|
private static void addSocketPermissionForTransport(final Permissions policy, final Settings settings) {
|
||||||
final String transportRange = TcpTransport.PORT.get(settings);
|
final String transportRange = TransportSettings.PORT.get(settings);
|
||||||
addSocketPermissionForPortRange(policy, transportRange);
|
addSocketPermissionForPortRange(policy, transportRange);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,9 +57,9 @@ import org.elasticsearch.plugins.SearchPlugin;
|
|||||||
import org.elasticsearch.search.SearchModule;
|
import org.elasticsearch.search.SearchModule;
|
||||||
import org.elasticsearch.threadpool.ExecutorBuilder;
|
import org.elasticsearch.threadpool.ExecutorBuilder;
|
||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
|
||||||
import org.elasticsearch.transport.Transport;
|
import org.elasticsearch.transport.Transport;
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportService;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
|
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -102,7 +102,7 @@ public abstract class TransportClient extends AbstractClient {
|
|||||||
|
|
||||||
private static PluginsService newPluginService(final Settings settings, Collection<Class<? extends Plugin>> plugins) {
|
private static PluginsService newPluginService(final Settings settings, Collection<Class<? extends Plugin>> plugins) {
|
||||||
final Settings.Builder settingsBuilder = Settings.builder()
|
final Settings.Builder settingsBuilder = Settings.builder()
|
||||||
.put(TcpTransport.PING_SCHEDULE.getKey(), "5s") // enable by default the transport schedule ping interval
|
.put(TransportSettings.PING_SCHEDULE.getKey(), "5s") // enable by default the transport schedule ping interval
|
||||||
.put(InternalSettingsPreparer.prepareSettings(settings))
|
.put(InternalSettingsPreparer.prepareSettings(settings))
|
||||||
.put(NetworkService.NETWORK_SERVER.getKey(), false)
|
.put(NetworkService.NETWORK_SERVER.getKey(), false)
|
||||||
.put(CLIENT_TYPE_SETTING_S.getKey(), CLIENT_TYPE);
|
.put(CLIENT_TYPE_SETTING_S.getKey(), CLIENT_TYPE);
|
||||||
@ -136,7 +136,7 @@ public abstract class TransportClient extends AbstractClient {
|
|||||||
Settings.builder()
|
Settings.builder()
|
||||||
.put(defaultSettings)
|
.put(defaultSettings)
|
||||||
.put(pluginsService.updatedSettings())
|
.put(pluginsService.updatedSettings())
|
||||||
.put(TcpTransport.FEATURE_PREFIX + "." + TRANSPORT_CLIENT_FEATURE, true)
|
.put(TransportSettings.FEATURE_PREFIX + "." + TRANSPORT_CLIENT_FEATURE, true)
|
||||||
.build();
|
.build();
|
||||||
final List<Closeable> resourcesToClose = new ArrayList<>();
|
final List<Closeable> resourcesToClose = new ArrayList<>();
|
||||||
final ThreadPool threadPool = new ThreadPool(settings);
|
final ThreadPool threadPool = new ThreadPool(settings);
|
||||||
|
@ -39,13 +39,14 @@ public final class NetworkService {
|
|||||||
|
|
||||||
/** By default, we bind to loopback interfaces */
|
/** By default, we bind to loopback interfaces */
|
||||||
public static final String DEFAULT_NETWORK_HOST = "_local_";
|
public static final String DEFAULT_NETWORK_HOST = "_local_";
|
||||||
|
public static final Setting<Boolean> NETWORK_SERVER =
|
||||||
|
Setting.boolSetting("network.server", true, Property.NodeScope);
|
||||||
public static final Setting<List<String>> GLOBAL_NETWORK_HOST_SETTING =
|
public static final Setting<List<String>> GLOBAL_NETWORK_HOST_SETTING =
|
||||||
Setting.listSetting("network.host", Collections.emptyList(), Function.identity(), Property.NodeScope);
|
Setting.listSetting("network.host", Collections.emptyList(), Function.identity(), Property.NodeScope);
|
||||||
public static final Setting<List<String>> GLOBAL_NETWORK_BINDHOST_SETTING =
|
public static final Setting<List<String>> GLOBAL_NETWORK_BIND_HOST_SETTING =
|
||||||
Setting.listSetting("network.bind_host", GLOBAL_NETWORK_HOST_SETTING, Function.identity(), Property.NodeScope);
|
Setting.listSetting("network.bind_host", GLOBAL_NETWORK_HOST_SETTING, Function.identity(), Property.NodeScope);
|
||||||
public static final Setting<List<String>> GLOBAL_NETWORK_PUBLISHHOST_SETTING =
|
public static final Setting<List<String>> GLOBAL_NETWORK_PUBLISH_HOST_SETTING =
|
||||||
Setting.listSetting("network.publish_host", GLOBAL_NETWORK_HOST_SETTING, Function.identity(), Property.NodeScope);
|
Setting.listSetting("network.publish_host", GLOBAL_NETWORK_HOST_SETTING, Function.identity(), Property.NodeScope);
|
||||||
public static final Setting<Boolean> NETWORK_SERVER = Setting.boolSetting("network.server", true, Property.NodeScope);
|
|
||||||
|
|
||||||
public static final Setting<Boolean> TCP_NO_DELAY =
|
public static final Setting<Boolean> TCP_NO_DELAY =
|
||||||
Setting.boolSetting("network.tcp.no_delay", true, Property.NodeScope);
|
Setting.boolSetting("network.tcp.no_delay", true, Property.NodeScope);
|
||||||
@ -57,6 +58,7 @@ public final class NetworkService {
|
|||||||
Setting.byteSizeSetting("network.tcp.send_buffer_size", new ByteSizeValue(-1), Property.NodeScope);
|
Setting.byteSizeSetting("network.tcp.send_buffer_size", new ByteSizeValue(-1), Property.NodeScope);
|
||||||
public static final Setting<ByteSizeValue> TCP_RECEIVE_BUFFER_SIZE =
|
public static final Setting<ByteSizeValue> TCP_RECEIVE_BUFFER_SIZE =
|
||||||
Setting.byteSizeSetting("network.tcp.receive_buffer_size", new ByteSizeValue(-1), Property.NodeScope);
|
Setting.byteSizeSetting("network.tcp.receive_buffer_size", new ByteSizeValue(-1), Property.NodeScope);
|
||||||
|
// TODO: Deprecate in 7.0
|
||||||
public static final Setting<TimeValue> TCP_CONNECT_TIMEOUT =
|
public static final Setting<TimeValue> TCP_CONNECT_TIMEOUT =
|
||||||
Setting.timeSetting("network.tcp.connect_timeout", new TimeValue(30, TimeUnit.SECONDS), Property.NodeScope);
|
Setting.timeSetting("network.tcp.connect_timeout", new TimeValue(30, TimeUnit.SECONDS), Property.NodeScope);
|
||||||
|
|
||||||
|
@ -105,9 +105,7 @@ import org.elasticsearch.search.fetch.subphase.highlight.FastVectorHighlighter;
|
|||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.RemoteClusterAware;
|
import org.elasticsearch.transport.RemoteClusterAware;
|
||||||
import org.elasticsearch.transport.RemoteClusterService;
|
import org.elasticsearch.transport.RemoteClusterService;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.elasticsearch.transport.Transport;
|
|
||||||
import org.elasticsearch.transport.TransportService;
|
|
||||||
import org.elasticsearch.watcher.ResourceWatcherService;
|
import org.elasticsearch.watcher.ResourceWatcherService;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -270,6 +268,7 @@ public final class ClusterSettings extends AbstractScopedSettings {
|
|||||||
HttpTransportSettings.SETTING_HTTP_MAX_INITIAL_LINE_LENGTH,
|
HttpTransportSettings.SETTING_HTTP_MAX_INITIAL_LINE_LENGTH,
|
||||||
HttpTransportSettings.SETTING_HTTP_READ_TIMEOUT,
|
HttpTransportSettings.SETTING_HTTP_READ_TIMEOUT,
|
||||||
HttpTransportSettings.SETTING_HTTP_RESET_COOKIES,
|
HttpTransportSettings.SETTING_HTTP_RESET_COOKIES,
|
||||||
|
HttpTransportSettings.OLD_SETTING_HTTP_TCP_NO_DELAY,
|
||||||
HttpTransportSettings.SETTING_HTTP_TCP_NO_DELAY,
|
HttpTransportSettings.SETTING_HTTP_TCP_NO_DELAY,
|
||||||
HttpTransportSettings.SETTING_HTTP_TCP_KEEP_ALIVE,
|
HttpTransportSettings.SETTING_HTTP_TCP_KEEP_ALIVE,
|
||||||
HttpTransportSettings.SETTING_HTTP_TCP_REUSE_ADDRESS,
|
HttpTransportSettings.SETTING_HTTP_TCP_REUSE_ADDRESS,
|
||||||
@ -308,44 +307,53 @@ public final class ClusterSettings extends AbstractScopedSettings {
|
|||||||
RemoteClusterService.SEARCH_ENABLE_REMOTE_CLUSTERS,
|
RemoteClusterService.SEARCH_ENABLE_REMOTE_CLUSTERS,
|
||||||
RemoteClusterService.REMOTE_CLUSTER_PING_SCHEDULE,
|
RemoteClusterService.REMOTE_CLUSTER_PING_SCHEDULE,
|
||||||
RemoteClusterService.REMOTE_CLUSTER_COMPRESS,
|
RemoteClusterService.REMOTE_CLUSTER_COMPRESS,
|
||||||
TransportService.TRACE_LOG_EXCLUDE_SETTING,
|
|
||||||
TransportService.TRACE_LOG_INCLUDE_SETTING,
|
|
||||||
TransportCloseIndexAction.CLUSTER_INDICES_CLOSE_ENABLE_SETTING,
|
TransportCloseIndexAction.CLUSTER_INDICES_CLOSE_ENABLE_SETTING,
|
||||||
ShardsLimitAllocationDecider.CLUSTER_TOTAL_SHARDS_PER_NODE_SETTING,
|
ShardsLimitAllocationDecider.CLUSTER_TOTAL_SHARDS_PER_NODE_SETTING,
|
||||||
NodeConnectionsService.CLUSTER_NODE_RECONNECT_INTERVAL_SETTING,
|
NodeConnectionsService.CLUSTER_NODE_RECONNECT_INTERVAL_SETTING,
|
||||||
HierarchyCircuitBreakerService.FIELDDATA_CIRCUIT_BREAKER_TYPE_SETTING,
|
HierarchyCircuitBreakerService.FIELDDATA_CIRCUIT_BREAKER_TYPE_SETTING,
|
||||||
HierarchyCircuitBreakerService.REQUEST_CIRCUIT_BREAKER_TYPE_SETTING,
|
HierarchyCircuitBreakerService.REQUEST_CIRCUIT_BREAKER_TYPE_SETTING,
|
||||||
Transport.TRANSPORT_TCP_COMPRESS,
|
TransportSettings.HOST,
|
||||||
TcpTransport.HOST,
|
TransportSettings.PUBLISH_HOST,
|
||||||
TcpTransport.PUBLISH_HOST,
|
TransportSettings.PUBLISH_HOST_PROFILE,
|
||||||
TcpTransport.BIND_HOST,
|
TransportSettings.BIND_HOST,
|
||||||
TcpTransport.PUBLISH_PORT,
|
TransportSettings.BIND_HOST_PROFILE,
|
||||||
TcpTransport.PORT,
|
TransportSettings.OLD_PORT,
|
||||||
TcpTransport.BIND_HOST_PROFILE,
|
TransportSettings.PORT,
|
||||||
TcpTransport.PUBLISH_HOST_PROFILE,
|
TransportSettings.PORT_PROFILE,
|
||||||
TcpTransport.PUBLISH_PORT_PROFILE,
|
TransportSettings.PUBLISH_PORT,
|
||||||
TcpTransport.PORT_PROFILE,
|
TransportSettings.PUBLISH_PORT_PROFILE,
|
||||||
TcpTransport.TCP_NO_DELAY_PROFILE,
|
TransportSettings.OLD_TRANSPORT_COMPRESS,
|
||||||
TcpTransport.TCP_KEEP_ALIVE_PROFILE,
|
TransportSettings.TRANSPORT_COMPRESS,
|
||||||
TcpTransport.TCP_REUSE_ADDRESS_PROFILE,
|
TransportSettings.PING_SCHEDULE,
|
||||||
TcpTransport.TCP_SEND_BUFFER_SIZE_PROFILE,
|
TransportSettings.CONNECT_TIMEOUT,
|
||||||
TcpTransport.TCP_RECEIVE_BUFFER_SIZE_PROFILE,
|
TransportSettings.DEFAULT_FEATURES_SETTING,
|
||||||
TransportService.CONNECTIONS_PER_NODE_RECOVERY,
|
TransportSettings.OLD_TCP_NO_DELAY,
|
||||||
TransportService.CONNECTIONS_PER_NODE_BULK,
|
TransportSettings.TCP_NO_DELAY,
|
||||||
TransportService.CONNECTIONS_PER_NODE_REG,
|
TransportSettings.OLD_TCP_NO_DELAY_PROFILE,
|
||||||
TransportService.CONNECTIONS_PER_NODE_STATE,
|
TransportSettings.TCP_NO_DELAY_PROFILE,
|
||||||
TransportService.CONNECTIONS_PER_NODE_PING,
|
TransportSettings.TCP_KEEP_ALIVE,
|
||||||
TransportService.TCP_CONNECT_TIMEOUT,
|
TransportSettings.OLD_TCP_KEEP_ALIVE_PROFILE,
|
||||||
TcpTransport.PING_SCHEDULE,
|
TransportSettings.TCP_KEEP_ALIVE_PROFILE,
|
||||||
|
TransportSettings.TCP_REUSE_ADDRESS,
|
||||||
|
TransportSettings.OLD_TCP_REUSE_ADDRESS_PROFILE,
|
||||||
|
TransportSettings.TCP_REUSE_ADDRESS_PROFILE,
|
||||||
|
TransportSettings.TCP_SEND_BUFFER_SIZE,
|
||||||
|
TransportSettings.OLD_TCP_SEND_BUFFER_SIZE_PROFILE,
|
||||||
|
TransportSettings.TCP_SEND_BUFFER_SIZE_PROFILE,
|
||||||
|
TransportSettings.TCP_RECEIVE_BUFFER_SIZE,
|
||||||
|
TransportSettings.OLD_TCP_RECEIVE_BUFFER_SIZE_PROFILE,
|
||||||
|
TransportSettings.TCP_RECEIVE_BUFFER_SIZE_PROFILE,
|
||||||
|
TransportSettings.CONNECTIONS_PER_NODE_RECOVERY,
|
||||||
|
TransportSettings.CONNECTIONS_PER_NODE_BULK,
|
||||||
|
TransportSettings.CONNECTIONS_PER_NODE_REG,
|
||||||
|
TransportSettings.CONNECTIONS_PER_NODE_STATE,
|
||||||
|
TransportSettings.CONNECTIONS_PER_NODE_PING,
|
||||||
|
TransportSettings.TRACE_LOG_EXCLUDE_SETTING,
|
||||||
|
TransportSettings.TRACE_LOG_INCLUDE_SETTING,
|
||||||
NetworkService.NETWORK_SERVER,
|
NetworkService.NETWORK_SERVER,
|
||||||
TcpTransport.TCP_NO_DELAY,
|
|
||||||
TcpTransport.TCP_KEEP_ALIVE,
|
|
||||||
TcpTransport.TCP_REUSE_ADDRESS,
|
|
||||||
TcpTransport.TCP_SEND_BUFFER_SIZE,
|
|
||||||
TcpTransport.TCP_RECEIVE_BUFFER_SIZE,
|
|
||||||
NetworkService.GLOBAL_NETWORK_HOST_SETTING,
|
NetworkService.GLOBAL_NETWORK_HOST_SETTING,
|
||||||
NetworkService.GLOBAL_NETWORK_BINDHOST_SETTING,
|
NetworkService.GLOBAL_NETWORK_BIND_HOST_SETTING,
|
||||||
NetworkService.GLOBAL_NETWORK_PUBLISHHOST_SETTING,
|
NetworkService.GLOBAL_NETWORK_PUBLISH_HOST_SETTING,
|
||||||
NetworkService.TCP_NO_DELAY,
|
NetworkService.TCP_NO_DELAY,
|
||||||
NetworkService.TCP_KEEP_ALIVE,
|
NetworkService.TCP_KEEP_ALIVE,
|
||||||
NetworkService.TCP_REUSE_ADDRESS,
|
NetworkService.TCP_REUSE_ADDRESS,
|
||||||
@ -415,7 +423,6 @@ public final class ClusterSettings extends AbstractScopedSettings {
|
|||||||
ClusterModule.SHARDS_ALLOCATOR_TYPE_SETTING,
|
ClusterModule.SHARDS_ALLOCATOR_TYPE_SETTING,
|
||||||
EsExecutors.PROCESSORS_SETTING,
|
EsExecutors.PROCESSORS_SETTING,
|
||||||
ThreadContext.DEFAULT_HEADERS_SETTING,
|
ThreadContext.DEFAULT_HEADERS_SETTING,
|
||||||
TcpTransport.DEFAULT_FEATURES_SETTING,
|
|
||||||
Loggers.LOG_DEFAULT_LEVEL_SETTING,
|
Loggers.LOG_DEFAULT_LEVEL_SETTING,
|
||||||
Loggers.LOG_LEVEL_SETTING,
|
Loggers.LOG_LEVEL_SETTING,
|
||||||
NodeEnvironment.MAX_LOCAL_STORAGE_NODES_SETTING,
|
NodeEnvironment.MAX_LOCAL_STORAGE_NODES_SETTING,
|
||||||
|
@ -98,11 +98,11 @@ public abstract class AbstractHttpServerTransport extends AbstractLifecycleCompo
|
|||||||
|
|
||||||
// we can't make the network.bind_host a fallback since we already fall back to http.host hence the extra conditional here
|
// we can't make the network.bind_host a fallback since we already fall back to http.host hence the extra conditional here
|
||||||
List<String> httpBindHost = SETTING_HTTP_BIND_HOST.get(settings);
|
List<String> httpBindHost = SETTING_HTTP_BIND_HOST.get(settings);
|
||||||
this.bindHosts = (httpBindHost.isEmpty() ? NetworkService.GLOBAL_NETWORK_BINDHOST_SETTING.get(settings) : httpBindHost)
|
this.bindHosts = (httpBindHost.isEmpty() ? NetworkService.GLOBAL_NETWORK_BIND_HOST_SETTING.get(settings) : httpBindHost)
|
||||||
.toArray(Strings.EMPTY_ARRAY);
|
.toArray(Strings.EMPTY_ARRAY);
|
||||||
// we can't make the network.publish_host a fallback since we already fall back to http.host hence the extra conditional here
|
// we can't make the network.publish_host a fallback since we already fall back to http.host hence the extra conditional here
|
||||||
List<String> httpPublishHost = SETTING_HTTP_PUBLISH_HOST.get(settings);
|
List<String> httpPublishHost = SETTING_HTTP_PUBLISH_HOST.get(settings);
|
||||||
this.publishHosts = (httpPublishHost.isEmpty() ? NetworkService.GLOBAL_NETWORK_PUBLISHHOST_SETTING.get(settings) : httpPublishHost)
|
this.publishHosts = (httpPublishHost.isEmpty() ? NetworkService.GLOBAL_NETWORK_PUBLISH_HOST_SETTING.get(settings) : httpPublishHost)
|
||||||
.toArray(Strings.EMPTY_ARRAY);
|
.toArray(Strings.EMPTY_ARRAY);
|
||||||
|
|
||||||
this.port = SETTING_HTTP_PORT.get(settings);
|
this.port = SETTING_HTTP_PORT.get(settings);
|
||||||
|
@ -105,8 +105,13 @@ public final class HttpTransportSettings {
|
|||||||
public static final Setting<TimeValue> SETTING_HTTP_READ_TIMEOUT =
|
public static final Setting<TimeValue> SETTING_HTTP_READ_TIMEOUT =
|
||||||
Setting.timeSetting("http.read_timeout", new TimeValue(0), new TimeValue(0), Property.NodeScope);
|
Setting.timeSetting("http.read_timeout", new TimeValue(0), new TimeValue(0), Property.NodeScope);
|
||||||
|
|
||||||
public static final Setting<Boolean> SETTING_HTTP_TCP_NO_DELAY =
|
// Tcp socket settings
|
||||||
|
|
||||||
|
// TODO: Deprecate in 7.0
|
||||||
|
public static final Setting<Boolean> OLD_SETTING_HTTP_TCP_NO_DELAY =
|
||||||
boolSetting("http.tcp_no_delay", NetworkService.TCP_NO_DELAY, Setting.Property.NodeScope);
|
boolSetting("http.tcp_no_delay", NetworkService.TCP_NO_DELAY, Setting.Property.NodeScope);
|
||||||
|
public static final Setting<Boolean> SETTING_HTTP_TCP_NO_DELAY =
|
||||||
|
boolSetting("http.tcp.no_delay", OLD_SETTING_HTTP_TCP_NO_DELAY, Setting.Property.NodeScope);
|
||||||
public static final Setting<Boolean> SETTING_HTTP_TCP_KEEP_ALIVE =
|
public static final Setting<Boolean> SETTING_HTTP_TCP_KEEP_ALIVE =
|
||||||
boolSetting("http.tcp.keep_alive", NetworkService.TCP_KEEP_ALIVE, Setting.Property.NodeScope);
|
boolSetting("http.tcp.keep_alive", NetworkService.TCP_KEEP_ALIVE, Setting.Property.NodeScope);
|
||||||
public static final Setting<Boolean> SETTING_HTTP_TCP_REUSE_ADDRESS =
|
public static final Setting<Boolean> SETTING_HTTP_TCP_REUSE_ADDRESS =
|
||||||
|
@ -41,7 +41,7 @@ import org.elasticsearch.common.settings.Setting.Property;
|
|||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.IndexModule;
|
import org.elasticsearch.index.IndexModule;
|
||||||
import org.elasticsearch.threadpool.ExecutorBuilder;
|
import org.elasticsearch.threadpool.ExecutorBuilder;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
@ -226,7 +226,7 @@ public class PluginsService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (final String feature : features.keySet()) {
|
for (final String feature : features.keySet()) {
|
||||||
builder.put(TcpTransport.FEATURE_PREFIX + "." + feature, true);
|
builder.put(TransportSettings.FEATURE_PREFIX + "." + feature, true);
|
||||||
}
|
}
|
||||||
return builder.put(this.settings).build();
|
return builder.put(this.settings).build();
|
||||||
}
|
}
|
||||||
|
@ -73,16 +73,16 @@ public final class ConnectionProfile {
|
|||||||
* @return the connection profile
|
* @return the connection profile
|
||||||
*/
|
*/
|
||||||
public static ConnectionProfile buildDefaultConnectionProfile(Settings settings) {
|
public static ConnectionProfile buildDefaultConnectionProfile(Settings settings) {
|
||||||
int connectionsPerNodeRecovery = TransportService.CONNECTIONS_PER_NODE_RECOVERY.get(settings);
|
int connectionsPerNodeRecovery = TransportSettings.CONNECTIONS_PER_NODE_RECOVERY.get(settings);
|
||||||
int connectionsPerNodeBulk = TransportService.CONNECTIONS_PER_NODE_BULK.get(settings);
|
int connectionsPerNodeBulk = TransportSettings.CONNECTIONS_PER_NODE_BULK.get(settings);
|
||||||
int connectionsPerNodeReg = TransportService.CONNECTIONS_PER_NODE_REG.get(settings);
|
int connectionsPerNodeReg = TransportSettings.CONNECTIONS_PER_NODE_REG.get(settings);
|
||||||
int connectionsPerNodeState = TransportService.CONNECTIONS_PER_NODE_STATE.get(settings);
|
int connectionsPerNodeState = TransportSettings.CONNECTIONS_PER_NODE_STATE.get(settings);
|
||||||
int connectionsPerNodePing = TransportService.CONNECTIONS_PER_NODE_PING.get(settings);
|
int connectionsPerNodePing = TransportSettings.CONNECTIONS_PER_NODE_PING.get(settings);
|
||||||
Builder builder = new Builder();
|
Builder builder = new Builder();
|
||||||
builder.setConnectTimeout(TransportService.TCP_CONNECT_TIMEOUT.get(settings));
|
builder.setConnectTimeout(TransportSettings.CONNECT_TIMEOUT.get(settings));
|
||||||
builder.setHandshakeTimeout(TransportService.TCP_CONNECT_TIMEOUT.get(settings));
|
builder.setHandshakeTimeout(TransportSettings.CONNECT_TIMEOUT.get(settings));
|
||||||
builder.setPingInterval(TcpTransport.PING_SCHEDULE.get(settings));
|
builder.setPingInterval(TransportSettings.PING_SCHEDULE.get(settings));
|
||||||
builder.setCompressionEnabled(Transport.TRANSPORT_TCP_COMPRESS.get(settings));
|
builder.setCompressionEnabled(TransportSettings.TRANSPORT_COMPRESS.get(settings));
|
||||||
builder.addConnections(connectionsPerNodeBulk, TransportRequestOptions.Type.BULK);
|
builder.addConnections(connectionsPerNodeBulk, TransportRequestOptions.Type.BULK);
|
||||||
builder.addConnections(connectionsPerNodePing, TransportRequestOptions.Type.PING);
|
builder.addConnections(connectionsPerNodePing, TransportRequestOptions.Type.PING);
|
||||||
// if we are not master eligible we don't need a dedicated channel to publish the state
|
// if we are not master eligible we don't need a dedicated channel to publish the state
|
||||||
|
@ -738,8 +738,8 @@ final class RemoteClusterConnection implements TransportConnectionListener, Clos
|
|||||||
|
|
||||||
private static ConnectionManager createConnectionManager(Settings settings, String clusterAlias, TransportService transportService) {
|
private static ConnectionManager createConnectionManager(Settings settings, String clusterAlias, TransportService transportService) {
|
||||||
ConnectionProfile.Builder builder = new ConnectionProfile.Builder()
|
ConnectionProfile.Builder builder = new ConnectionProfile.Builder()
|
||||||
.setConnectTimeout(TransportService.TCP_CONNECT_TIMEOUT.get(settings))
|
.setConnectTimeout(TransportSettings.CONNECT_TIMEOUT.get(settings))
|
||||||
.setHandshakeTimeout(TransportService.TCP_CONNECT_TIMEOUT.get(settings))
|
.setHandshakeTimeout(TransportSettings.CONNECT_TIMEOUT.get(settings))
|
||||||
.addConnections(6, TransportRequestOptions.Type.REG, TransportRequestOptions.Type.PING) // TODO make this configurable?
|
.addConnections(6, TransportRequestOptions.Type.REG, TransportRequestOptions.Type.PING) // TODO make this configurable?
|
||||||
// we don't want this to be used for anything else but search
|
// we don't want this to be used for anything else but search
|
||||||
.addConnections(0, TransportRequestOptions.Type.BULK,
|
.addConnections(0, TransportRequestOptions.Type.BULK,
|
||||||
|
@ -174,13 +174,13 @@ public final class RemoteClusterService extends RemoteClusterAware implements Cl
|
|||||||
public static final Setting.AffixSetting<TimeValue> REMOTE_CLUSTER_PING_SCHEDULE = Setting.affixKeySetting(
|
public static final Setting.AffixSetting<TimeValue> REMOTE_CLUSTER_PING_SCHEDULE = Setting.affixKeySetting(
|
||||||
"cluster.remote.",
|
"cluster.remote.",
|
||||||
"transport.ping_schedule",
|
"transport.ping_schedule",
|
||||||
key -> timeSetting(key, TcpTransport.PING_SCHEDULE, Setting.Property.NodeScope),
|
key -> timeSetting(key, TransportSettings.PING_SCHEDULE, Setting.Property.NodeScope),
|
||||||
REMOTE_CLUSTERS_SEEDS);
|
REMOTE_CLUSTERS_SEEDS);
|
||||||
|
|
||||||
public static final Setting.AffixSetting<Boolean> REMOTE_CLUSTER_COMPRESS = Setting.affixKeySetting(
|
public static final Setting.AffixSetting<Boolean> REMOTE_CLUSTER_COMPRESS = Setting.affixKeySetting(
|
||||||
"cluster.remote.",
|
"cluster.remote.",
|
||||||
"transport.compress",
|
"transport.compress",
|
||||||
key -> boolSetting(key, Transport.TRANSPORT_TCP_COMPRESS, Setting.Property.NodeScope),
|
key -> boolSetting(key, TransportSettings.TRANSPORT_COMPRESS, Setting.Property.NodeScope),
|
||||||
REMOTE_CLUSTERS_SEEDS);
|
REMOTE_CLUSTERS_SEEDS);
|
||||||
|
|
||||||
private static final Predicate<DiscoveryNode> DEFAULT_NODE_PREDICATE = (node) -> Version.CURRENT.isCompatible(node.getVersion())
|
private static final Predicate<DiscoveryNode> DEFAULT_NODE_PREDICATE = (node) -> Version.CURRENT.isCompatible(node.getVersion())
|
||||||
|
@ -100,17 +100,10 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
|||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
import java.util.concurrent.locks.ReadWriteLock;
|
import java.util.concurrent.locks.ReadWriteLock;
|
||||||
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
||||||
import java.util.function.Function;
|
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import static java.util.Collections.emptyList;
|
|
||||||
import static java.util.Collections.unmodifiableMap;
|
import static java.util.Collections.unmodifiableMap;
|
||||||
import static org.elasticsearch.common.settings.Setting.affixKeySetting;
|
|
||||||
import static org.elasticsearch.common.settings.Setting.boolSetting;
|
|
||||||
import static org.elasticsearch.common.settings.Setting.intSetting;
|
|
||||||
import static org.elasticsearch.common.settings.Setting.listSetting;
|
|
||||||
import static org.elasticsearch.common.settings.Setting.timeSetting;
|
|
||||||
import static org.elasticsearch.common.transport.NetworkExceptionHelper.isCloseConnectionException;
|
import static org.elasticsearch.common.transport.NetworkExceptionHelper.isCloseConnectionException;
|
||||||
import static org.elasticsearch.common.transport.NetworkExceptionHelper.isConnectException;
|
import static org.elasticsearch.common.transport.NetworkExceptionHelper.isConnectException;
|
||||||
import static org.elasticsearch.common.util.concurrent.ConcurrentCollections.newConcurrentMap;
|
import static org.elasticsearch.common.util.concurrent.ConcurrentCollections.newConcurrentMap;
|
||||||
@ -120,59 +113,12 @@ public abstract class TcpTransport extends AbstractLifecycleComponent implements
|
|||||||
|
|
||||||
public static final String TRANSPORT_WORKER_THREAD_NAME_PREFIX = "transport_worker";
|
public static final String TRANSPORT_WORKER_THREAD_NAME_PREFIX = "transport_worker";
|
||||||
|
|
||||||
public static final Setting<List<String>> HOST =
|
|
||||||
listSetting("transport.host", emptyList(), Function.identity(), Setting.Property.NodeScope);
|
|
||||||
public static final Setting<List<String>> BIND_HOST =
|
|
||||||
listSetting("transport.bind_host", HOST, Function.identity(), Setting.Property.NodeScope);
|
|
||||||
public static final Setting<List<String>> PUBLISH_HOST =
|
|
||||||
listSetting("transport.publish_host", HOST, Function.identity(), Setting.Property.NodeScope);
|
|
||||||
public static final Setting<String> PORT =
|
|
||||||
new Setting<>("transport.tcp.port", "9300-9400", Function.identity(), Setting.Property.NodeScope);
|
|
||||||
public static final Setting<Integer> PUBLISH_PORT =
|
|
||||||
intSetting("transport.publish_port", -1, -1, Setting.Property.NodeScope);
|
|
||||||
public static final String DEFAULT_PROFILE = "default";
|
|
||||||
// the scheduled internal ping interval setting, defaults to disabled (-1)
|
|
||||||
public static final Setting<TimeValue> PING_SCHEDULE =
|
|
||||||
timeSetting("transport.ping_schedule", TimeValue.timeValueSeconds(-1), Setting.Property.NodeScope);
|
|
||||||
public static final Setting<Boolean> TCP_NO_DELAY =
|
|
||||||
boolSetting("transport.tcp_no_delay", NetworkService.TCP_NO_DELAY, Setting.Property.NodeScope);
|
|
||||||
public static final Setting<Boolean> TCP_KEEP_ALIVE =
|
|
||||||
boolSetting("transport.tcp.keep_alive", NetworkService.TCP_KEEP_ALIVE, Setting.Property.NodeScope);
|
|
||||||
public static final Setting<Boolean> TCP_REUSE_ADDRESS =
|
|
||||||
boolSetting("transport.tcp.reuse_address", NetworkService.TCP_REUSE_ADDRESS, Setting.Property.NodeScope);
|
|
||||||
public static final Setting<ByteSizeValue> TCP_SEND_BUFFER_SIZE =
|
|
||||||
Setting.byteSizeSetting("transport.tcp.send_buffer_size", NetworkService.TCP_SEND_BUFFER_SIZE, Setting.Property.NodeScope);
|
|
||||||
public static final Setting<ByteSizeValue> TCP_RECEIVE_BUFFER_SIZE =
|
|
||||||
Setting.byteSizeSetting("transport.tcp.receive_buffer_size", NetworkService.TCP_RECEIVE_BUFFER_SIZE, Setting.Property.NodeScope);
|
|
||||||
|
|
||||||
|
|
||||||
public static final Setting.AffixSetting<Boolean> TCP_NO_DELAY_PROFILE = affixKeySetting("transport.profiles.", "tcp_no_delay",
|
|
||||||
key -> boolSetting(key, TcpTransport.TCP_NO_DELAY, Setting.Property.NodeScope));
|
|
||||||
public static final Setting.AffixSetting<Boolean> TCP_KEEP_ALIVE_PROFILE = affixKeySetting("transport.profiles.", "tcp_keep_alive",
|
|
||||||
key -> boolSetting(key, TcpTransport.TCP_KEEP_ALIVE, Setting.Property.NodeScope));
|
|
||||||
public static final Setting.AffixSetting<Boolean> TCP_REUSE_ADDRESS_PROFILE = affixKeySetting("transport.profiles.", "reuse_address",
|
|
||||||
key -> boolSetting(key, TcpTransport.TCP_REUSE_ADDRESS, Setting.Property.NodeScope));
|
|
||||||
public static final Setting.AffixSetting<ByteSizeValue> TCP_SEND_BUFFER_SIZE_PROFILE = affixKeySetting("transport.profiles.",
|
|
||||||
"send_buffer_size", key -> Setting.byteSizeSetting(key, TcpTransport.TCP_SEND_BUFFER_SIZE, Setting.Property.NodeScope));
|
|
||||||
public static final Setting.AffixSetting<ByteSizeValue> TCP_RECEIVE_BUFFER_SIZE_PROFILE = affixKeySetting("transport.profiles.",
|
|
||||||
"receive_buffer_size", key -> Setting.byteSizeSetting(key, TcpTransport.TCP_RECEIVE_BUFFER_SIZE, Setting.Property.NodeScope));
|
|
||||||
|
|
||||||
public static final Setting.AffixSetting<List<String>> BIND_HOST_PROFILE = affixKeySetting("transport.profiles.", "bind_host",
|
|
||||||
key -> listSetting(key, BIND_HOST, Function.identity(), Setting.Property.NodeScope));
|
|
||||||
public static final Setting.AffixSetting<List<String>> PUBLISH_HOST_PROFILE = affixKeySetting("transport.profiles.", "publish_host",
|
|
||||||
key -> listSetting(key, PUBLISH_HOST, Function.identity(), Setting.Property.NodeScope));
|
|
||||||
public static final Setting.AffixSetting<String> PORT_PROFILE = affixKeySetting("transport.profiles.", "port",
|
|
||||||
key -> new Setting<>(key, PORT, Function.identity(), Setting.Property.NodeScope));
|
|
||||||
public static final Setting.AffixSetting<Integer> PUBLISH_PORT_PROFILE = affixKeySetting("transport.profiles.", "publish_port",
|
|
||||||
key -> intSetting(key, -1, -1, Setting.Property.NodeScope));
|
|
||||||
|
|
||||||
// This is the number of bytes necessary to read the message size
|
// This is the number of bytes necessary to read the message size
|
||||||
private static final int BYTES_NEEDED_FOR_MESSAGE_SIZE = TcpHeader.MARKER_BYTES_SIZE + TcpHeader.MESSAGE_LENGTH_SIZE;
|
private static final int BYTES_NEEDED_FOR_MESSAGE_SIZE = TcpHeader.MARKER_BYTES_SIZE + TcpHeader.MESSAGE_LENGTH_SIZE;
|
||||||
private static final long NINETY_PER_HEAP_SIZE = (long) (JvmInfo.jvmInfo().getMem().getHeapMax().getBytes() * 0.9);
|
private static final long NINETY_PER_HEAP_SIZE = (long) (JvmInfo.jvmInfo().getMem().getHeapMax().getBytes() * 0.9);
|
||||||
private static final BytesReference EMPTY_BYTES_REFERENCE = new BytesArray(new byte[0]);
|
private static final BytesReference EMPTY_BYTES_REFERENCE = new BytesArray(new byte[0]);
|
||||||
|
|
||||||
public static final String FEATURE_PREFIX = "transport.features";
|
|
||||||
public static final Setting<Settings> DEFAULT_FEATURES_SETTING = Setting.groupSetting(FEATURE_PREFIX + ".", Setting.Property.NodeScope);
|
|
||||||
private final String[] features;
|
private final String[] features;
|
||||||
|
|
||||||
protected final Settings settings;
|
protected final Settings settings;
|
||||||
@ -220,7 +166,7 @@ public abstract class TcpTransport extends AbstractLifecycleComponent implements
|
|||||||
this.pageCacheRecycler = pageCacheRecycler;
|
this.pageCacheRecycler = pageCacheRecycler;
|
||||||
this.circuitBreakerService = circuitBreakerService;
|
this.circuitBreakerService = circuitBreakerService;
|
||||||
this.namedWriteableRegistry = namedWriteableRegistry;
|
this.namedWriteableRegistry = namedWriteableRegistry;
|
||||||
this.compressAllResponses = Transport.TRANSPORT_TCP_COMPRESS.get(settings);
|
this.compressAllResponses = TransportSettings.TRANSPORT_COMPRESS.get(settings);
|
||||||
this.networkService = networkService;
|
this.networkService = networkService;
|
||||||
this.transportName = transportName;
|
this.transportName = transportName;
|
||||||
this.transportLogger = new TransportLogger();
|
this.transportLogger = new TransportLogger();
|
||||||
@ -233,7 +179,7 @@ public abstract class TcpTransport extends AbstractLifecycleComponent implements
|
|||||||
this.keepAlive = new TransportKeepAlive(threadPool, this::internalSendMessage);
|
this.keepAlive = new TransportKeepAlive(threadPool, this::internalSendMessage);
|
||||||
this.nodeName = Node.NODE_NAME_SETTING.get(settings);
|
this.nodeName = Node.NODE_NAME_SETTING.get(settings);
|
||||||
|
|
||||||
final Settings defaultFeatures = DEFAULT_FEATURES_SETTING.get(settings);
|
final Settings defaultFeatures = TransportSettings.DEFAULT_FEATURES_SETTING.get(settings);
|
||||||
if (defaultFeatures == null) {
|
if (defaultFeatures == null) {
|
||||||
this.features = new String[0];
|
this.features = new String[0];
|
||||||
} else {
|
} else {
|
||||||
@ -500,7 +446,7 @@ public abstract class TcpTransport extends AbstractLifecycleComponent implements
|
|||||||
publishHosts = Arrays.asList(boundAddressesHostStrings);
|
publishHosts = Arrays.asList(boundAddressesHostStrings);
|
||||||
}
|
}
|
||||||
if (publishHosts.isEmpty()) {
|
if (publishHosts.isEmpty()) {
|
||||||
publishHosts = NetworkService.GLOBAL_NETWORK_PUBLISHHOST_SETTING.get(settings);
|
publishHosts = NetworkService.GLOBAL_NETWORK_PUBLISH_HOST_SETTING.get(settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
final InetAddress publishInetAddress;
|
final InetAddress publishInetAddress;
|
||||||
@ -546,15 +492,15 @@ public abstract class TcpTransport extends AbstractLifecycleComponent implements
|
|||||||
String profileExplanation = profileSettings.isDefaultProfile ? "" : " for profile " + profileSettings.profileName;
|
String profileExplanation = profileSettings.isDefaultProfile ? "" : " for profile " + profileSettings.profileName;
|
||||||
throw new BindTransportException("Failed to auto-resolve publish port" + profileExplanation + ", multiple bound addresses " +
|
throw new BindTransportException("Failed to auto-resolve publish port" + profileExplanation + ", multiple bound addresses " +
|
||||||
boundAddresses + " with distinct ports and none of them matched the publish address (" + publishInetAddress + "). " +
|
boundAddresses + " with distinct ports and none of them matched the publish address (" + publishInetAddress + "). " +
|
||||||
"Please specify a unique port by setting " + PORT.getKey() + " or " +
|
"Please specify a unique port by setting " + TransportSettings.PORT.getKey() + " or " +
|
||||||
PUBLISH_PORT.getKey());
|
TransportSettings.PUBLISH_PORT.getKey());
|
||||||
}
|
}
|
||||||
return publishPort;
|
return publishPort;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TransportAddress[] addressesFromString(String address, int perAddressLimit) throws UnknownHostException {
|
public TransportAddress[] addressesFromString(String address, int perAddressLimit) throws UnknownHostException {
|
||||||
return parse(address, settings.get("transport.profiles.default.port", PORT.get(settings)), perAddressLimit);
|
return parse(address, settings.get("transport.profiles.default.port", TransportSettings.PORT.get(settings)), perAddressLimit);
|
||||||
}
|
}
|
||||||
|
|
||||||
// this code is a take on guava's HostAndPort, like a HostAndPortRange
|
// this code is a take on guava's HostAndPort, like a HostAndPortRange
|
||||||
@ -1463,12 +1409,12 @@ public abstract class TcpTransport extends AbstractLifecycleComponent implements
|
|||||||
boolean isDefaultSet = false;
|
boolean isDefaultSet = false;
|
||||||
for (String profile : settings.getGroups("transport.profiles.", true).keySet()) {
|
for (String profile : settings.getGroups("transport.profiles.", true).keySet()) {
|
||||||
profiles.add(new ProfileSettings(settings, profile));
|
profiles.add(new ProfileSettings(settings, profile));
|
||||||
if (DEFAULT_PROFILE.equals(profile)) {
|
if (TransportSettings.DEFAULT_PROFILE.equals(profile)) {
|
||||||
isDefaultSet = true;
|
isDefaultSet = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isDefaultSet == false) {
|
if (isDefaultSet == false) {
|
||||||
profiles.add(new ProfileSettings(settings, DEFAULT_PROFILE));
|
profiles.add(new ProfileSettings(settings, TransportSettings.DEFAULT_PROFILE));
|
||||||
}
|
}
|
||||||
return Collections.unmodifiableSet(profiles);
|
return Collections.unmodifiableSet(profiles);
|
||||||
}
|
}
|
||||||
@ -1491,23 +1437,22 @@ public abstract class TcpTransport extends AbstractLifecycleComponent implements
|
|||||||
|
|
||||||
public ProfileSettings(Settings settings, String profileName) {
|
public ProfileSettings(Settings settings, String profileName) {
|
||||||
this.profileName = profileName;
|
this.profileName = profileName;
|
||||||
isDefaultProfile = DEFAULT_PROFILE.equals(profileName);
|
isDefaultProfile = TransportSettings.DEFAULT_PROFILE.equals(profileName);
|
||||||
tcpKeepAlive = TCP_KEEP_ALIVE_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
tcpKeepAlive = TransportSettings.TCP_KEEP_ALIVE_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
||||||
tcpNoDelay = TCP_NO_DELAY_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
tcpNoDelay = TransportSettings.TCP_NO_DELAY_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
||||||
reuseAddress = TCP_REUSE_ADDRESS_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
reuseAddress = TransportSettings.TCP_REUSE_ADDRESS_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
||||||
sendBufferSize = TCP_SEND_BUFFER_SIZE_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
sendBufferSize = TransportSettings.TCP_SEND_BUFFER_SIZE_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
||||||
receiveBufferSize = TCP_RECEIVE_BUFFER_SIZE_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
receiveBufferSize = TransportSettings.TCP_RECEIVE_BUFFER_SIZE_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
||||||
List<String> profileBindHosts = BIND_HOST_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
List<String> profileBindHosts = TransportSettings.BIND_HOST_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
||||||
bindHosts = (profileBindHosts.isEmpty() ? NetworkService.GLOBAL_NETWORK_BINDHOST_SETTING.get(settings)
|
bindHosts = (profileBindHosts.isEmpty() ? NetworkService.GLOBAL_NETWORK_BIND_HOST_SETTING.get(settings) : profileBindHosts);
|
||||||
: profileBindHosts);
|
publishHosts = TransportSettings.PUBLISH_HOST_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
||||||
publishHosts = PUBLISH_HOST_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
Setting<String> concretePort = TransportSettings.PORT_PROFILE.getConcreteSettingForNamespace(profileName);
|
||||||
Setting<String> concretePort = PORT_PROFILE.getConcreteSettingForNamespace(profileName);
|
|
||||||
if (concretePort.exists(settings) == false && isDefaultProfile == false) {
|
if (concretePort.exists(settings) == false && isDefaultProfile == false) {
|
||||||
throw new IllegalStateException("profile [" + profileName + "] has no port configured");
|
throw new IllegalStateException("profile [" + profileName + "] has no port configured");
|
||||||
}
|
}
|
||||||
portOrRange = PORT_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
portOrRange = TransportSettings.PORT_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
||||||
publishPort = isDefaultProfile ? PUBLISH_PORT.get(settings) :
|
publishPort = isDefaultProfile ? TransportSettings.PUBLISH_PORT.get(settings) :
|
||||||
PUBLISH_PORT_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
TransportSettings.PUBLISH_PORT_PROFILE.getConcreteSettingForNamespace(profileName).get(settings);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,8 +26,6 @@ import org.elasticsearch.common.breaker.CircuitBreaker;
|
|||||||
import org.elasticsearch.common.breaker.NoopCircuitBreaker;
|
import org.elasticsearch.common.breaker.NoopCircuitBreaker;
|
||||||
import org.elasticsearch.common.component.LifecycleComponent;
|
import org.elasticsearch.common.component.LifecycleComponent;
|
||||||
import org.elasticsearch.common.lease.Releasable;
|
import org.elasticsearch.common.lease.Releasable;
|
||||||
import org.elasticsearch.common.settings.Setting;
|
|
||||||
import org.elasticsearch.common.settings.Setting.Property;
|
|
||||||
import org.elasticsearch.common.transport.BoundTransportAddress;
|
import org.elasticsearch.common.transport.BoundTransportAddress;
|
||||||
import org.elasticsearch.common.transport.TransportAddress;
|
import org.elasticsearch.common.transport.TransportAddress;
|
||||||
import org.elasticsearch.common.util.concurrent.ConcurrentCollections;
|
import org.elasticsearch.common.util.concurrent.ConcurrentCollections;
|
||||||
@ -44,8 +42,6 @@ import java.util.function.Predicate;
|
|||||||
|
|
||||||
public interface Transport extends LifecycleComponent {
|
public interface Transport extends LifecycleComponent {
|
||||||
|
|
||||||
Setting<Boolean> TRANSPORT_TCP_COMPRESS = Setting.boolSetting("transport.tcp.compress", false, Property.NodeScope);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a new request handler
|
* Registers a new request handler
|
||||||
*/
|
*/
|
||||||
|
@ -24,7 +24,6 @@ import org.apache.logging.log4j.Logger;
|
|||||||
import org.apache.logging.log4j.message.ParameterizedMessage;
|
import org.apache.logging.log4j.message.ParameterizedMessage;
|
||||||
import org.elasticsearch.Version;
|
import org.elasticsearch.Version;
|
||||||
import org.elasticsearch.action.ActionListener;
|
import org.elasticsearch.action.ActionListener;
|
||||||
import org.elasticsearch.action.admin.cluster.node.liveness.TransportLivenessAction;
|
|
||||||
import org.elasticsearch.client.Client;
|
import org.elasticsearch.client.Client;
|
||||||
import org.elasticsearch.client.transport.TransportClient;
|
import org.elasticsearch.client.transport.TransportClient;
|
||||||
import org.elasticsearch.cluster.ClusterName;
|
import org.elasticsearch.cluster.ClusterName;
|
||||||
@ -38,15 +37,11 @@ import org.elasticsearch.common.io.stream.StreamOutput;
|
|||||||
import org.elasticsearch.common.io.stream.Streamable;
|
import org.elasticsearch.common.io.stream.Streamable;
|
||||||
import org.elasticsearch.common.io.stream.Writeable;
|
import org.elasticsearch.common.io.stream.Writeable;
|
||||||
import org.elasticsearch.common.logging.Loggers;
|
import org.elasticsearch.common.logging.Loggers;
|
||||||
import org.elasticsearch.common.network.NetworkService;
|
|
||||||
import org.elasticsearch.common.regex.Regex;
|
import org.elasticsearch.common.regex.Regex;
|
||||||
import org.elasticsearch.common.settings.ClusterSettings;
|
import org.elasticsearch.common.settings.ClusterSettings;
|
||||||
import org.elasticsearch.common.settings.Setting;
|
|
||||||
import org.elasticsearch.common.settings.Setting.Property;
|
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.common.transport.BoundTransportAddress;
|
import org.elasticsearch.common.transport.BoundTransportAddress;
|
||||||
import org.elasticsearch.common.transport.TransportAddress;
|
import org.elasticsearch.common.transport.TransportAddress;
|
||||||
import org.elasticsearch.common.unit.TimeValue;
|
|
||||||
import org.elasticsearch.common.util.concurrent.AbstractRunnable;
|
import org.elasticsearch.common.util.concurrent.AbstractRunnable;
|
||||||
import org.elasticsearch.common.util.concurrent.EsRejectedExecutionException;
|
import org.elasticsearch.common.util.concurrent.EsRejectedExecutionException;
|
||||||
import org.elasticsearch.common.util.concurrent.FutureUtils;
|
import org.elasticsearch.common.util.concurrent.FutureUtils;
|
||||||
@ -75,26 +70,9 @@ import java.util.function.Function;
|
|||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
import static java.util.Collections.emptyList;
|
|
||||||
import static org.elasticsearch.common.settings.Setting.intSetting;
|
|
||||||
import static org.elasticsearch.common.settings.Setting.listSetting;
|
|
||||||
import static org.elasticsearch.common.settings.Setting.timeSetting;
|
|
||||||
|
|
||||||
public class TransportService extends AbstractLifecycleComponent implements TransportMessageListener, TransportConnectionListener {
|
public class TransportService extends AbstractLifecycleComponent implements TransportMessageListener, TransportConnectionListener {
|
||||||
private static final Logger logger = LogManager.getLogger(TransportService.class);
|
private static final Logger logger = LogManager.getLogger(TransportService.class);
|
||||||
|
|
||||||
public static final Setting<Integer> CONNECTIONS_PER_NODE_RECOVERY =
|
|
||||||
intSetting("transport.connections_per_node.recovery", 2, 1, Setting.Property.NodeScope);
|
|
||||||
public static final Setting<Integer> CONNECTIONS_PER_NODE_BULK =
|
|
||||||
intSetting("transport.connections_per_node.bulk", 3, 1, Setting.Property.NodeScope);
|
|
||||||
public static final Setting<Integer> CONNECTIONS_PER_NODE_REG =
|
|
||||||
intSetting("transport.connections_per_node.reg", 6, 1, Setting.Property.NodeScope);
|
|
||||||
public static final Setting<Integer> CONNECTIONS_PER_NODE_STATE =
|
|
||||||
intSetting("transport.connections_per_node.state", 1, 1, Setting.Property.NodeScope);
|
|
||||||
public static final Setting<Integer> CONNECTIONS_PER_NODE_PING =
|
|
||||||
intSetting("transport.connections_per_node.ping", 1, 1, Setting.Property.NodeScope);
|
|
||||||
public static final Setting<TimeValue> TCP_CONNECT_TIMEOUT =
|
|
||||||
timeSetting("transport.tcp.connect_timeout", NetworkService.TCP_CONNECT_TIMEOUT, Setting.Property.NodeScope);
|
|
||||||
public static final String DIRECT_RESPONSE_PROFILE = ".direct";
|
public static final String DIRECT_RESPONSE_PROFILE = ".direct";
|
||||||
public static final String HANDSHAKE_ACTION_NAME = "internal:transport/handshake";
|
public static final String HANDSHAKE_ACTION_NAME = "internal:transport/handshake";
|
||||||
|
|
||||||
@ -124,13 +102,6 @@ public class TransportService extends AbstractLifecycleComponent implements Tran
|
|||||||
|
|
||||||
// tracer log
|
// tracer log
|
||||||
|
|
||||||
public static final Setting<List<String>> TRACE_LOG_INCLUDE_SETTING =
|
|
||||||
listSetting("transport.tracer.include", emptyList(), Function.identity(), Property.Dynamic, Property.NodeScope);
|
|
||||||
public static final Setting<List<String>> TRACE_LOG_EXCLUDE_SETTING =
|
|
||||||
listSetting("transport.tracer.exclude",
|
|
||||||
Arrays.asList("internal:discovery/zen/fd*", "internal:coordination/fault_detection/*", TransportLivenessAction.NAME),
|
|
||||||
Function.identity(), Property.Dynamic, Property.NodeScope);
|
|
||||||
|
|
||||||
private final Logger tracerLog;
|
private final Logger tracerLog;
|
||||||
|
|
||||||
volatile String[] tracerLogInclude;
|
volatile String[] tracerLogInclude;
|
||||||
@ -172,7 +143,7 @@ public class TransportService extends AbstractLifecycleComponent implements Tran
|
|||||||
* Build the service.
|
* Build the service.
|
||||||
*
|
*
|
||||||
* @param clusterSettings if non null, the {@linkplain TransportService} will register with the {@link ClusterSettings} for settings
|
* @param clusterSettings if non null, the {@linkplain TransportService} will register with the {@link ClusterSettings} for settings
|
||||||
* updates for {@link #TRACE_LOG_EXCLUDE_SETTING} and {@link #TRACE_LOG_INCLUDE_SETTING}.
|
* * updates for {@link TransportSettings#TRACE_LOG_EXCLUDE_SETTING} and {@link TransportSettings#TRACE_LOG_INCLUDE_SETTING}.
|
||||||
*/
|
*/
|
||||||
public TransportService(Settings settings, Transport transport, ThreadPool threadPool, TransportInterceptor transportInterceptor,
|
public TransportService(Settings settings, Transport transport, ThreadPool threadPool, TransportInterceptor transportInterceptor,
|
||||||
Function<BoundTransportAddress, DiscoveryNode> localNodeFactory, @Nullable ClusterSettings clusterSettings,
|
Function<BoundTransportAddress, DiscoveryNode> localNodeFactory, @Nullable ClusterSettings clusterSettings,
|
||||||
@ -193,8 +164,8 @@ public class TransportService extends AbstractLifecycleComponent implements Tran
|
|||||||
this.localNodeFactory = localNodeFactory;
|
this.localNodeFactory = localNodeFactory;
|
||||||
this.connectionManager = connectionManager;
|
this.connectionManager = connectionManager;
|
||||||
this.clusterName = ClusterName.CLUSTER_NAME_SETTING.get(settings);
|
this.clusterName = ClusterName.CLUSTER_NAME_SETTING.get(settings);
|
||||||
setTracerLogInclude(TRACE_LOG_INCLUDE_SETTING.get(settings));
|
setTracerLogInclude(TransportSettings.TRACE_LOG_INCLUDE_SETTING.get(settings));
|
||||||
setTracerLogExclude(TRACE_LOG_EXCLUDE_SETTING.get(settings));
|
setTracerLogExclude(TransportSettings.TRACE_LOG_EXCLUDE_SETTING.get(settings));
|
||||||
tracerLog = Loggers.getLogger(logger, ".tracer");
|
tracerLog = Loggers.getLogger(logger, ".tracer");
|
||||||
taskManager = createTaskManager(settings, threadPool, taskHeaders);
|
taskManager = createTaskManager(settings, threadPool, taskHeaders);
|
||||||
this.interceptor = transportInterceptor;
|
this.interceptor = transportInterceptor;
|
||||||
@ -203,8 +174,8 @@ public class TransportService extends AbstractLifecycleComponent implements Tran
|
|||||||
remoteClusterService = new RemoteClusterService(settings, this);
|
remoteClusterService = new RemoteClusterService(settings, this);
|
||||||
responseHandlers = transport.getResponseHandlers();
|
responseHandlers = transport.getResponseHandlers();
|
||||||
if (clusterSettings != null) {
|
if (clusterSettings != null) {
|
||||||
clusterSettings.addSettingsUpdateConsumer(TRACE_LOG_INCLUDE_SETTING, this::setTracerLogInclude);
|
clusterSettings.addSettingsUpdateConsumer(TransportSettings.TRACE_LOG_INCLUDE_SETTING, this::setTracerLogInclude);
|
||||||
clusterSettings.addSettingsUpdateConsumer(TRACE_LOG_EXCLUDE_SETTING, this::setTracerLogExclude);
|
clusterSettings.addSettingsUpdateConsumer(TransportSettings.TRACE_LOG_EXCLUDE_SETTING, this::setTracerLogExclude);
|
||||||
if (connectToRemoteCluster) {
|
if (connectToRemoteCluster) {
|
||||||
remoteClusterService.listenForUpdates(clusterSettings);
|
remoteClusterService.listenForUpdates(clusterSettings);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,167 @@
|
|||||||
|
/*
|
||||||
|
* Licensed to Elasticsearch under one or more contributor
|
||||||
|
* license agreements. See the NOTICE file distributed with
|
||||||
|
* this work for additional information regarding copyright
|
||||||
|
* ownership. Elasticsearch licenses this file to you under
|
||||||
|
* the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
package org.elasticsearch.transport;
|
||||||
|
|
||||||
|
import org.elasticsearch.action.admin.cluster.node.liveness.TransportLivenessAction;
|
||||||
|
import org.elasticsearch.common.network.NetworkService;
|
||||||
|
import org.elasticsearch.common.settings.Setting;
|
||||||
|
import org.elasticsearch.common.settings.Settings;
|
||||||
|
import org.elasticsearch.common.unit.ByteSizeValue;
|
||||||
|
import org.elasticsearch.common.unit.TimeValue;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
import static java.util.Collections.emptyList;
|
||||||
|
import static org.elasticsearch.common.settings.Setting.affixKeySetting;
|
||||||
|
import static org.elasticsearch.common.settings.Setting.boolSetting;
|
||||||
|
import static org.elasticsearch.common.settings.Setting.intSetting;
|
||||||
|
import static org.elasticsearch.common.settings.Setting.listSetting;
|
||||||
|
import static org.elasticsearch.common.settings.Setting.timeSetting;
|
||||||
|
|
||||||
|
public final class TransportSettings {
|
||||||
|
|
||||||
|
public static final String DEFAULT_PROFILE = "default";
|
||||||
|
public static final String FEATURE_PREFIX = "transport.features";
|
||||||
|
|
||||||
|
public static final Setting<List<String>> HOST =
|
||||||
|
listSetting("transport.host", emptyList(), Function.identity(), Setting.Property.NodeScope);
|
||||||
|
public static final Setting<List<String>> PUBLISH_HOST =
|
||||||
|
listSetting("transport.publish_host", HOST, Function.identity(), Setting.Property.NodeScope);
|
||||||
|
public static final Setting.AffixSetting<List<String>> PUBLISH_HOST_PROFILE =
|
||||||
|
affixKeySetting("transport.profiles.", "publish_host", key -> listSetting(key, PUBLISH_HOST, Function.identity(),
|
||||||
|
Setting.Property.NodeScope));
|
||||||
|
public static final Setting<List<String>> BIND_HOST =
|
||||||
|
listSetting("transport.bind_host", HOST, Function.identity(), Setting.Property.NodeScope);
|
||||||
|
public static final Setting.AffixSetting<List<String>> BIND_HOST_PROFILE = affixKeySetting("transport.profiles.", "bind_host",
|
||||||
|
key -> listSetting(key, BIND_HOST, Function.identity(), Setting.Property.NodeScope));
|
||||||
|
// TODO: Deprecate in 7.0
|
||||||
|
public static final Setting<String> OLD_PORT =
|
||||||
|
new Setting<>("transport.tcp.port", "9300-9400", Function.identity(), Setting.Property.NodeScope);
|
||||||
|
public static final Setting<String> PORT =
|
||||||
|
new Setting<>("transport.port", OLD_PORT, Function.identity(), Setting.Property.NodeScope);
|
||||||
|
public static final Setting.AffixSetting<String> PORT_PROFILE = affixKeySetting("transport.profiles.", "port",
|
||||||
|
key -> new Setting<>(key, PORT, Function.identity(), Setting.Property.NodeScope));
|
||||||
|
public static final Setting<Integer> PUBLISH_PORT =
|
||||||
|
intSetting("transport.publish_port", -1, -1, Setting.Property.NodeScope);
|
||||||
|
public static final Setting.AffixSetting<Integer> PUBLISH_PORT_PROFILE = affixKeySetting("transport.profiles.", "publish_port",
|
||||||
|
key -> intSetting(key, -1, -1, Setting.Property.NodeScope));
|
||||||
|
// TODO: Deprecate in 7.0
|
||||||
|
public static final Setting<Boolean> OLD_TRANSPORT_COMPRESS =
|
||||||
|
boolSetting("transport.tcp.compress", false, Setting.Property.NodeScope);
|
||||||
|
public static final Setting<Boolean> TRANSPORT_COMPRESS =
|
||||||
|
boolSetting("transport.compress", OLD_TRANSPORT_COMPRESS, Setting.Property.NodeScope);
|
||||||
|
// the scheduled internal ping interval setting, defaults to disabled (-1)
|
||||||
|
public static final Setting<TimeValue> PING_SCHEDULE =
|
||||||
|
timeSetting("transport.ping_schedule", TimeValue.timeValueSeconds(-1), Setting.Property.NodeScope);
|
||||||
|
public static final Setting<TimeValue> TCP_CONNECT_TIMEOUT =
|
||||||
|
timeSetting("transport.tcp.connect_timeout", NetworkService.TCP_CONNECT_TIMEOUT, Setting.Property.NodeScope);
|
||||||
|
public static final Setting<TimeValue> CONNECT_TIMEOUT =
|
||||||
|
timeSetting("transport.connect_timeout", TCP_CONNECT_TIMEOUT, Setting.Property.NodeScope);
|
||||||
|
public static final Setting<Settings> DEFAULT_FEATURES_SETTING = Setting.groupSetting(FEATURE_PREFIX + ".", Setting.Property.NodeScope);
|
||||||
|
|
||||||
|
// Tcp socket settings
|
||||||
|
|
||||||
|
// TODO: Deprecate in 7.0
|
||||||
|
public static final Setting<Boolean> OLD_TCP_NO_DELAY =
|
||||||
|
boolSetting("transport.tcp_no_delay", NetworkService.TCP_NO_DELAY, Setting.Property.NodeScope);
|
||||||
|
public static final Setting<Boolean> TCP_NO_DELAY =
|
||||||
|
boolSetting("transport.tcp.no_delay", OLD_TCP_NO_DELAY, Setting.Property.NodeScope);
|
||||||
|
// TODO: Deprecate in 7.0
|
||||||
|
public static final Setting.AffixSetting<Boolean> OLD_TCP_NO_DELAY_PROFILE =
|
||||||
|
affixKeySetting("transport.profiles.", "tcp_no_delay", key -> boolSetting(key, TCP_NO_DELAY, Setting.Property.NodeScope));
|
||||||
|
public static final Setting.AffixSetting<Boolean> TCP_NO_DELAY_PROFILE =
|
||||||
|
affixKeySetting("transport.profiles.", "tcp.no_delay",
|
||||||
|
key -> boolSetting(key,
|
||||||
|
fallback(key, OLD_TCP_NO_DELAY_PROFILE, "tcp\\.no_delay$", "tcp_no_delay"),
|
||||||
|
Setting.Property.NodeScope));
|
||||||
|
public static final Setting<Boolean> TCP_KEEP_ALIVE =
|
||||||
|
boolSetting("transport.tcp.keep_alive", NetworkService.TCP_KEEP_ALIVE, Setting.Property.NodeScope);
|
||||||
|
// TODO: Deprecate in 7.0
|
||||||
|
public static final Setting.AffixSetting<Boolean> OLD_TCP_KEEP_ALIVE_PROFILE =
|
||||||
|
affixKeySetting("transport.profiles.", "tcp_keep_alive", key -> boolSetting(key, TCP_KEEP_ALIVE, Setting.Property.NodeScope));
|
||||||
|
public static final Setting.AffixSetting<Boolean> TCP_KEEP_ALIVE_PROFILE =
|
||||||
|
affixKeySetting("transport.profiles.", "tcp.keep_alive",
|
||||||
|
key -> boolSetting(key,
|
||||||
|
fallback(key, OLD_TCP_KEEP_ALIVE_PROFILE, "tcp\\.keep_alive$", "tcp_keep_alive"),
|
||||||
|
Setting.Property.NodeScope));
|
||||||
|
public static final Setting<Boolean> TCP_REUSE_ADDRESS =
|
||||||
|
boolSetting("transport.tcp.reuse_address", NetworkService.TCP_REUSE_ADDRESS, Setting.Property.NodeScope);
|
||||||
|
// TODO: Deprecate in 7.0
|
||||||
|
public static final Setting.AffixSetting<Boolean> OLD_TCP_REUSE_ADDRESS_PROFILE =
|
||||||
|
affixKeySetting("transport.profiles.", "reuse_address", key -> boolSetting(key, TCP_REUSE_ADDRESS, Setting.Property.NodeScope));
|
||||||
|
public static final Setting.AffixSetting<Boolean> TCP_REUSE_ADDRESS_PROFILE =
|
||||||
|
affixKeySetting("transport.profiles.", "tcp.reuse_address",
|
||||||
|
key -> boolSetting(key,
|
||||||
|
fallback(key, OLD_TCP_REUSE_ADDRESS_PROFILE, "tcp\\.reuse_address$", "reuse_address"),
|
||||||
|
Setting.Property.NodeScope));
|
||||||
|
public static final Setting<ByteSizeValue> TCP_SEND_BUFFER_SIZE =
|
||||||
|
Setting.byteSizeSetting("transport.tcp.send_buffer_size", NetworkService.TCP_SEND_BUFFER_SIZE, Setting.Property.NodeScope);
|
||||||
|
// TODO: Deprecate in 7.0
|
||||||
|
public static final Setting.AffixSetting<ByteSizeValue> OLD_TCP_SEND_BUFFER_SIZE_PROFILE =
|
||||||
|
affixKeySetting("transport.profiles.", "send_buffer_size",
|
||||||
|
key -> Setting.byteSizeSetting(key, TCP_SEND_BUFFER_SIZE, Setting.Property.NodeScope));
|
||||||
|
public static final Setting.AffixSetting<ByteSizeValue> TCP_SEND_BUFFER_SIZE_PROFILE =
|
||||||
|
affixKeySetting("transport.profiles.", "tcp.send_buffer_size",
|
||||||
|
key -> Setting.byteSizeSetting(key,
|
||||||
|
fallback(key, OLD_TCP_SEND_BUFFER_SIZE_PROFILE, "tcp\\.send_buffer_size$", "send_buffer_size"),
|
||||||
|
Setting.Property.NodeScope));
|
||||||
|
public static final Setting<ByteSizeValue> TCP_RECEIVE_BUFFER_SIZE =
|
||||||
|
Setting.byteSizeSetting("transport.tcp.receive_buffer_size", NetworkService.TCP_RECEIVE_BUFFER_SIZE, Setting.Property.NodeScope);
|
||||||
|
// TODO: Deprecate in 7.0
|
||||||
|
public static final Setting.AffixSetting<ByteSizeValue> OLD_TCP_RECEIVE_BUFFER_SIZE_PROFILE =
|
||||||
|
affixKeySetting("transport.profiles.", "receive_buffer_size",
|
||||||
|
key -> Setting.byteSizeSetting(key, TCP_RECEIVE_BUFFER_SIZE, Setting.Property.NodeScope));
|
||||||
|
public static final Setting.AffixSetting<ByteSizeValue> TCP_RECEIVE_BUFFER_SIZE_PROFILE =
|
||||||
|
affixKeySetting("transport.profiles.", "tcp.receive_buffer_size",
|
||||||
|
key -> Setting.byteSizeSetting(key,
|
||||||
|
fallback(key, OLD_TCP_RECEIVE_BUFFER_SIZE_PROFILE, "tcp\\.receive_buffer_size$", "receive_buffer_size"),
|
||||||
|
Setting.Property.NodeScope));
|
||||||
|
|
||||||
|
// Connections per node settings
|
||||||
|
|
||||||
|
public static final Setting<Integer> CONNECTIONS_PER_NODE_RECOVERY =
|
||||||
|
intSetting("transport.connections_per_node.recovery", 2, 1, Setting.Property.NodeScope);
|
||||||
|
public static final Setting<Integer> CONNECTIONS_PER_NODE_BULK =
|
||||||
|
intSetting("transport.connections_per_node.bulk", 3, 1, Setting.Property.NodeScope);
|
||||||
|
public static final Setting<Integer> CONNECTIONS_PER_NODE_REG =
|
||||||
|
intSetting("transport.connections_per_node.reg", 6, 1, Setting.Property.NodeScope);
|
||||||
|
public static final Setting<Integer> CONNECTIONS_PER_NODE_STATE =
|
||||||
|
intSetting("transport.connections_per_node.state", 1, 1, Setting.Property.NodeScope);
|
||||||
|
public static final Setting<Integer> CONNECTIONS_PER_NODE_PING =
|
||||||
|
intSetting("transport.connections_per_node.ping", 1, 1, Setting.Property.NodeScope);
|
||||||
|
|
||||||
|
// Tracer settings
|
||||||
|
|
||||||
|
public static final Setting<List<String>> TRACE_LOG_INCLUDE_SETTING =
|
||||||
|
listSetting("transport.tracer.include", emptyList(), Function.identity(), Setting.Property.Dynamic, Setting.Property.NodeScope);
|
||||||
|
public static final Setting<List<String>> TRACE_LOG_EXCLUDE_SETTING =
|
||||||
|
listSetting("transport.tracer.exclude",
|
||||||
|
Arrays.asList("internal:discovery/zen/fd*", "internal:coordination/fault_detection/*", TransportLivenessAction.NAME),
|
||||||
|
Function.identity(), Setting.Property.Dynamic, Setting.Property.NodeScope);
|
||||||
|
|
||||||
|
private TransportSettings() {
|
||||||
|
}
|
||||||
|
|
||||||
|
private static <T> Setting<T> fallback(String key, Setting.AffixSetting<T> affixSetting, String regex, String replacement) {
|
||||||
|
return "_na_".equals(key) ? affixSetting.getConcreteSettingForNamespace(key)
|
||||||
|
: affixSetting.getConcreteSetting(key.replaceAll(regex, replacement));
|
||||||
|
}
|
||||||
|
}
|
@ -31,7 +31,7 @@ import org.elasticsearch.env.Environment;
|
|||||||
import org.elasticsearch.plugins.Plugin;
|
import org.elasticsearch.plugins.Plugin;
|
||||||
import org.elasticsearch.test.ESTestCase;
|
import org.elasticsearch.test.ESTestCase;
|
||||||
import org.elasticsearch.transport.MockTransportClient;
|
import org.elasticsearch.transport.MockTransportClient;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -72,7 +72,7 @@ public class TransportClientTests extends ESTestCase {
|
|||||||
.put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
|
.put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
|
||||||
.build();
|
.build();
|
||||||
try (TransportClient client = new MockTransportClient(baseSettings, Arrays.asList(MockPlugin.class))) {
|
try (TransportClient client = new MockTransportClient(baseSettings, Arrays.asList(MockPlugin.class))) {
|
||||||
final Settings settings = TcpTransport.DEFAULT_FEATURES_SETTING.get(client.settings());
|
final Settings settings = TransportSettings.DEFAULT_FEATURES_SETTING.get(client.settings());
|
||||||
assertThat(settings.keySet(), hasItem("transport_client"));
|
assertThat(settings.keySet(), hasItem("transport_client"));
|
||||||
assertThat(settings.get("transport_client"), equalTo("true"));
|
assertThat(settings.get("transport_client"), equalTo("true"));
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@ import org.elasticsearch.common.logging.Loggers;
|
|||||||
import org.elasticsearch.common.settings.Setting.Property;
|
import org.elasticsearch.common.settings.Setting.Property;
|
||||||
import org.elasticsearch.index.IndexModule;
|
import org.elasticsearch.index.IndexModule;
|
||||||
import org.elasticsearch.test.ESTestCase;
|
import org.elasticsearch.test.ESTestCase;
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -614,7 +614,7 @@ public class ScopedSettingsTests extends ESTestCase {
|
|||||||
|
|
||||||
// array settings - complex matcher
|
// array settings - complex matcher
|
||||||
assertNotNull(settings.get("transport.tracer.include." + randomIntBetween(1, 100)));
|
assertNotNull(settings.get("transport.tracer.include." + randomIntBetween(1, 100)));
|
||||||
assertSame(TransportService.TRACE_LOG_INCLUDE_SETTING, settings.get("transport.tracer.include." + randomIntBetween(1, 100)));
|
assertSame(TransportSettings.TRACE_LOG_INCLUDE_SETTING, settings.get("transport.tracer.include." + randomIntBetween(1, 100)));
|
||||||
|
|
||||||
// array settings - complex matcher - only accepts numbers
|
// array settings - complex matcher - only accepts numbers
|
||||||
assertNull(settings.get("transport.tracer.include.FOO"));
|
assertNull(settings.get("transport.tracer.include.FOO"));
|
||||||
@ -756,7 +756,7 @@ public class ScopedSettingsTests extends ESTestCase {
|
|||||||
public void testUpdateTracer() {
|
public void testUpdateTracer() {
|
||||||
ClusterSettings settings = new ClusterSettings(Settings.EMPTY, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS);
|
ClusterSettings settings = new ClusterSettings(Settings.EMPTY, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS);
|
||||||
AtomicReference<List<String>> ref = new AtomicReference<>();
|
AtomicReference<List<String>> ref = new AtomicReference<>();
|
||||||
settings.addSettingsUpdateConsumer(TransportService.TRACE_LOG_INCLUDE_SETTING, ref::set);
|
settings.addSettingsUpdateConsumer(TransportSettings.TRACE_LOG_INCLUDE_SETTING, ref::set);
|
||||||
settings.applySettings(Settings.builder()
|
settings.applySettings(Settings.builder()
|
||||||
.putList("transport.tracer.include", "internal:index/shard/recovery/*", "internal:gateway/local*").build());
|
.putList("transport.tracer.include", "internal:index/shard/recovery/*", "internal:gateway/local*").build());
|
||||||
assertNotNull(ref.get().size());
|
assertNotNull(ref.get().size());
|
||||||
|
@ -46,7 +46,7 @@ import org.elasticsearch.test.disruption.NetworkDisruption.TwoPartitions;
|
|||||||
import org.elasticsearch.test.disruption.ServiceDisruptionScheme;
|
import org.elasticsearch.test.disruption.ServiceDisruptionScheme;
|
||||||
import org.elasticsearch.test.disruption.SlowClusterStateProcessing;
|
import org.elasticsearch.test.disruption.SlowClusterStateProcessing;
|
||||||
import org.elasticsearch.test.transport.MockTransportService;
|
import org.elasticsearch.test.transport.MockTransportService;
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -142,7 +142,7 @@ public abstract class AbstractDisruptionTestCase extends ESIntegTestCase {
|
|||||||
.put(JoinHelper.JOIN_TIMEOUT_SETTING.getKey(), "10s") // still long to induce failures but to long so test won't time out
|
.put(JoinHelper.JOIN_TIMEOUT_SETTING.getKey(), "10s") // still long to induce failures but to long so test won't time out
|
||||||
.put(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey(), "1s") // <-- for hitting simulated network failures quickly
|
.put(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey(), "1s") // <-- for hitting simulated network failures quickly
|
||||||
.put(Coordinator.PUBLISH_TIMEOUT_SETTING.getKey(), "1s") // <-- for hitting simulated network failures quickly
|
.put(Coordinator.PUBLISH_TIMEOUT_SETTING.getKey(), "1s") // <-- for hitting simulated network failures quickly
|
||||||
.put(TransportService.TCP_CONNECT_TIMEOUT.getKey(), "10s") // Network delay disruption waits for the min between this
|
.put(TransportSettings.CONNECT_TIMEOUT.getKey(), "10s") // Network delay disruption waits for the min between this
|
||||||
// value and the time of disruption and does not recover immediately
|
// value and the time of disruption and does not recover immediately
|
||||||
// when disruption is stop. We should make sure we recover faster
|
// when disruption is stop. We should make sure we recover faster
|
||||||
// then the default of 30s, causing ensureGreen and friends to time out
|
// then the default of 30s, causing ensureGreen and friends to time out
|
||||||
|
@ -46,6 +46,7 @@ import org.elasticsearch.threadpool.ThreadPool;
|
|||||||
import org.elasticsearch.transport.TransportConnectionListener;
|
import org.elasticsearch.transport.TransportConnectionListener;
|
||||||
import org.elasticsearch.transport.TransportRequestOptions;
|
import org.elasticsearch.transport.TransportRequestOptions;
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportService;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.elasticsearch.transport.nio.MockNioTransport;
|
import org.elasticsearch.transport.nio.MockNioTransport;
|
||||||
import org.hamcrest.Matcher;
|
import org.hamcrest.Matcher;
|
||||||
import org.hamcrest.Matchers;
|
import org.hamcrest.Matchers;
|
||||||
@ -136,7 +137,7 @@ public class ZenFaultDetectionTests extends ESTestCase {
|
|||||||
Settings.builder()
|
Settings.builder()
|
||||||
.put(settings)
|
.put(settings)
|
||||||
// trace zenfd actions but keep the default otherwise
|
// trace zenfd actions but keep the default otherwise
|
||||||
.putList(TransportService.TRACE_LOG_EXCLUDE_SETTING.getKey(), TransportLivenessAction.NAME)
|
.putList(TransportSettings.TRACE_LOG_EXCLUDE_SETTING.getKey(), TransportLivenessAction.NAME)
|
||||||
.build(),
|
.build(),
|
||||||
new MockNioTransport(settings, version, threadPool, new NetworkService(Collections.emptyList()),
|
new MockNioTransport(settings, version, threadPool, new NetworkService(Collections.emptyList()),
|
||||||
PageCacheRecycler.NON_RECYCLING_INSTANCE, namedWriteableRegistry, circuitBreakerService),
|
PageCacheRecycler.NON_RECYCLING_INSTANCE, namedWriteableRegistry, circuitBreakerService),
|
||||||
|
@ -57,6 +57,7 @@ import org.elasticsearch.transport.TransportChannel;
|
|||||||
import org.elasticsearch.transport.TransportConnectionListener;
|
import org.elasticsearch.transport.TransportConnectionListener;
|
||||||
import org.elasticsearch.transport.TransportResponse;
|
import org.elasticsearch.transport.TransportResponse;
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportService;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
|
||||||
@ -182,8 +183,8 @@ public class PublishClusterStateActionTests extends ESTestCase {
|
|||||||
ThreadPool threadPool, Logger logger, Map<String, MockNode> nodes) throws Exception {
|
ThreadPool threadPool, Logger logger, Map<String, MockNode> nodes) throws Exception {
|
||||||
final Settings settings = Settings.builder()
|
final Settings settings = Settings.builder()
|
||||||
.put("name", name)
|
.put("name", name)
|
||||||
.put(TransportService.TRACE_LOG_INCLUDE_SETTING.getKey(), "").put(
|
.put(TransportSettings.TRACE_LOG_INCLUDE_SETTING.getKey(), "").put(
|
||||||
TransportService.TRACE_LOG_EXCLUDE_SETTING.getKey(), "NOTHING")
|
TransportSettings.TRACE_LOG_EXCLUDE_SETTING.getKey(), "NOTHING")
|
||||||
.put(basSettings)
|
.put(basSettings)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
@ -48,13 +48,13 @@ import org.elasticsearch.test.VersionUtils;
|
|||||||
import org.elasticsearch.test.transport.MockTransportService;
|
import org.elasticsearch.test.transport.MockTransportService;
|
||||||
import org.elasticsearch.threadpool.TestThreadPool;
|
import org.elasticsearch.threadpool.TestThreadPool;
|
||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
|
||||||
import org.elasticsearch.transport.Transport;
|
import org.elasticsearch.transport.Transport;
|
||||||
import org.elasticsearch.transport.TransportConnectionListener;
|
import org.elasticsearch.transport.TransportConnectionListener;
|
||||||
import org.elasticsearch.transport.TransportException;
|
import org.elasticsearch.transport.TransportException;
|
||||||
import org.elasticsearch.transport.TransportRequestOptions;
|
import org.elasticsearch.transport.TransportRequestOptions;
|
||||||
import org.elasticsearch.transport.TransportResponseHandler;
|
import org.elasticsearch.transport.TransportResponseHandler;
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportService;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.elasticsearch.transport.nio.MockNioTransport;
|
import org.elasticsearch.transport.nio.MockNioTransport;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@ -137,9 +137,9 @@ public class UnicastZenPingTests extends ESTestCase {
|
|||||||
|
|
||||||
public void testSimplePings() throws IOException, InterruptedException, ExecutionException {
|
public void testSimplePings() throws IOException, InterruptedException, ExecutionException {
|
||||||
// use ephemeral ports
|
// use ephemeral ports
|
||||||
final Settings settings = Settings.builder().put("cluster.name", "test").put(TcpTransport.PORT.getKey(), 0).build();
|
final Settings settings = Settings.builder().put("cluster.name", "test").put(TransportSettings.PORT.getKey(), 0).build();
|
||||||
final Settings settingsMismatch =
|
final Settings settingsMismatch =
|
||||||
Settings.builder().put(settings).put("cluster.name", "mismatch").put(TcpTransport.PORT.getKey(), 0).build();
|
Settings.builder().put(settings).put("cluster.name", "mismatch").put(TransportSettings.PORT.getKey(), 0).build();
|
||||||
|
|
||||||
NetworkService networkService = new NetworkService(Collections.emptyList());
|
NetworkService networkService = new NetworkService(Collections.emptyList());
|
||||||
|
|
||||||
@ -263,7 +263,7 @@ public class UnicastZenPingTests extends ESTestCase {
|
|||||||
|
|
||||||
public void testUnknownHostNotCached() throws ExecutionException, InterruptedException {
|
public void testUnknownHostNotCached() throws ExecutionException, InterruptedException {
|
||||||
// use ephemeral ports
|
// use ephemeral ports
|
||||||
final Settings settings = Settings.builder().put("cluster.name", "test").put(TcpTransport.PORT.getKey(), 0).build();
|
final Settings settings = Settings.builder().put("cluster.name", "test").put(TransportSettings.PORT.getKey(), 0).build();
|
||||||
|
|
||||||
final NetworkService networkService = new NetworkService(Collections.emptyList());
|
final NetworkService networkService = new NetworkService(Collections.emptyList());
|
||||||
|
|
||||||
@ -569,7 +569,7 @@ public class UnicastZenPingTests extends ESTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void testResolveReuseExistingNodeConnections() throws ExecutionException, InterruptedException {
|
public void testResolveReuseExistingNodeConnections() throws ExecutionException, InterruptedException {
|
||||||
final Settings settings = Settings.builder().put("cluster.name", "test").put(TcpTransport.PORT.getKey(), 0).build();
|
final Settings settings = Settings.builder().put("cluster.name", "test").put(TransportSettings.PORT.getKey(), 0).build();
|
||||||
|
|
||||||
NetworkService networkService = new NetworkService(Collections.emptyList());
|
NetworkService networkService = new NetworkService(Collections.emptyList());
|
||||||
|
|
||||||
@ -635,7 +635,7 @@ public class UnicastZenPingTests extends ESTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void testPingingTemporalPings() throws ExecutionException, InterruptedException {
|
public void testPingingTemporalPings() throws ExecutionException, InterruptedException {
|
||||||
final Settings settings = Settings.builder().put("cluster.name", "test").put(TcpTransport.PORT.getKey(), 0).build();
|
final Settings settings = Settings.builder().put("cluster.name", "test").put(TransportSettings.PORT.getKey(), 0).build();
|
||||||
|
|
||||||
NetworkService networkService = new NetworkService(Collections.emptyList());
|
NetworkService networkService = new NetworkService(Collections.emptyList());
|
||||||
|
|
||||||
@ -774,7 +774,7 @@ public class UnicastZenPingTests extends ESTestCase {
|
|||||||
final Set<Role> nodeRoles) {
|
final Set<Role> nodeRoles) {
|
||||||
final Settings nodeSettings = Settings.builder().put(settings)
|
final Settings nodeSettings = Settings.builder().put(settings)
|
||||||
.put("node.name", nodeId)
|
.put("node.name", nodeId)
|
||||||
.put(TransportService.TRACE_LOG_INCLUDE_SETTING.getKey(), "internal:discovery/zen/unicast")
|
.put(TransportSettings.TRACE_LOG_INCLUDE_SETTING.getKey(), "internal:discovery/zen/unicast")
|
||||||
.build();
|
.build();
|
||||||
final Transport transport = supplier.apply(nodeSettings, version);
|
final Transport transport = supplier.apply(nodeSettings, version);
|
||||||
final MockTransportService transportService =
|
final MockTransportService transportService =
|
||||||
|
@ -204,10 +204,10 @@ public class ConnectionProfileTests extends ESTestCase {
|
|||||||
assertEquals(1, profile.getNumConnectionsPerType(TransportRequestOptions.Type.STATE));
|
assertEquals(1, profile.getNumConnectionsPerType(TransportRequestOptions.Type.STATE));
|
||||||
assertEquals(2, profile.getNumConnectionsPerType(TransportRequestOptions.Type.RECOVERY));
|
assertEquals(2, profile.getNumConnectionsPerType(TransportRequestOptions.Type.RECOVERY));
|
||||||
assertEquals(3, profile.getNumConnectionsPerType(TransportRequestOptions.Type.BULK));
|
assertEquals(3, profile.getNumConnectionsPerType(TransportRequestOptions.Type.BULK));
|
||||||
assertEquals(TransportService.TCP_CONNECT_TIMEOUT.get(Settings.EMPTY), profile.getConnectTimeout());
|
assertEquals(TransportSettings.CONNECT_TIMEOUT.get(Settings.EMPTY), profile.getConnectTimeout());
|
||||||
assertEquals(TransportService.TCP_CONNECT_TIMEOUT.get(Settings.EMPTY), profile.getHandshakeTimeout());
|
assertEquals(TransportSettings.CONNECT_TIMEOUT.get(Settings.EMPTY), profile.getHandshakeTimeout());
|
||||||
assertEquals(Transport.TRANSPORT_TCP_COMPRESS.get(Settings.EMPTY), profile.getCompressionEnabled());
|
assertEquals(TransportSettings.TRANSPORT_COMPRESS.get(Settings.EMPTY), profile.getCompressionEnabled());
|
||||||
assertEquals(TcpTransport.PING_SCHEDULE.get(Settings.EMPTY), profile.getPingInterval());
|
assertEquals(TransportSettings.PING_SCHEDULE.get(Settings.EMPTY), profile.getPingInterval());
|
||||||
|
|
||||||
profile = ConnectionProfile.buildDefaultConnectionProfile(Settings.builder().put("node.master", false).build());
|
profile = ConnectionProfile.buildDefaultConnectionProfile(Settings.builder().put("node.master", false).build());
|
||||||
assertEquals(12, profile.getNumConnections());
|
assertEquals(12, profile.getNumConnections());
|
||||||
|
@ -46,13 +46,13 @@ public class PublishPortTests extends ESTestCase {
|
|||||||
Settings settings;
|
Settings settings;
|
||||||
if (useProfile) {
|
if (useProfile) {
|
||||||
baseSettings = Settings.builder().put("transport.profiles.some_profile.port", 0).build();
|
baseSettings = Settings.builder().put("transport.profiles.some_profile.port", 0).build();
|
||||||
settings = randomBoolean() ? Settings.EMPTY : Settings.builder().put(TcpTransport.PUBLISH_PORT.getKey(), 9081).build();
|
settings = randomBoolean() ? Settings.EMPTY : Settings.builder().put(TransportSettings.PUBLISH_PORT.getKey(), 9081).build();
|
||||||
settings = Settings.builder().put(settings).put(baseSettings).put("transport.profiles.some_profile.publish_port", 9080).build();
|
settings = Settings.builder().put(settings).put(baseSettings).put("transport.profiles.some_profile.publish_port", 9080).build();
|
||||||
profile = "some_profile";
|
profile = "some_profile";
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
baseSettings = Settings.EMPTY;
|
baseSettings = Settings.EMPTY;
|
||||||
settings = Settings.builder().put(TcpTransport.PUBLISH_PORT.getKey(), 9081).build();
|
settings = Settings.builder().put(TransportSettings.PUBLISH_PORT.getKey(), 9081).build();
|
||||||
settings = randomBoolean() ? settings :
|
settings = randomBoolean() ? settings :
|
||||||
Settings.builder().put(settings).put("transport.profiles.default.publish_port", 9080).build();
|
Settings.builder().put(settings).put("transport.profiles.default.publish_port", 9080).build();
|
||||||
profile = "default";
|
profile = "default";
|
||||||
|
@ -351,7 +351,7 @@ public class RemoteClusterServiceTests extends ESTestCase {
|
|||||||
settingsBuilder.putList("cluster.remote.cluster_1.seeds", seedNode.getAddress().toString());
|
settingsBuilder.putList("cluster.remote.cluster_1.seeds", seedNode.getAddress().toString());
|
||||||
if (randomBoolean()) {
|
if (randomBoolean()) {
|
||||||
pingSchedule = TimeValue.timeValueSeconds(randomIntBetween(1, 10));
|
pingSchedule = TimeValue.timeValueSeconds(randomIntBetween(1, 10));
|
||||||
settingsBuilder.put(TcpTransport.PING_SCHEDULE.getKey(), pingSchedule).build();
|
settingsBuilder.put(TransportSettings.PING_SCHEDULE.getKey(), pingSchedule).build();
|
||||||
} else {
|
} else {
|
||||||
pingSchedule = TimeValue.MINUS_ONE;
|
pingSchedule = TimeValue.MINUS_ONE;
|
||||||
}
|
}
|
||||||
@ -385,7 +385,7 @@ public class RemoteClusterServiceTests extends ESTestCase {
|
|||||||
Collections.shuffle(knownNodes, random());
|
Collections.shuffle(knownNodes, random());
|
||||||
Settings.Builder settingsBuilder = Settings.builder();
|
Settings.Builder settingsBuilder = Settings.builder();
|
||||||
if (randomBoolean()) {
|
if (randomBoolean()) {
|
||||||
settingsBuilder.put(TcpTransport.PING_SCHEDULE.getKey(), TimeValue.timeValueSeconds(randomIntBetween(1, 10)));
|
settingsBuilder.put(TransportSettings.PING_SCHEDULE.getKey(), TimeValue.timeValueSeconds(randomIntBetween(1, 10)));
|
||||||
}
|
}
|
||||||
Settings transportSettings = settingsBuilder.build();
|
Settings transportSettings = settingsBuilder.build();
|
||||||
|
|
||||||
|
@ -109,9 +109,8 @@ import org.elasticsearch.test.discovery.TestZenDiscovery;
|
|||||||
import org.elasticsearch.test.disruption.ServiceDisruptionScheme;
|
import org.elasticsearch.test.disruption.ServiceDisruptionScheme;
|
||||||
import org.elasticsearch.test.transport.MockTransportService;
|
import org.elasticsearch.test.transport.MockTransportService;
|
||||||
import org.elasticsearch.transport.MockTransportClient;
|
import org.elasticsearch.transport.MockTransportClient;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
|
||||||
import org.elasticsearch.transport.Transport;
|
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportService;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
|
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
@ -361,7 +360,7 @@ public final class InternalTestCluster extends TestCluster {
|
|||||||
builder.put(Environment.PATH_SHARED_DATA_SETTING.getKey(), baseDir.resolve("custom"));
|
builder.put(Environment.PATH_SHARED_DATA_SETTING.getKey(), baseDir.resolve("custom"));
|
||||||
builder.put(Environment.PATH_HOME_SETTING.getKey(), baseDir);
|
builder.put(Environment.PATH_HOME_SETTING.getKey(), baseDir);
|
||||||
builder.put(Environment.PATH_REPO_SETTING.getKey(), baseDir.resolve("repos"));
|
builder.put(Environment.PATH_REPO_SETTING.getKey(), baseDir.resolve("repos"));
|
||||||
builder.put(TcpTransport.PORT.getKey(), 0);
|
builder.put(TransportSettings.PORT.getKey(), 0);
|
||||||
builder.put("http.port", 0);
|
builder.put("http.port", 0);
|
||||||
if (Strings.hasLength(System.getProperty("tests.es.logger.level"))) {
|
if (Strings.hasLength(System.getProperty("tests.es.logger.level"))) {
|
||||||
builder.put("logger.level", System.getProperty("tests.es.logger.level"));
|
builder.put("logger.level", System.getProperty("tests.es.logger.level"));
|
||||||
@ -438,7 +437,7 @@ public final class InternalTestCluster extends TestCluster {
|
|||||||
private Settings getRandomNodeSettings(long seed) {
|
private Settings getRandomNodeSettings(long seed) {
|
||||||
Random random = new Random(seed);
|
Random random = new Random(seed);
|
||||||
Builder builder = Settings.builder();
|
Builder builder = Settings.builder();
|
||||||
builder.put(Transport.TRANSPORT_TCP_COMPRESS.getKey(), rarely(random));
|
builder.put(TransportSettings.TRANSPORT_COMPRESS.getKey(), rarely(random));
|
||||||
if (random.nextBoolean()) {
|
if (random.nextBoolean()) {
|
||||||
builder.put("cache.recycler.page.type", RandomPicks.randomFrom(random, PageCacheRecycler.Type.values()));
|
builder.put("cache.recycler.page.type", RandomPicks.randomFrom(random, PageCacheRecycler.Type.values()));
|
||||||
}
|
}
|
||||||
@ -460,9 +459,9 @@ public final class InternalTestCluster extends TestCluster {
|
|||||||
|
|
||||||
// randomize tcp settings
|
// randomize tcp settings
|
||||||
if (random.nextBoolean()) {
|
if (random.nextBoolean()) {
|
||||||
builder.put(TransportService.CONNECTIONS_PER_NODE_RECOVERY.getKey(), random.nextInt(2) + 1);
|
builder.put(TransportSettings.CONNECTIONS_PER_NODE_RECOVERY.getKey(), random.nextInt(2) + 1);
|
||||||
builder.put(TransportService.CONNECTIONS_PER_NODE_BULK.getKey(), random.nextInt(3) + 1);
|
builder.put(TransportSettings.CONNECTIONS_PER_NODE_BULK.getKey(), random.nextInt(3) + 1);
|
||||||
builder.put(TransportService.CONNECTIONS_PER_NODE_REG.getKey(), random.nextInt(6) + 1);
|
builder.put(TransportSettings.CONNECTIONS_PER_NODE_REG.getKey(), random.nextInt(6) + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (random.nextBoolean()) {
|
if (random.nextBoolean()) {
|
||||||
@ -490,7 +489,7 @@ public final class InternalTestCluster extends TestCluster {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (random.nextBoolean()) {
|
if (random.nextBoolean()) {
|
||||||
builder.put(TcpTransport.PING_SCHEDULE.getKey(), RandomNumbers.randomIntBetween(random, 100, 2000) + "ms");
|
builder.put(TransportSettings.PING_SCHEDULE.getKey(), RandomNumbers.randomIntBetween(random, 100, 2000) + "ms");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (random.nextBoolean()) {
|
if (random.nextBoolean()) {
|
||||||
|
@ -50,12 +50,12 @@ import org.elasticsearch.transport.ConnectTransportException;
|
|||||||
import org.elasticsearch.transport.ConnectionManager;
|
import org.elasticsearch.transport.ConnectionManager;
|
||||||
import org.elasticsearch.transport.ConnectionProfile;
|
import org.elasticsearch.transport.ConnectionProfile;
|
||||||
import org.elasticsearch.transport.RequestHandlerRegistry;
|
import org.elasticsearch.transport.RequestHandlerRegistry;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
|
||||||
import org.elasticsearch.transport.Transport;
|
import org.elasticsearch.transport.Transport;
|
||||||
import org.elasticsearch.transport.TransportInterceptor;
|
import org.elasticsearch.transport.TransportInterceptor;
|
||||||
import org.elasticsearch.transport.TransportRequest;
|
import org.elasticsearch.transport.TransportRequest;
|
||||||
import org.elasticsearch.transport.TransportRequestOptions;
|
import org.elasticsearch.transport.TransportRequestOptions;
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportService;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.elasticsearch.transport.nio.MockNioTransport;
|
import org.elasticsearch.transport.nio.MockNioTransport;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -109,7 +109,7 @@ public final class MockTransportService extends TransportService {
|
|||||||
// be smart enough to re-connect depending on what is tested. To reduce the risk, since this is very hard to debug we use
|
// be smart enough to re-connect depending on what is tested. To reduce the risk, since this is very hard to debug we use
|
||||||
// a different default port range per JVM unless the incoming settings override it
|
// a different default port range per JVM unless the incoming settings override it
|
||||||
int basePort = 10300 + (JVM_ORDINAL * 100); // use a non-default port otherwise some cluster in this JVM might reuse a port
|
int basePort = 10300 + (JVM_ORDINAL * 100); // use a non-default port otherwise some cluster in this JVM might reuse a port
|
||||||
settings = Settings.builder().put(TcpTransport.PORT.getKey(), basePort + "-" + (basePort + 100)).put(settings).build();
|
settings = Settings.builder().put(TransportSettings.PORT.getKey(), basePort + "-" + (basePort + 100)).put(settings).build();
|
||||||
NamedWriteableRegistry namedWriteableRegistry = new NamedWriteableRegistry(ClusterModule.getNamedWriteables());
|
NamedWriteableRegistry namedWriteableRegistry = new NamedWriteableRegistry(ClusterModule.getNamedWriteables());
|
||||||
return new MockNioTransport(settings, version, threadPool, new NetworkService(Collections.emptyList()),
|
return new MockNioTransport(settings, version, threadPool, new NetworkService(Collections.emptyList()),
|
||||||
new MockPageCacheRecycler(settings), namedWriteableRegistry, new NoneCircuitBreakerService());
|
new MockPageCacheRecycler(settings), namedWriteableRegistry, new NoneCircuitBreakerService());
|
||||||
@ -130,7 +130,8 @@ public final class MockTransportService extends TransportService {
|
|||||||
* Build the service.
|
* Build the service.
|
||||||
*
|
*
|
||||||
* @param clusterSettings if non null the {@linkplain TransportService} will register with the {@link ClusterSettings} for settings
|
* @param clusterSettings if non null the {@linkplain TransportService} will register with the {@link ClusterSettings} for settings
|
||||||
* updates for {@link #TRACE_LOG_EXCLUDE_SETTING} and {@link #TRACE_LOG_INCLUDE_SETTING}.
|
* updates for {@link TransportSettings#TRACE_LOG_EXCLUDE_SETTING} and
|
||||||
|
* {@link TransportSettings#TRACE_LOG_INCLUDE_SETTING}.
|
||||||
*/
|
*/
|
||||||
public MockTransportService(Settings settings, Transport transport, ThreadPool threadPool, TransportInterceptor interceptor,
|
public MockTransportService(Settings settings, Transport transport, ThreadPool threadPool, TransportInterceptor interceptor,
|
||||||
@Nullable ClusterSettings clusterSettings) {
|
@Nullable ClusterSettings clusterSettings) {
|
||||||
@ -143,7 +144,8 @@ public final class MockTransportService extends TransportService {
|
|||||||
* Build the service.
|
* Build the service.
|
||||||
*
|
*
|
||||||
* @param clusterSettings if non null the {@linkplain TransportService} will register with the {@link ClusterSettings} for settings
|
* @param clusterSettings if non null the {@linkplain TransportService} will register with the {@link ClusterSettings} for settings
|
||||||
* updates for {@link #TRACE_LOG_EXCLUDE_SETTING} and {@link #TRACE_LOG_INCLUDE_SETTING}.
|
* updates for {@link TransportSettings#TRACE_LOG_EXCLUDE_SETTING} and
|
||||||
|
* {@link TransportSettings#TRACE_LOG_INCLUDE_SETTING}.
|
||||||
*/
|
*/
|
||||||
public MockTransportService(Settings settings, Transport transport, ThreadPool threadPool, TransportInterceptor interceptor,
|
public MockTransportService(Settings settings, Transport transport, ThreadPool threadPool, TransportInterceptor interceptor,
|
||||||
Function<BoundTransportAddress, DiscoveryNode> localNodeFactory,
|
Function<BoundTransportAddress, DiscoveryNode> localNodeFactory,
|
||||||
@ -319,7 +321,7 @@ public final class MockTransportService extends TransportService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Replace with proper setting
|
// TODO: Replace with proper setting
|
||||||
TimeValue connectingTimeout = TransportService.TCP_CONNECT_TIMEOUT.getDefault(Settings.EMPTY);
|
TimeValue connectingTimeout = TransportSettings.CONNECT_TIMEOUT.getDefault(Settings.EMPTY);
|
||||||
try {
|
try {
|
||||||
if (delay.millis() < connectingTimeout.millis()) {
|
if (delay.millis() < connectingTimeout.millis()) {
|
||||||
Thread.sleep(delay.millis());
|
Thread.sleep(delay.millis());
|
||||||
|
@ -128,11 +128,11 @@ public abstract class AbstractSimpleTransportTestCase extends ESTestCase {
|
|||||||
threadPool = new TestThreadPool(getClass().getName());
|
threadPool = new TestThreadPool(getClass().getName());
|
||||||
clusterSettings = new ClusterSettings(Settings.EMPTY, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS);
|
clusterSettings = new ClusterSettings(Settings.EMPTY, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS);
|
||||||
Settings connectionSettings = Settings.builder()
|
Settings connectionSettings = Settings.builder()
|
||||||
.put(TransportService.CONNECTIONS_PER_NODE_RECOVERY.getKey(), 1)
|
.put(TransportSettings.CONNECTIONS_PER_NODE_RECOVERY.getKey(), 1)
|
||||||
.put(TransportService.CONNECTIONS_PER_NODE_BULK.getKey(), 1)
|
.put(TransportSettings.CONNECTIONS_PER_NODE_BULK.getKey(), 1)
|
||||||
.put(TransportService.CONNECTIONS_PER_NODE_REG.getKey(), 2)
|
.put(TransportSettings.CONNECTIONS_PER_NODE_REG.getKey(), 2)
|
||||||
.put(TransportService.CONNECTIONS_PER_NODE_STATE.getKey(), 1)
|
.put(TransportSettings.CONNECTIONS_PER_NODE_STATE.getKey(), 1)
|
||||||
.put(TransportService.CONNECTIONS_PER_NODE_PING.getKey(), 1)
|
.put(TransportSettings.CONNECTIONS_PER_NODE_PING.getKey(), 1)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
serviceA = buildService("TS_A", version0, clusterSettings, connectionSettings); // this one supports dynamic tracer updates
|
serviceA = buildService("TS_A", version0, clusterSettings, connectionSettings); // this one supports dynamic tracer updates
|
||||||
@ -172,8 +172,8 @@ public abstract class AbstractSimpleTransportTestCase extends ESTestCase {
|
|||||||
Settings.builder()
|
Settings.builder()
|
||||||
.put(settings)
|
.put(settings)
|
||||||
.put(Node.NODE_NAME_SETTING.getKey(), name)
|
.put(Node.NODE_NAME_SETTING.getKey(), name)
|
||||||
.put(TransportService.TRACE_LOG_INCLUDE_SETTING.getKey(), "")
|
.put(TransportSettings.TRACE_LOG_INCLUDE_SETTING.getKey(), "")
|
||||||
.put(TransportService.TRACE_LOG_EXCLUDE_SETTING.getKey(), "NOTHING")
|
.put(TransportSettings.TRACE_LOG_EXCLUDE_SETTING.getKey(), "NOTHING")
|
||||||
.build(),
|
.build(),
|
||||||
version,
|
version,
|
||||||
clusterSettings, doHandshake);
|
clusterSettings, doHandshake);
|
||||||
@ -514,7 +514,7 @@ public abstract class AbstractSimpleTransportTestCase extends ESTestCase {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
Settings settingsWithCompress = Settings.builder().put(Transport.TRANSPORT_TCP_COMPRESS.getKey(), true).build();
|
Settings settingsWithCompress = Settings.builder().put(TransportSettings.TRANSPORT_COMPRESS.getKey(), true).build();
|
||||||
ConnectionProfile connectionProfile = ConnectionProfile.buildDefaultConnectionProfile(settingsWithCompress);
|
ConnectionProfile connectionProfile = ConnectionProfile.buildDefaultConnectionProfile(settingsWithCompress);
|
||||||
serviceC.connectToNode(serviceA.getLocalDiscoNode(), connectionProfile);
|
serviceC.connectToNode(serviceA.getLocalDiscoNode(), connectionProfile);
|
||||||
|
|
||||||
@ -568,7 +568,7 @@ public abstract class AbstractSimpleTransportTestCase extends ESTestCase {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
Settings settingsWithCompress = Settings.builder().put(Transport.TRANSPORT_TCP_COMPRESS.getKey(), true).build();
|
Settings settingsWithCompress = Settings.builder().put(TransportSettings.TRANSPORT_COMPRESS.getKey(), true).build();
|
||||||
ConnectionProfile connectionProfile = ConnectionProfile.buildDefaultConnectionProfile(settingsWithCompress);
|
ConnectionProfile connectionProfile = ConnectionProfile.buildDefaultConnectionProfile(settingsWithCompress);
|
||||||
serviceC.connectToNode(serviceA.getLocalDiscoNode(), connectionProfile);
|
serviceC.connectToNode(serviceA.getLocalDiscoNode(), connectionProfile);
|
||||||
|
|
||||||
@ -1051,8 +1051,8 @@ public abstract class AbstractSimpleTransportTestCase extends ESTestCase {
|
|||||||
excludeSettings = "DOESN'T_MATCH";
|
excludeSettings = "DOESN'T_MATCH";
|
||||||
}
|
}
|
||||||
clusterSettings.applySettings(Settings.builder()
|
clusterSettings.applySettings(Settings.builder()
|
||||||
.put(TransportService.TRACE_LOG_INCLUDE_SETTING.getKey(), includeSettings)
|
.put(TransportSettings.TRACE_LOG_INCLUDE_SETTING.getKey(), includeSettings)
|
||||||
.put(TransportService.TRACE_LOG_EXCLUDE_SETTING.getKey(), excludeSettings)
|
.put(TransportSettings.TRACE_LOG_EXCLUDE_SETTING.getKey(), excludeSettings)
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
tracer.reset(4);
|
tracer.reset(4);
|
||||||
@ -1735,8 +1735,8 @@ public abstract class AbstractSimpleTransportTestCase extends ESTestCase {
|
|||||||
TransportService serviceC = build(
|
TransportService serviceC = build(
|
||||||
Settings.builder()
|
Settings.builder()
|
||||||
.put("name", "TS_TEST")
|
.put("name", "TS_TEST")
|
||||||
.put(TransportService.TRACE_LOG_INCLUDE_SETTING.getKey(), "")
|
.put(TransportSettings.TRACE_LOG_INCLUDE_SETTING.getKey(), "")
|
||||||
.put(TransportService.TRACE_LOG_EXCLUDE_SETTING.getKey(), "NOTHING")
|
.put(TransportSettings.TRACE_LOG_EXCLUDE_SETTING.getKey(), "NOTHING")
|
||||||
.build(),
|
.build(),
|
||||||
version0,
|
version0,
|
||||||
null, true);
|
null, true);
|
||||||
@ -2684,7 +2684,7 @@ public abstract class AbstractSimpleTransportTestCase extends ESTestCase {
|
|||||||
public void testProfilesIncludesDefault() {
|
public void testProfilesIncludesDefault() {
|
||||||
Set<TcpTransport.ProfileSettings> profileSettings = TcpTransport.getProfileSettings(Settings.EMPTY);
|
Set<TcpTransport.ProfileSettings> profileSettings = TcpTransport.getProfileSettings(Settings.EMPTY);
|
||||||
assertEquals(1, profileSettings.size());
|
assertEquals(1, profileSettings.size());
|
||||||
assertEquals(TcpTransport.DEFAULT_PROFILE, profileSettings.stream().findAny().get().profileName);
|
assertEquals(TransportSettings.DEFAULT_PROFILE, profileSettings.stream().findAny().get().profileName);
|
||||||
|
|
||||||
profileSettings = TcpTransport.getProfileSettings(Settings.builder()
|
profileSettings = TcpTransport.getProfileSettings(Settings.builder()
|
||||||
.put("transport.profiles.test.port", "0")
|
.put("transport.profiles.test.port", "0")
|
||||||
|
@ -38,7 +38,7 @@ import org.elasticsearch.test.InternalTestCluster;
|
|||||||
import org.elasticsearch.test.MockHttpTransport;
|
import org.elasticsearch.test.MockHttpTransport;
|
||||||
import org.elasticsearch.test.NodeConfigurationSource;
|
import org.elasticsearch.test.NodeConfigurationSource;
|
||||||
import org.elasticsearch.test.discovery.TestZenDiscovery;
|
import org.elasticsearch.test.discovery.TestZenDiscovery;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
@ -109,7 +109,7 @@ public class InternalTestClusterTests extends ESTestCase {
|
|||||||
|
|
||||||
static {
|
static {
|
||||||
clusterUniqueSettings.add(ClusterName.CLUSTER_NAME_SETTING.getKey());
|
clusterUniqueSettings.add(ClusterName.CLUSTER_NAME_SETTING.getKey());
|
||||||
clusterUniqueSettings.add(TcpTransport.PORT.getKey());
|
clusterUniqueSettings.add(TransportSettings.PORT.getKey());
|
||||||
clusterUniqueSettings.add("http.port");
|
clusterUniqueSettings.add("http.port");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,8 +37,8 @@ import org.elasticsearch.transport.BindTransportException;
|
|||||||
import org.elasticsearch.transport.ConnectTransportException;
|
import org.elasticsearch.transport.ConnectTransportException;
|
||||||
import org.elasticsearch.transport.ConnectionProfile;
|
import org.elasticsearch.transport.ConnectionProfile;
|
||||||
import org.elasticsearch.transport.TcpChannel;
|
import org.elasticsearch.transport.TcpChannel;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
|
||||||
import org.elasticsearch.transport.Transport;
|
import org.elasticsearch.transport.Transport;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
@ -78,7 +78,7 @@ public class SimpleMockNioTransportTests extends AbstractSimpleTransportTestCase
|
|||||||
@Override
|
@Override
|
||||||
protected MockTransportService build(Settings settings, Version version, ClusterSettings clusterSettings, boolean doHandshake) {
|
protected MockTransportService build(Settings settings, Version version, ClusterSettings clusterSettings, boolean doHandshake) {
|
||||||
settings = Settings.builder().put(settings)
|
settings = Settings.builder().put(settings)
|
||||||
.put(TcpTransport.PORT.getKey(), "0")
|
.put(TransportSettings.PORT.getKey(), "0")
|
||||||
.build();
|
.build();
|
||||||
MockTransportService transportService = nioFromThreadPool(settings, threadPool, version, clusterSettings, doHandshake);
|
MockTransportService transportService = nioFromThreadPool(settings, threadPool, version, clusterSettings, doHandshake);
|
||||||
transportService.start();
|
transportService.start();
|
||||||
@ -108,7 +108,7 @@ public class SimpleMockNioTransportTests extends AbstractSimpleTransportTestCase
|
|||||||
int port = serviceA.boundAddress().publishAddress().getPort();
|
int port = serviceA.boundAddress().publishAddress().getPort();
|
||||||
Settings settings = Settings.builder()
|
Settings settings = Settings.builder()
|
||||||
.put(Node.NODE_NAME_SETTING.getKey(), "foobar")
|
.put(Node.NODE_NAME_SETTING.getKey(), "foobar")
|
||||||
.put("transport.tcp.port", port)
|
.put(TransportSettings.PORT.getKey(), port)
|
||||||
.build();
|
.build();
|
||||||
ClusterSettings clusterSettings = new ClusterSettings(settings, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS);
|
ClusterSettings clusterSettings = new ClusterSettings(settings, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS);
|
||||||
BindTransportException bindTransportException = expectThrows(BindTransportException.class, () -> {
|
BindTransportException bindTransportException = expectThrows(BindTransportException.class, () -> {
|
||||||
|
@ -25,7 +25,7 @@ import org.elasticsearch.indices.breaker.CircuitBreakerService;
|
|||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.ConnectTransportException;
|
import org.elasticsearch.transport.ConnectTransportException;
|
||||||
import org.elasticsearch.transport.TcpChannel;
|
import org.elasticsearch.transport.TcpChannel;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.elasticsearch.transport.netty4.Netty4Transport;
|
import org.elasticsearch.transport.netty4.Netty4Transport;
|
||||||
import org.elasticsearch.xpack.core.XPackSettings;
|
import org.elasticsearch.xpack.core.XPackSettings;
|
||||||
import org.elasticsearch.xpack.core.security.transport.SSLExceptionHelper;
|
import org.elasticsearch.xpack.core.security.transport.SSLExceptionHelper;
|
||||||
@ -87,8 +87,8 @@ public class SecurityNetty4Transport extends Netty4Transport {
|
|||||||
profileConfiguration.put(profileName, configuration);
|
profileConfiguration.put(profileName, configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (profileConfiguration.containsKey(TcpTransport.DEFAULT_PROFILE) == false) {
|
if (profileConfiguration.containsKey(TransportSettings.DEFAULT_PROFILE) == false) {
|
||||||
profileConfiguration.put(TcpTransport.DEFAULT_PROFILE, defaultConfiguration);
|
profileConfiguration.put(TransportSettings.DEFAULT_PROFILE, defaultConfiguration);
|
||||||
}
|
}
|
||||||
return profileConfiguration;
|
return profileConfiguration;
|
||||||
}
|
}
|
||||||
|
@ -137,7 +137,7 @@ public class CommandLineHttpClient {
|
|||||||
final String scheme = XPackSettings.HTTP_SSL_ENABLED.get(settings) ? "https" : "http";
|
final String scheme = XPackSettings.HTTP_SSL_ENABLED.get(settings) ? "https" : "http";
|
||||||
List<String> httpPublishHost = SETTING_HTTP_PUBLISH_HOST.get(settings);
|
List<String> httpPublishHost = SETTING_HTTP_PUBLISH_HOST.get(settings);
|
||||||
if (httpPublishHost.isEmpty()) {
|
if (httpPublishHost.isEmpty()) {
|
||||||
httpPublishHost = NetworkService.GLOBAL_NETWORK_PUBLISHHOST_SETTING.get(settings);
|
httpPublishHost = NetworkService.GLOBAL_NETWORK_PUBLISH_HOST_SETTING.get(settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
// we cannot do custom name resolution here...
|
// we cannot do custom name resolution here...
|
||||||
|
@ -18,7 +18,7 @@ import org.elasticsearch.common.settings.Settings;
|
|||||||
import org.elasticsearch.common.transport.BoundTransportAddress;
|
import org.elasticsearch.common.transport.BoundTransportAddress;
|
||||||
import org.elasticsearch.common.transport.TransportAddress;
|
import org.elasticsearch.common.transport.TransportAddress;
|
||||||
import org.elasticsearch.license.XPackLicenseState;
|
import org.elasticsearch.license.XPackLicenseState;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.elasticsearch.xpack.security.audit.AuditTrailService;
|
import org.elasticsearch.xpack.security.audit.AuditTrailService;
|
||||||
|
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
@ -128,7 +128,7 @@ public class IPFilter {
|
|||||||
isHttpFilterEnabled = IP_FILTER_ENABLED_HTTP_SETTING.get(settings);
|
isHttpFilterEnabled = IP_FILTER_ENABLED_HTTP_SETTING.get(settings);
|
||||||
isIpFilterEnabled = IP_FILTER_ENABLED_SETTING.get(settings);
|
isIpFilterEnabled = IP_FILTER_ENABLED_SETTING.get(settings);
|
||||||
|
|
||||||
this.profiles = settings.getGroups("transport.profiles.",true).keySet().stream().filter(k -> TcpTransport
|
this.profiles = settings.getGroups("transport.profiles.",true).keySet().stream().filter(k -> TransportSettings
|
||||||
.DEFAULT_PROFILE.equals(k) == false).collect(Collectors.toSet()); // exclude default profile -- it's handled differently
|
.DEFAULT_PROFILE.equals(k) == false).collect(Collectors.toSet()); // exclude default profile -- it's handled differently
|
||||||
for (String profile : profiles) {
|
for (String profile : profiles) {
|
||||||
Setting<List<String>> allowSetting = PROFILE_FILTER_ALLOW_SETTING.getConcreteSettingForNamespace(profile);
|
Setting<List<String>> allowSetting = PROFILE_FILTER_ALLOW_SETTING.getConcreteSettingForNamespace(profile);
|
||||||
@ -237,7 +237,7 @@ public class IPFilter {
|
|||||||
|
|
||||||
if (isIpFilterEnabled && boundTransportAddress.get() != null) {
|
if (isIpFilterEnabled && boundTransportAddress.get() != null) {
|
||||||
TransportAddress[] localAddresses = boundTransportAddress.get().boundAddresses();
|
TransportAddress[] localAddresses = boundTransportAddress.get().boundAddresses();
|
||||||
profileRules.put(TcpTransport.DEFAULT_PROFILE, createRules(transportAllowFilter, transportDenyFilter, localAddresses));
|
profileRules.put(TransportSettings.DEFAULT_PROFILE, createRules(transportAllowFilter, transportDenyFilter, localAddresses));
|
||||||
for (String profile : profiles) {
|
for (String profile : profiles) {
|
||||||
BoundTransportAddress profileBoundTransportAddress = profileBoundAddress.get().get(profile);
|
BoundTransportAddress profileBoundTransportAddress = profileBoundAddress.get().get(profile);
|
||||||
if (profileBoundTransportAddress == null) {
|
if (profileBoundTransportAddress == null) {
|
||||||
|
@ -28,7 +28,7 @@ import org.elasticsearch.nio.SocketChannelContext;
|
|||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.ConnectTransportException;
|
import org.elasticsearch.transport.ConnectTransportException;
|
||||||
import org.elasticsearch.transport.TcpChannel;
|
import org.elasticsearch.transport.TcpChannel;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.elasticsearch.transport.nio.NioTcpChannel;
|
import org.elasticsearch.transport.nio.NioTcpChannel;
|
||||||
import org.elasticsearch.transport.nio.NioTcpServerChannel;
|
import org.elasticsearch.transport.nio.NioTcpServerChannel;
|
||||||
import org.elasticsearch.transport.nio.NioTransport;
|
import org.elasticsearch.transport.nio.NioTransport;
|
||||||
@ -214,7 +214,7 @@ public class SecurityNioTransport extends NioTransport {
|
|||||||
|
|
||||||
protected SSLEngine createSSLEngine(SocketChannel channel) throws IOException {
|
protected SSLEngine createSSLEngine(SocketChannel channel) throws IOException {
|
||||||
SSLEngine sslEngine;
|
SSLEngine sslEngine;
|
||||||
SSLConfiguration defaultConfig = profileConfiguration.get(TcpTransport.DEFAULT_PROFILE);
|
SSLConfiguration defaultConfig = profileConfiguration.get(TransportSettings.DEFAULT_PROFILE);
|
||||||
SSLConfiguration sslConfig = profileConfiguration.getOrDefault(profileName, defaultConfig);
|
SSLConfiguration sslConfig = profileConfiguration.getOrDefault(profileName, defaultConfig);
|
||||||
boolean hostnameVerificationEnabled = sslConfig.verificationMode().isHostnameVerificationEnabled();
|
boolean hostnameVerificationEnabled = sslConfig.verificationMode().isHostnameVerificationEnabled();
|
||||||
if (hostnameVerificationEnabled) {
|
if (hostnameVerificationEnabled) {
|
||||||
@ -233,7 +233,7 @@ public class SecurityNioTransport extends NioTransport {
|
|||||||
private final SNIHostName serverName;
|
private final SNIHostName serverName;
|
||||||
|
|
||||||
private SecurityClientTcpChannelFactory(RawChannelFactory rawChannelFactory, SNIHostName serverName) {
|
private SecurityClientTcpChannelFactory(RawChannelFactory rawChannelFactory, SNIHostName serverName) {
|
||||||
super(rawChannelFactory, TcpTransport.DEFAULT_PROFILE, true);
|
super(rawChannelFactory, TransportSettings.DEFAULT_PROFILE, true);
|
||||||
this.serverName = serverName;
|
this.serverName = serverName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@ import org.elasticsearch.transport.TcpTransport;
|
|||||||
import org.elasticsearch.transport.Transport;
|
import org.elasticsearch.transport.Transport;
|
||||||
import org.elasticsearch.transport.TransportRequestOptions;
|
import org.elasticsearch.transport.TransportRequestOptions;
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportService;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.elasticsearch.xpack.core.common.socket.SocketAccess;
|
import org.elasticsearch.xpack.core.common.socket.SocketAccess;
|
||||||
import org.elasticsearch.xpack.core.ssl.SSLConfiguration;
|
import org.elasticsearch.xpack.core.ssl.SSLConfiguration;
|
||||||
import org.elasticsearch.xpack.core.ssl.SSLService;
|
import org.elasticsearch.xpack.core.ssl.SSLService;
|
||||||
@ -115,9 +116,9 @@ public abstract class AbstractSimpleSecurityTransportTestCase extends AbstractSi
|
|||||||
int port = serviceA.boundAddress().publishAddress().getPort();
|
int port = serviceA.boundAddress().publishAddress().getPort();
|
||||||
Settings settings = Settings.builder()
|
Settings settings = Settings.builder()
|
||||||
.put(Node.NODE_NAME_SETTING.getKey(), "foobar")
|
.put(Node.NODE_NAME_SETTING.getKey(), "foobar")
|
||||||
.put(TransportService.TRACE_LOG_INCLUDE_SETTING.getKey(), "")
|
.put(TransportSettings.TRACE_LOG_INCLUDE_SETTING.getKey(), "")
|
||||||
.put(TransportService.TRACE_LOG_EXCLUDE_SETTING.getKey(), "NOTHING")
|
.put(TransportSettings.TRACE_LOG_EXCLUDE_SETTING.getKey(), "NOTHING")
|
||||||
.put("transport.tcp.port", port)
|
.put(TransportSettings.PORT.getKey(), port)
|
||||||
.build();
|
.build();
|
||||||
ClusterSettings clusterSettings = new ClusterSettings(settings, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS);
|
ClusterSettings clusterSettings = new ClusterSettings(settings, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS);
|
||||||
BindTransportException bindTransportException = expectThrows(BindTransportException.class, () -> {
|
BindTransportException bindTransportException = expectThrows(BindTransportException.class, () -> {
|
||||||
|
@ -19,9 +19,9 @@ import org.elasticsearch.common.settings.ClusterSettings;
|
|||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.common.util.concurrent.ThreadContext;
|
import org.elasticsearch.common.util.concurrent.ThreadContext;
|
||||||
import org.elasticsearch.test.ESTestCase;
|
import org.elasticsearch.test.ESTestCase;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
|
||||||
import org.elasticsearch.transport.TransportChannel;
|
import org.elasticsearch.transport.TransportChannel;
|
||||||
import org.elasticsearch.transport.TransportRequest;
|
import org.elasticsearch.transport.TransportRequest;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.elasticsearch.xpack.core.security.SecurityContext;
|
import org.elasticsearch.xpack.core.security.SecurityContext;
|
||||||
import org.elasticsearch.xpack.core.security.authc.Authentication;
|
import org.elasticsearch.xpack.core.security.authc.Authentication;
|
||||||
import org.elasticsearch.xpack.core.security.authc.Authentication.RealmRef;
|
import org.elasticsearch.xpack.core.security.authc.Authentication.RealmRef;
|
||||||
@ -65,7 +65,7 @@ public class ServerTransportFilterTests extends ESTestCase {
|
|||||||
authcService = mock(AuthenticationService.class);
|
authcService = mock(AuthenticationService.class);
|
||||||
authzService = mock(AuthorizationService.class);
|
authzService = mock(AuthorizationService.class);
|
||||||
channel = mock(TransportChannel.class);
|
channel = mock(TransportChannel.class);
|
||||||
when(channel.getProfileName()).thenReturn(TcpTransport.DEFAULT_PROFILE);
|
when(channel.getProfileName()).thenReturn(TransportSettings.DEFAULT_PROFILE);
|
||||||
when(channel.getVersion()).thenReturn(Version.CURRENT);
|
when(channel.getVersion()).thenReturn(Version.CURRENT);
|
||||||
failDestructiveOperations = randomBoolean();
|
failDestructiveOperations = randomBoolean();
|
||||||
Settings settings = Settings.builder()
|
Settings settings = Settings.builder()
|
||||||
|
@ -9,7 +9,7 @@ import org.elasticsearch.client.Client;
|
|||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.test.SecurityIntegTestCase;
|
import org.elasticsearch.test.SecurityIntegTestCase;
|
||||||
import org.elasticsearch.test.SecuritySettingsSource;
|
import org.elasticsearch.test.SecuritySettingsSource;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.elasticsearch.xpack.core.ssl.SSLClientAuth;
|
import org.elasticsearch.xpack.core.ssl.SSLClientAuth;
|
||||||
|
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
@ -61,7 +61,7 @@ public class IPHostnameVerificationTests extends SecurityIntegTestCase {
|
|||||||
return settingsBuilder.put("xpack.ssl.key", keyPath.toAbsolutePath())
|
return settingsBuilder.put("xpack.ssl.key", keyPath.toAbsolutePath())
|
||||||
.put("xpack.ssl.certificate", certPath.toAbsolutePath())
|
.put("xpack.ssl.certificate", certPath.toAbsolutePath())
|
||||||
.put("xpack.ssl.certificate_authorities", certPath.toAbsolutePath())
|
.put("xpack.ssl.certificate_authorities", certPath.toAbsolutePath())
|
||||||
.put(TcpTransport.BIND_HOST.getKey(), "127.0.0.1")
|
.put(TransportSettings.BIND_HOST.getKey(), "127.0.0.1")
|
||||||
.put("network.host", "127.0.0.1")
|
.put("network.host", "127.0.0.1")
|
||||||
.put("xpack.ssl.client_authentication", SSLClientAuth.NONE)
|
.put("xpack.ssl.client_authentication", SSLClientAuth.NONE)
|
||||||
.put("xpack.ssl.verification_mode", "full")
|
.put("xpack.ssl.verification_mode", "full")
|
||||||
|
@ -18,8 +18,8 @@ import org.elasticsearch.test.transport.MockTransportService;
|
|||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.ConnectionProfile;
|
import org.elasticsearch.transport.ConnectionProfile;
|
||||||
import org.elasticsearch.transport.TcpChannel;
|
import org.elasticsearch.transport.TcpChannel;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
|
||||||
import org.elasticsearch.transport.Transport;
|
import org.elasticsearch.transport.Transport;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.elasticsearch.xpack.security.transport.AbstractSimpleSecurityTransportTestCase;
|
import org.elasticsearch.xpack.security.transport.AbstractSimpleSecurityTransportTestCase;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -56,9 +56,9 @@ public class SimpleSecurityNetty4ServerTransportTests extends AbstractSimpleSecu
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected MockTransportService build(Settings settings, Version version, ClusterSettings clusterSettings, boolean doHandshake) {
|
protected MockTransportService build(Settings settings, Version version, ClusterSettings clusterSettings, boolean doHandshake) {
|
||||||
if (TcpTransport.PORT.exists(settings) == false) {
|
if (TransportSettings.PORT.exists(settings) == false) {
|
||||||
settings = Settings.builder().put(settings)
|
settings = Settings.builder().put(settings)
|
||||||
.put(TcpTransport.PORT.getKey(), "0")
|
.put(TransportSettings.PORT.getKey(), "0")
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
MockTransportService transportService = nettyFromThreadPool(settings, threadPool, version, clusterSettings, doHandshake);
|
MockTransportService transportService = nettyFromThreadPool(settings, threadPool, version, clusterSettings, doHandshake);
|
||||||
|
@ -18,8 +18,8 @@ import org.elasticsearch.test.transport.MockTransportService;
|
|||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.ConnectionProfile;
|
import org.elasticsearch.transport.ConnectionProfile;
|
||||||
import org.elasticsearch.transport.TcpChannel;
|
import org.elasticsearch.transport.TcpChannel;
|
||||||
import org.elasticsearch.transport.TcpTransport;
|
|
||||||
import org.elasticsearch.transport.Transport;
|
import org.elasticsearch.transport.Transport;
|
||||||
|
import org.elasticsearch.transport.TransportSettings;
|
||||||
import org.elasticsearch.xpack.security.transport.AbstractSimpleSecurityTransportTestCase;
|
import org.elasticsearch.xpack.security.transport.AbstractSimpleSecurityTransportTestCase;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -55,9 +55,9 @@ public class SimpleSecurityNioTransportTests extends AbstractSimpleSecurityTrans
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected MockTransportService build(Settings settings, Version version, ClusterSettings clusterSettings, boolean doHandshake) {
|
protected MockTransportService build(Settings settings, Version version, ClusterSettings clusterSettings, boolean doHandshake) {
|
||||||
if (TcpTransport.PORT.exists(settings) == false) {
|
if (TransportSettings.PORT.exists(settings) == false) {
|
||||||
settings = Settings.builder().put(settings)
|
settings = Settings.builder().put(settings)
|
||||||
.put(TcpTransport.PORT.getKey(), "0")
|
.put(TransportSettings.PORT.getKey(), "0")
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
MockTransportService transportService = nioFromThreadPool(settings, threadPool, version, clusterSettings, doHandshake);
|
MockTransportService transportService = nioFromThreadPool(settings, threadPool, version, clusterSettings, doHandshake);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user