Deprecate the pidfile setting (#45938)
This commit deprecates the pidfile setting in favor of node.pidfile.
This commit is contained in:
parent
43ca652d11
commit
599bf2d68b
|
@ -387,7 +387,7 @@ class ClusterFormationTasks {
|
|||
Map esConfig = [
|
||||
'cluster.name' : node.clusterName,
|
||||
'node.name' : "node-" + node.nodeNum,
|
||||
'pidfile' : node.pidFile,
|
||||
(node.nodeVersion.onOrAfter('7.4.0') ? 'node.pidfile' : 'pidfile') : node.pidFile,
|
||||
'path.repo' : "${node.sharedDir}/repo",
|
||||
'path.shared_data' : "${node.sharedDir}/",
|
||||
// Define a node attribute so we can test that it exists
|
||||
|
|
|
@ -200,7 +200,7 @@ def smoke_test_release(release, files, hash, plugins):
|
|||
headers = {}
|
||||
print(' Starting elasticsearch deamon from [%s]' % es_dir)
|
||||
try:
|
||||
run('%s; %s -Enode.name=smoke_tester -Ecluster.name=prepare_release -Erepositories.url.allowed_urls=http://snapshot.test* %s -Epidfile=%s -Enode.portsfile=true'
|
||||
run('%s; %s -Enode.name=smoke_tester -Ecluster.name=prepare_release -Erepositories.url.allowed_urls=http://snapshot.test* %s -Enode.pidfile=%s -Enode.portsfile=true'
|
||||
% (java_exe(), es_run_path, '-d', os.path.join(es_dir, 'es-smoke.pid')))
|
||||
if not wait_for_node_startup(es_dir, header=headers):
|
||||
print("elasticsearch logs:")
|
||||
|
|
|
@ -119,6 +119,13 @@ be disabled by setting the system property
|
|||
[[breaking_74_settings_changes]]
|
||||
=== Settings changes
|
||||
|
||||
[discrete]
|
||||
[[deprecate-pidfile]]
|
||||
==== `pidfile` setting is being replaced by `node.pidfile`
|
||||
|
||||
To ensure that all settings are in a proper namespace, the `pidfile` setting is
|
||||
deprecated, and will be removed in version 8.0.0. Instead, use `node.pidfile`.
|
||||
|
||||
[discrete]
|
||||
[[deprecate-processors]]
|
||||
==== `processors` setting is being replaced by `node.processors`
|
||||
|
|
|
@ -85,7 +85,7 @@ public class EvilSecurityTests extends ESTestCase {
|
|||
esHome.resolve("data2").toString());
|
||||
settingsBuilder.put(Environment.PATH_SHARED_DATA_SETTING.getKey(), esHome.resolve("custom").toString());
|
||||
settingsBuilder.put(Environment.PATH_LOGS_SETTING.getKey(), esHome.resolve("logs").toString());
|
||||
settingsBuilder.put(Environment.PIDFILE_SETTING.getKey(), esHome.resolve("test.pid").toString());
|
||||
settingsBuilder.put(Environment.NODE_PIDFILE_SETTING.getKey(), esHome.resolve("test.pid").toString());
|
||||
Settings settings = settingsBuilder.build();
|
||||
|
||||
Path fakeTmpDir = createTempDir();
|
||||
|
|
|
@ -258,7 +258,7 @@ final class Bootstrap {
|
|||
final Path configPath) {
|
||||
Settings.Builder builder = Settings.builder();
|
||||
if (pidFile != null) {
|
||||
builder.put(Environment.PIDFILE_SETTING.getKey(), pidFile);
|
||||
builder.put(Environment.NODE_PIDFILE_SETTING.getKey(), pidFile);
|
||||
}
|
||||
builder.put(initialSettings);
|
||||
if (secureSettings != null) {
|
||||
|
|
|
@ -402,6 +402,7 @@ public final class ClusterSettings extends AbstractScopedSettings {
|
|||
Environment.PATH_REPO_SETTING,
|
||||
Environment.PATH_SHARED_DATA_SETTING,
|
||||
Environment.PIDFILE_SETTING,
|
||||
Environment.NODE_PIDFILE_SETTING,
|
||||
NodeEnvironment.NODE_ID_SEED_SETTING,
|
||||
DiscoverySettings.INITIAL_STATE_TIMEOUT_SETTING,
|
||||
DiscoveryModule.DISCOVERY_TYPE_SETTING,
|
||||
|
|
|
@ -60,7 +60,8 @@ public class Environment {
|
|||
public static final Setting<List<String>> PATH_REPO_SETTING =
|
||||
Setting.listSetting("path.repo", Collections.emptyList(), Function.identity(), Property.NodeScope);
|
||||
public static final Setting<String> PATH_SHARED_DATA_SETTING = Setting.simpleString("path.shared_data", Property.NodeScope);
|
||||
public static final Setting<String> PIDFILE_SETTING = Setting.simpleString("pidfile", Property.NodeScope);
|
||||
public static final Setting<String> PIDFILE_SETTING = Setting.simpleString("pidfile", Property.Deprecated, Property.NodeScope);
|
||||
public static final Setting<String> NODE_PIDFILE_SETTING = Setting.simpleString("node.pidfile", PIDFILE_SETTING, Property.NodeScope);
|
||||
|
||||
private final Settings settings;
|
||||
|
||||
|
@ -154,8 +155,8 @@ public class Environment {
|
|||
logsFile = homeFile.resolve("logs");
|
||||
}
|
||||
|
||||
if (PIDFILE_SETTING.exists(settings)) {
|
||||
pidFile = PathUtils.get(PIDFILE_SETTING.get(settings)).toAbsolutePath().normalize();
|
||||
if (NODE_PIDFILE_SETTING.exists(settings) || PIDFILE_SETTING.exists(settings)) {
|
||||
pidFile = PathUtils.get(NODE_PIDFILE_SETTING.get(settings)).toAbsolutePath().normalize();
|
||||
} else {
|
||||
pidFile = null;
|
||||
}
|
||||
|
@ -179,7 +180,10 @@ public class Environment {
|
|||
assert sharedDataFile != null;
|
||||
finalSettings.put(Environment.PATH_SHARED_DATA_SETTING.getKey(), sharedDataFile.toString());
|
||||
}
|
||||
if (PIDFILE_SETTING.exists(settings)) {
|
||||
if (NODE_PIDFILE_SETTING.exists(settings)) {
|
||||
assert pidFile != null;
|
||||
finalSettings.put(Environment.NODE_PIDFILE_SETTING.getKey(), pidFile.toString());
|
||||
} else if (PIDFILE_SETTING.exists(settings)) {
|
||||
assert pidFile != null;
|
||||
finalSettings.put(Environment.PIDFILE_SETTING.getKey(), pidFile.toString());
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
package org.elasticsearch.env;
|
||||
|
||||
import org.elasticsearch.common.io.PathUtils;
|
||||
import org.elasticsearch.common.settings.Setting;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.test.ESTestCase;
|
||||
|
||||
|
@ -174,13 +175,20 @@ public class EnvironmentTests extends ESTestCase {
|
|||
|
||||
// test that environment paths are absolute and normalized
|
||||
public void testPathNormalization() throws IOException {
|
||||
final Setting<String> pidFileSetting;
|
||||
if (randomBoolean()) {
|
||||
pidFileSetting = Environment.NODE_PIDFILE_SETTING;
|
||||
} else {
|
||||
pidFileSetting = Environment.PIDFILE_SETTING;
|
||||
}
|
||||
|
||||
final Settings settings = Settings.builder()
|
||||
.put(Environment.PATH_HOME_SETTING.getKey(), "home")
|
||||
.put(Environment.PATH_DATA_SETTING.getKey(), "./home/../home/data")
|
||||
.put(Environment.PATH_LOGS_SETTING.getKey(), "./home/../home/logs")
|
||||
.put(Environment.PATH_REPO_SETTING.getKey(), "./home/../home/repo")
|
||||
.put(Environment.PATH_SHARED_DATA_SETTING.getKey(), "./home/../home/shared_data")
|
||||
.put(Environment.PIDFILE_SETTING.getKey(), "./home/../home/pidfile")
|
||||
.put(pidFileSetting.getKey(), "./home/../home/pidfile")
|
||||
.build();
|
||||
|
||||
// the above paths will be treated as relative to the working directory
|
||||
|
@ -205,6 +213,13 @@ public class EnvironmentTests extends ESTestCase {
|
|||
|
||||
final String sharedDataPath = Environment.PATH_SHARED_DATA_SETTING.get(environment.settings());
|
||||
assertPath(sharedDataPath, home.resolve("shared_data"));
|
||||
|
||||
final String pidFile = pidFileSetting.get(environment.settings());
|
||||
assertPath(pidFile, home.resolve("pidfile"));
|
||||
|
||||
if (pidFileSetting.isDeprecated()) {
|
||||
assertSettingDeprecationsAndWarnings(new Setting<?>[] { pidFileSetting });
|
||||
}
|
||||
}
|
||||
|
||||
private void assertPath(final String actual, final Path expected) {
|
||||
|
|
Loading…
Reference in New Issue