migrate node.local and node.mode to new Setting infra

This commit is contained in:
javanna 2016-01-26 12:23:35 +01:00 committed by Luca Cavanna
parent 80b74a4885
commit 61630c2b27
16 changed files with 44 additions and 25 deletions

View File

@ -47,11 +47,11 @@ import static org.elasticsearch.common.transport.TransportAddressSerializers.add
public class DiscoveryNode implements Streamable, ToXContent {
public static boolean localNode(Settings settings) {
if (settings.get("node.local") != null) {
return settings.getAsBoolean("node.local", false);
if (Node.NODE_LOCAL_SETTING.exists(settings)) {
return Node.NODE_LOCAL_SETTING.get(settings);
}
if (settings.get("node.mode") != null) {
String nodeMode = settings.get("node.mode");
if (Node.NODE_MODE_SETTING.exists(settings)) {
String nodeMode = Node.NODE_MODE_SETTING.get(settings);
if ("local".equals(nodeMode)) {
return true;
} else if ("network".equals(nodeMode)) {

View File

@ -252,6 +252,8 @@ public final class ClusterSettings extends AbstractScopedSettings {
Node.NODE_CLIENT_SETTING,
Node.NODE_DATA_SETTING,
Node.NODE_MASTER_SETTING,
Node.NODE_LOCAL_SETTING,
Node.NODE_MODE_SETTING,
URLRepository.ALLOWED_URLS_SETTING,
URLRepository.REPOSITORIES_LIST_DIRECTORIES_SETTING,
URLRepository.REPOSITORIES_URL_SETTING,

View File

@ -112,6 +112,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import static org.elasticsearch.common.settings.Settings.settingsBuilder;
@ -125,6 +126,8 @@ public class Node implements Releasable {
public static final Setting<Boolean> NODE_CLIENT_SETTING = Setting.boolSetting("node.client", false, false, Setting.Scope.CLUSTER);
public static final Setting<Boolean> NODE_DATA_SETTING = Setting.boolSetting("node.data", true, false, Setting.Scope.CLUSTER);
public static final Setting<Boolean> NODE_MASTER_SETTING = Setting.boolSetting("node.master", true, false, Setting.Scope.CLUSTER);
public static final Setting<Boolean> NODE_LOCAL_SETTING = Setting.boolSetting("node.local", false, false, Setting.Scope.CLUSTER);
public static final Setting<String> NODE_MODE_SETTING = new Setting<>("node.mode", "network", Function.identity(), false, Setting.Scope.CLUSTER);
public static final Setting<Boolean> NODE_INGEST_SETTING = Setting.boolSetting("node.ingest", true, false, Setting.Scope.CLUSTER);
private static final String CLIENT_TYPE = "node";

View File

@ -28,6 +28,7 @@ import org.elasticsearch.cluster.ClusterState;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.TransportAddress;
import org.elasticsearch.env.Environment;
import org.elasticsearch.node.Node;
import org.elasticsearch.node.internal.InternalSettingsPreparer;
import org.elasticsearch.test.ESIntegTestCase;
import org.elasticsearch.test.ESIntegTestCase.ClusterScope;
@ -55,7 +56,7 @@ public class TransportClientRetryIT extends ESIntegTestCase {
Settings.Builder builder = settingsBuilder().put("client.transport.nodes_sampler_interval", "1s")
.put("name", "transport_client_retry_test")
.put("node.mode", internalCluster().getNodeMode())
.put(Node.NODE_MODE_SETTING.getKey(), internalCluster().getNodeMode())
.put(ClusterName.SETTING, internalCluster().getClusterName())
.put(InternalSettingsPreparer.IGNORE_SYSTEM_PROPERTIES_SETTING, true)
.put(Environment.PATH_HOME_SETTING.getKey(), createTempDir());

View File

@ -30,6 +30,7 @@ import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.discovery.local.LocalDiscovery;
import org.elasticsearch.discovery.zen.ZenDiscovery;
import org.elasticsearch.discovery.zen.elect.ElectMasterService;
import org.elasticsearch.node.Node;
import org.elasticsearch.node.service.NodeService;
/**
@ -45,7 +46,7 @@ public class DiscoveryModuleTests extends ModuleTestCase {
public void testRegisterMasterElectionService() {
Settings settings = Settings.builder().put("node.local", false).
Settings settings = Settings.builder().put(Node.NODE_LOCAL_SETTING.getKey(), false).
put(DiscoveryModule.ZEN_MASTER_SERVICE_TYPE_SETTING.getKey(), "custom").build();
DiscoveryModule module = new DiscoveryModule(settings);
module.addElectMasterService("custom", DummyMasterElectionService.class);
@ -54,7 +55,7 @@ public class DiscoveryModuleTests extends ModuleTestCase {
}
public void testLoadUnregisteredMasterElectionService() {
Settings settings = Settings.builder().put("node.local", false).
Settings settings = Settings.builder().put(Node.NODE_LOCAL_SETTING.getKey(), false).
put(DiscoveryModule.ZEN_MASTER_SERVICE_TYPE_SETTING.getKey(), "foobar").build();
DiscoveryModule module = new DiscoveryModule(settings);
module.addElectMasterService("custom", DummyMasterElectionService.class);
@ -63,14 +64,14 @@ public class DiscoveryModuleTests extends ModuleTestCase {
public void testRegisterDefaults() {
boolean local = randomBoolean();
Settings settings = Settings.builder().put("node.local", local).build();
Settings settings = Settings.builder().put(Node.NODE_LOCAL_SETTING.getKey(), local).build();
DiscoveryModule module = new DiscoveryModule(settings);
assertBinding(module, Discovery.class, local ? LocalDiscovery.class : ZenDiscovery.class);
}
public void testRegisterDiscovery() {
boolean local = randomBoolean();
Settings settings = Settings.builder().put("node.local", local).
Settings settings = Settings.builder().put(Node.NODE_LOCAL_SETTING.getKey(), local).
put(DiscoveryModule.DISCOVERY_TYPE_SETTING.getKey(), "custom").build();
DiscoveryModule module = new DiscoveryModule(settings);
module.addDiscoveryType("custom", DummyDisco.class);

View File

@ -34,6 +34,7 @@ import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.util.BigArrays;
import org.elasticsearch.common.util.concurrent.AbstractRunnable;
import org.elasticsearch.node.Node;
import org.elasticsearch.plugins.Plugin;
import org.elasticsearch.test.ESIntegTestCase;
import org.elasticsearch.test.ESIntegTestCase.ClusterScope;
@ -65,7 +66,7 @@ public class NettyTransportIT extends ESIntegTestCase {
@Override
protected Settings nodeSettings(int nodeOrdinal) {
return settingsBuilder().put(super.nodeSettings(nodeOrdinal))
.put("node.mode", "network")
.put(Node.NODE_MODE_SETTING.getKey(), "network")
.put(NetworkModule.TRANSPORT_TYPE_KEY, "exception-throwing").build();
}

View File

@ -29,6 +29,7 @@ import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.transport.TransportAddress;
import org.elasticsearch.env.Environment;
import org.elasticsearch.node.Node;
import org.elasticsearch.test.ESIntegTestCase;
import org.elasticsearch.test.ESIntegTestCase.ClusterScope;
import org.elasticsearch.test.ESIntegTestCase.Scope;
@ -62,7 +63,7 @@ public class NettyTransportMultiPortIntegrationIT extends ESIntegTestCase {
.put(super.nodeSettings(nodeOrdinal))
.put("network.host", "127.0.0.1")
.put(NetworkModule.TRANSPORT_TYPE_KEY, "netty")
.put("node.mode", "network")
.put(Node.NODE_MODE_SETTING.getKey(), "network")
.put("transport.profiles.client1.port", randomPortRange)
.put("transport.profiles.client1.publish_host", "127.0.0.7")
.put("transport.profiles.client1.publish_port", "4321")

View File

@ -27,6 +27,7 @@ import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.BoundTransportAddress;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.transport.TransportAddress;
import org.elasticsearch.node.Node;
import org.elasticsearch.test.ESIntegTestCase;
import java.net.Inet4Address;
@ -46,7 +47,7 @@ public class NettyTransportPublishAddressIT extends ESIntegTestCase {
return Settings.builder()
.put(super.nodeSettings(nodeOrdinal))
.put(NetworkModule.TRANSPORT_TYPE_KEY, "netty")
.put("node.mode", "network").build();
.put(Node.NODE_MODE_SETTING.getKey(), "network").build();
}
public void testDifferentPorts() throws Exception {

View File

@ -23,6 +23,7 @@ import org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse;
import org.elasticsearch.cloud.azure.management.AzureComputeService.Discovery;
import org.elasticsearch.cloud.azure.management.AzureComputeService.Management;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.node.Node;
import org.elasticsearch.plugin.discovery.azure.AzureDiscoveryPlugin;
import org.elasticsearch.plugins.Plugin;
import org.elasticsearch.test.ESIntegTestCase;
@ -44,7 +45,7 @@ public abstract class AbstractAzureComputeServiceTestCase extends ESIntegTestCas
.put(super.nodeSettings(nodeOrdinal))
.put("discovery.type", "azure")
// We need the network to make the mock working
.put("node.mode", "network");
.put(Node.NODE_MODE_SETTING.getKey(), "network");
// We add a fake subscription_id to start mock compute service
builder.put(Management.SUBSCRIPTION_ID, "fake")

View File

@ -56,7 +56,7 @@ public class TribeUnitTests extends ESTestCase {
public static void createTribes() {
Settings baseSettings = Settings.builder()
.put("http.enabled", false)
.put("node.mode", NODE_MODE)
.put(Node.NODE_MODE_SETTING.getKey(), NODE_MODE)
.put(Environment.PATH_HOME_SETTING.getKey(), createTempDir()).build();
tribe1 = new TribeClientNode(

View File

@ -29,6 +29,7 @@ import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.transport.TransportAddress;
import org.elasticsearch.env.Environment;
import org.elasticsearch.node.Node;
import org.elasticsearch.node.internal.InternalSettingsPreparer;
import org.junit.After;
import org.junit.AfterClass;
@ -39,7 +40,6 @@ import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.URL;
import java.net.UnknownHostException;
import java.nio.file.Path;
import java.util.Locale;
import java.util.concurrent.atomic.AtomicInteger;
@ -81,7 +81,7 @@ public abstract class ESSmokeClientTestCase extends LuceneTestCase {
.put(InternalSettingsPreparer.IGNORE_SYSTEM_PROPERTIES_SETTING, true) // prevents any settings to be replaced by system properties.
.put("client.transport.ignore_cluster_name", true)
.put(Environment.PATH_HOME_SETTING.getKey(), tempDir)
.put("node.mode", "network").build(); // we require network here!
.put(Node.NODE_MODE_SETTING.getKey(), "network").build(); // we require network here!
TransportClient.Builder transportClientBuilder = TransportClient.builder().settings(clientSettings);
TransportClient client = transportClientBuilder.build().addTransportAddresses(transportAddresses);

View File

@ -29,6 +29,7 @@ import org.elasticsearch.common.io.PathUtils;
import org.elasticsearch.common.network.NetworkModule;
import org.elasticsearch.common.regex.Regex;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.node.Node;
import org.elasticsearch.plugins.Plugin;
import org.elasticsearch.test.junit.annotations.TestLogging;
import org.elasticsearch.test.junit.listeners.LoggingListener;
@ -241,7 +242,7 @@ public abstract class ESBackcompatTestCase extends ESIntegTestCase {
protected Settings commonNodeSettings(int nodeOrdinal) {
Settings.Builder builder = Settings.builder().put(requiredSettings());
builder.put(NetworkModule.TRANSPORT_TYPE_KEY, "netty"); // run same transport / disco as external
builder.put("node.mode", "network");
builder.put(Node.NODE_MODE_SETTING.getKey(), "network");
return builder.build();
}

View File

@ -170,7 +170,7 @@ public abstract class ESSingleNodeTestCase extends ESTestCase {
.put("script.indexed", "on")
.put(EsExecutors.PROCESSORS, 1) // limit the number of threads created
.put("http.enabled", false)
.put("node.local", true)
.put(Node.NODE_LOCAL_SETTING.getKey(), true)
.put(Node.NODE_DATA_SETTING.getKey(), true)
.put(InternalSettingsPreparer.IGNORE_SYSTEM_PROPERTIES_SETTING, true) // make sure we get what we set :)
.build();

View File

@ -32,6 +32,7 @@ import org.elasticsearch.common.network.NetworkModule;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.TransportAddress;
import org.elasticsearch.discovery.DiscoveryModule;
import org.elasticsearch.node.Node;
import org.elasticsearch.node.internal.InternalSettingsPreparer;
import java.io.Closeable;
@ -54,7 +55,7 @@ final class ExternalNode implements Closeable {
public static final Settings REQUIRED_SETTINGS = Settings.builder()
.put(InternalSettingsPreparer.IGNORE_SYSTEM_PROPERTIES_SETTING, true)
.put(DiscoveryModule.DISCOVERY_TYPE_SETTING.getKey(), "zen")
.put("node.mode", "network").build(); // we need network mode for this
.put(Node.NODE_MODE_SETTING.getKey(), "network").build(); // we need network mode for this
private final Path path;
private final Random random;

View File

@ -33,6 +33,7 @@ import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.transport.TransportAddress;
import org.elasticsearch.env.Environment;
import org.elasticsearch.node.Node;
import org.elasticsearch.node.internal.InternalSettingsPreparer;
import org.elasticsearch.plugins.Plugin;
@ -76,7 +77,7 @@ public final class ExternalTestCluster extends TestCluster {
.put(InternalSettingsPreparer.IGNORE_SYSTEM_PROPERTIES_SETTING, true) // prevents any settings to be replaced by system properties.
.put("client.transport.ignore_cluster_name", true)
.put(Environment.PATH_HOME_SETTING.getKey(), tempDir)
.put("node.mode", "network").build(); // we require network here!
.put(Node.NODE_MODE_SETTING.getKey(), "network").build(); // we require network here!
TransportClient.Builder transportClientBuilder = TransportClient.builder().settings(clientSettings);
for (Class<? extends Plugin> pluginClass : pluginClasses) {

View File

@ -291,7 +291,7 @@ public final class InternalTestCluster extends TestCluster {
builder.put("transport.tcp.port", TRANSPORT_BASE_PORT + "-" + (TRANSPORT_BASE_PORT + PORTS_PER_CLUSTER));
builder.put("http.port", HTTP_BASE_PORT + "-" + (HTTP_BASE_PORT + PORTS_PER_CLUSTER));
builder.put(InternalSettingsPreparer.IGNORE_SYSTEM_PROPERTIES_SETTING, true);
builder.put("node.mode", nodeMode);
builder.put(Node.NODE_MODE_SETTING.getKey(), nodeMode);
builder.put("http.pipelining", enableHttpPipelining);
if (Strings.hasLength(System.getProperty("es.logger.level"))) {
builder.put("logger.level", System.getProperty("es.logger.level"));
@ -322,10 +322,10 @@ public final class InternalTestCluster extends TestCluster {
return "local"; // default if nothing is specified
}
if (Strings.hasLength(System.getProperty("es.node.mode"))) {
builder.put("node.mode", System.getProperty("es.node.mode"));
builder.put(Node.NODE_MODE_SETTING.getKey(), System.getProperty("es.node.mode"));
}
if (Strings.hasLength(System.getProperty("es.node.local"))) {
builder.put("node.local", System.getProperty("es.node.local"));
builder.put(Node.NODE_LOCAL_SETTING.getKey(), System.getProperty("es.node.local"));
}
if (DiscoveryNode.localNode(builder.build())) {
return "local";
@ -888,13 +888,18 @@ public final class InternalTestCluster extends TestCluster {
.put(Environment.PATH_HOME_SETTING.getKey(), baseDir)
.put("name", TRANSPORT_CLIENT_PREFIX + node.settings().get("name"))
.put(ClusterName.SETTING, clusterName).put("client.transport.sniff", sniff)
.put("node.mode", nodeSettings.get("node.mode", nodeMode))
.put("node.local", nodeSettings.get("node.local", ""))
.put("logger.prefix", nodeSettings.get("logger.prefix", ""))
.put("logger.level", nodeSettings.get("logger.level", "INFO"))
.put(InternalSettingsPreparer.IGNORE_SYSTEM_PROPERTIES_SETTING, true)
.put(settings);
if (Node.NODE_MODE_SETTING.exists(nodeSettings)) {
builder.put(Node.NODE_MODE_SETTING.getKey(), Node.NODE_MODE_SETTING.get(nodeSettings));
}
if (Node.NODE_LOCAL_SETTING.exists(nodeSettings)) {
builder.put(Node.NODE_LOCAL_SETTING.getKey(), Node.NODE_LOCAL_SETTING.get(nodeSettings));
}
TransportClient.Builder clientBuilder = TransportClient.builder().settings(builder.build());
for (Class<? extends Plugin> plugin : plugins) {
clientBuilder.addPlugin(plugin);