From 1133286583c24e93288a6d896cc069597ae541ce Mon Sep 17 00:00:00 2001 From: Jacek Date: Mon, 13 Dec 2021 17:24:23 +0100 Subject: [PATCH] SONAR-15827 Fix SSF-219 --- build.gradle | 6 +++--- server/sonar-main/build.gradle | 1 - .../org/sonar/application/command/EsJvmOptions.java | 12 +----------- .../sonar/application/command/EsJvmOptionsTest.java | 4 +++- 4 files changed, 7 insertions(+), 16 deletions(-) diff --git a/build.gradle b/build.gradle index 3317c91db18..6293825b4c5 100644 --- a/build.gradle +++ b/build.gradle @@ -366,10 +366,10 @@ subprojects { exclude 'commons-logging:commons-logging' } // Be aware that Log4j is used by Elasticsearch client - dependencySet(group: 'org.apache.logging.log4j', version: '2.8.2') { + dependencySet(group: 'org.apache.logging.log4j', version: '2.15.0') { + entry 'log4j-core' entry 'log4j-api' entry 'log4j-to-slf4j' - entry 'log4j-core' } dependencySet(group: 'org.apache.tomcat.embed', version: '8.5.73') { entry 'tomcat-embed-core' @@ -390,7 +390,7 @@ subprojects { entry 'jetty-servlet' } dependency('org.elasticsearch.client:elasticsearch-rest-high-level-client:7.14.1') { - exclude 'commons-logging:commons-logging' + exclude 'org.apache.logging.log4j:log4j-core' } dependency 'org.elasticsearch.plugin:transport-netty4-client:7.14.1' dependency 'org.elasticsearch:mocksocket:1.0' diff --git a/server/sonar-main/build.gradle b/server/sonar-main/build.gradle index 7e888f1298e..4f6590b8518 100644 --- a/server/sonar-main/build.gradle +++ b/server/sonar-main/build.gradle @@ -19,7 +19,6 @@ dependencies { compile 'org.apache.logging.log4j:log4j-api' compile 'org.elasticsearch.client:elasticsearch-rest-high-level-client' compile 'org.elasticsearch:elasticsearch' - compile 'org.elasticsearch:elasticsearch-core' compile 'org.slf4j:slf4j-api' compile 'org.yaml:snakeyaml' 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 89a2e99aae0..09ac20a2199 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 @@ -71,17 +71,6 @@ public class EsJvmOptions extends JvmOptions { // specify an alternative path for JVM fatal error logs (ES 6.6.1 default is "logs/hs_err_pid%p.log") res.put("-XX:ErrorFile=", "../logs/es_hs_err_pid%p.log"); - // JDK 8 GC logging (by default ES 6.6.1 enables them, we don't want to do that in SQ, no one will analyze them anyway) - // res.put("8:-XX:+PrintGCDetails", ""); - // res.put("8:-XX:+PrintGCDateStamps", ""); - // res.put("8:-XX:+PrintTenuringDistribution", ""); - // res.put("8:-XX:+PrintGCApplicationStoppedTime", ""); - // res.put("8:-Xloggc:logs/gc.log", ""); - // res.put("8:-XX:+UseGCLogFileRotation", ""); - // res.put("8:-XX:NumberOfGCLogFiles", "32"); - // res.put("8:-XX:GCLogFileSize", "64m"); - // JDK 9+ GC logging - // res.put("9-:-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m", ""); } /** @@ -121,6 +110,7 @@ public class EsJvmOptions extends JvmOptions { // log4j 2 res.put("-Dlog4j.shutdownHookEnabled=", "false"); res.put("-Dlog4j2.disable.jmx=", "true"); + res.put("-Dlog4j2.formatMsgNoLookups=", "true"); /* * Due to internationalization enhancements in JDK 9 Elasticsearch need to set the provider to COMPAT otherwise time/date * parsing will break in an incompatible way for some date patterns and locales. diff --git a/server/sonar-main/src/test/java/org/sonar/application/command/EsJvmOptionsTest.java b/server/sonar-main/src/test/java/org/sonar/application/command/EsJvmOptionsTest.java index b2d772c39aa..5740f761456 100644 --- a/server/sonar-main/src/test/java/org/sonar/application/command/EsJvmOptionsTest.java +++ b/server/sonar-main/src/test/java/org/sonar/application/command/EsJvmOptionsTest.java @@ -46,7 +46,7 @@ public class EsJvmOptionsTest { EsJvmOptions underTest = new EsJvmOptions(new Props(properties), tmpDir); assertThat(underTest.getAll()) - .containsExactly( + .containsExactlyInAnyOrder( "-XX:+UseG1GC", "-Djava.io.tmpdir=" + tmpDir.getAbsolutePath(), "-XX:ErrorFile=../logs/es_hs_err_pid%p.log", @@ -64,6 +64,7 @@ public class EsJvmOptionsTest { "-Dio.netty.allocator.numDirectArenas=0", "-Dlog4j.shutdownHookEnabled=false", "-Dlog4j2.disable.jmx=true", + "-Dlog4j2.formatMsgNoLookups=true", "-Djava.locale.providers=COMPAT", "-Dcom.redhat.fips=false", "-Des.enforce.bootstrap.checks=true"); @@ -146,6 +147,7 @@ public class EsJvmOptionsTest { "-Dio.netty.allocator.numDirectArenas=0\n" + "-Dlog4j.shutdownHookEnabled=false\n" + "-Dlog4j2.disable.jmx=true\n" + + "-Dlog4j2.formatMsgNoLookups=true\n" + "-Djava.locale.providers=COMPAT\n" + "-Dcom.redhat.fips=false\n" + "-Des.enforce.bootstrap.checks=true\n" + -- 2.39.5