diff options
author | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2019-05-20 16:39:42 +0200 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2019-05-23 20:21:09 +0200 |
commit | 1f3ee626c1faa8f32aa15ce8dcc0ed333e6e57aa (patch) | |
tree | 7f8832a9e91b4be6d726fb5bbfc5df6f491a1abb /server/sonar-main/src/main/java | |
parent | 49451f5a6eb77a234072584192eaa576c78e3390 (diff) | |
download | sonarqube-1f3ee626c1faa8f32aa15ce8dcc0ed333e6e57aa.tar.gz sonarqube-1f3ee626c1faa8f32aa15ce8dcc0ed333e6e57aa.zip |
SONAR-11264 enforce ES boostrap checks on all editions
Diffstat (limited to 'server/sonar-main/src/main/java')
-rw-r--r-- | server/sonar-main/src/main/java/org/sonar/application/command/CommandFactoryImpl.java | 6 | ||||
-rw-r--r-- | server/sonar-main/src/main/java/org/sonar/application/command/EsJvmOptions.java | 15 |
2 files changed, 12 insertions, 9 deletions
diff --git a/server/sonar-main/src/main/java/org/sonar/application/command/CommandFactoryImpl.java b/server/sonar-main/src/main/java/org/sonar/application/command/CommandFactoryImpl.java index 738cabf841d..7a17300a1ed 100644 --- a/server/sonar-main/src/main/java/org/sonar/application/command/CommandFactoryImpl.java +++ b/server/sonar-main/src/main/java/org/sonar/application/command/CommandFactoryImpl.java @@ -114,9 +114,7 @@ public class CommandFactoryImpl implements CommandFactory { return new JavaCommand<EsJvmOptions>(ProcessId.ELASTICSEARCH, esInstallation.getHomeDirectory()) .setEsInstallation(esInstallation) .setReadsArgumentsFromFile(false) - .setJvmOptions(new EsJvmOptions(tempDir) - .addFromMandatoryProperty(props, SEARCH_JAVA_OPTS.getKey()) - .addFromMandatoryProperty(props, SEARCH_JAVA_ADDITIONAL_OPTS.getKey()) + .setJvmOptions(esInstallation.getEsJvmOptions() .add("-Delasticsearch") .add("-Des.path.home=" + esInstallation.getHomeDirectory().getAbsolutePath()) .add("-Des.path.conf=" + esInstallation.getConfDirectory().getAbsolutePath())) @@ -137,7 +135,7 @@ public class CommandFactoryImpl implements CommandFactory { esInstallation .setLog4j2Properties(new EsLogging().createProperties(props, esInstallation.getLogDirectory())) - .setEsJvmOptions(new EsJvmOptions(tempDir) + .setEsJvmOptions(new EsJvmOptions(props, tempDir) .addFromMandatoryProperty(props, SEARCH_JAVA_OPTS.getKey()) .addFromMandatoryProperty(props, SEARCH_JAVA_ADDITIONAL_OPTS.getKey())) .setEsYmlSettings(new EsYmlSettings(settingsMap)) diff --git a/server/sonar-main/src/main/java/org/sonar/application/command/EsJvmOptions.java b/server/sonar-main/src/main/java/org/sonar/application/command/EsJvmOptions.java index 0b24606e27a..75dc84ef5b3 100644 --- a/server/sonar-main/src/main/java/org/sonar/application/command/EsJvmOptions.java +++ b/server/sonar-main/src/main/java/org/sonar/application/command/EsJvmOptions.java @@ -26,6 +26,7 @@ import java.nio.file.Files; import java.util.LinkedHashMap; import java.util.Map; import java.util.stream.Collectors; +import org.sonar.process.Props; import org.sonar.process.System2; public class EsJvmOptions extends JvmOptions<EsJvmOptions> { @@ -35,17 +36,17 @@ public class EsJvmOptions extends JvmOptions<EsJvmOptions> { "# DO NOT EDIT THIS FILE\n" + "\n"; - public EsJvmOptions(File tmpDir) { - this(System2.INSTANCE, tmpDir); + public EsJvmOptions(Props props, File tmpDir) { + this(System2.INSTANCE, props, tmpDir); } - EsJvmOptions(System2 system2, File tmpDir) { - super(mandatoryOptions(system2, tmpDir)); + EsJvmOptions(System2 system2, Props props, File tmpDir) { + super(mandatoryOptions(system2, props, tmpDir)); } // this basically writes down the content of jvm.options file distributed in vanilla Elasticsearch package // with some changes to fit running bundled in SQ - private static Map<String, String> mandatoryOptions(System2 system2, File tmpDir) { + private static Map<String, String> mandatoryOptions(System2 system2, Props props, File tmpDir) { Map<String, String> res = new LinkedHashMap<>(16); // GC configuration res.put("-XX:+UseConcMarkSweepGC", ""); @@ -125,6 +126,10 @@ public class EsJvmOptions extends JvmOptions<EsJvmOptions> { res.put("-XX:UseAVX=", "2"); } + if (!props.valueAsBoolean("sonar.es.bootstrap.checks.disable")) { + res.put("-Des.enforce.bootstrap.checks=", "true"); + } + return res; } |