From: Jacek Date: Tue, 14 Dec 2021 13:57:10 +0000 (+0100) Subject: SONAR-15840 Fix SSF-219 X-Git-Tag: 8.9.5.50698 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=351385be95c8e2c3f73ebdcdeb88ee42b63d6bec;p=sonarqube.git SONAR-15840 Fix SSF-219 --- diff --git a/build.gradle b/build.gradle index c2208a2d941..9de67f9e88f 100644 --- a/build.gradle +++ b/build.gradle @@ -306,7 +306,7 @@ subprojects { exclude 'commons-logging:commons-logging' } // Be aware that Log4j is used by Elasticsearch client - dependencySet(group: 'org.apache.logging.log4j', version: '2.15.0') { + dependencySet(group: 'org.apache.logging.log4j', version: '2.16.0') { entry 'log4j-core' entry 'log4j-api' entry 'log4j-to-slf4j' @@ -339,12 +339,12 @@ subprojects { entry 'jetty-server' entry 'jetty-servlet' } - dependency('org.elasticsearch.client:elasticsearch-rest-high-level-client:7.14.1') { + dependency('org.elasticsearch.client:elasticsearch-rest-high-level-client:7.16.0') { exclude 'org.apache.logging.log4j:log4j-core' } - dependency 'org.elasticsearch.plugin:transport-netty4-client:7.14.1' + dependency 'org.elasticsearch.plugin:transport-netty4-client:7.16.0' dependency 'org.elasticsearch:mocksocket:1.0' - dependency 'org.codelibs.elasticsearch.module:analysis-common:7.14.1' + dependency 'org.codelibs.elasticsearch.module:analysis-common:7.16.0' dependency 'org.eclipse.jgit:org.eclipse.jgit:5.9.0.202009080501-r' dependency 'org.tmatesoft.svnkit:svnkit:1.10.1' dependency 'org.hamcrest:hamcrest-all:1.3' diff --git a/gradle.properties b/gradle.properties index 4afeda34ef6..8346f719ac6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,5 +11,5 @@ org.gradle.vfs.watch=true # https://www.elastic.co/downloads/elasticsearch-no-jdk elasticsearchDownloadUrlPath=https://artifacts.elastic.co/downloads/elasticsearch/ elasticsearchDownloadRepoxUrlPath=https://repox.jfrog.io/artifactory/sonarsource-bucket/sonarqube/elasticsearch/ -elasticsearchDownloadUrlFile=elasticsearch-7.14.1-no-jdk-linux-x86_64.tar.gz -elasticsearchDownloadSha512=77dca78ba865ae74863b3b2a3cd61e8a8e4478cd02eb020184dbf89fa32cf145a6bbd1d11a1cb88c2236a3b8cdb8b0047e3c0f1a40f609f31b898c905b2c211d +elasticsearchDownloadUrlFile=elasticsearch-7.16.1-no-jdk-linux-x86_64.tar.gz +elasticsearchDownloadSha512=529280741a3fe87df267abfa0fa03e79c24d0403f293f3604ddfddf01980efdc654cbb4586513d8424186298707bfd6fcbd21027d345262d6418e6021a9c4f88 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 ca48e8fba69..51e60cff27e 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 @@ -34,6 +34,7 @@ import org.sonar.process.ProcessProperties; import org.sonar.process.Props; import org.sonar.process.System2; +import static org.sonar.process.ProcessProperties.parseTimeoutMs; import static org.sonar.process.ProcessProperties.Property.CE_GRACEFUL_STOP_TIMEOUT; import static org.sonar.process.ProcessProperties.Property.CE_JAVA_ADDITIONAL_OPTS; import static org.sonar.process.ProcessProperties.Property.CE_JAVA_OPTS; @@ -53,7 +54,6 @@ import static org.sonar.process.ProcessProperties.Property.SOCKS_PROXY_PORT; import static org.sonar.process.ProcessProperties.Property.WEB_GRACEFUL_STOP_TIMEOUT; import static org.sonar.process.ProcessProperties.Property.WEB_JAVA_ADDITIONAL_OPTS; import static org.sonar.process.ProcessProperties.Property.WEB_JAVA_OPTS; -import static org.sonar.process.ProcessProperties.parseTimeoutMs; public class CommandFactoryImpl implements CommandFactory { private static final String ENV_VAR_JAVA_TOOL_OPTIONS = "JAVA_TOOL_OPTIONS"; @@ -112,6 +112,7 @@ public class CommandFactoryImpl implements CommandFactory { .setEnvVariable("ES_PATH_CONF", esInstallation.getConfDirectory().getAbsolutePath()) .setEnvVariable("ES_JVM_OPTIONS", esInstallation.getJvmOptions().getAbsolutePath()) .setEnvVariable("ES_JAVA_HOME", System.getProperties().getProperty("java.home")) + .setEnvVariable("LIBFFI_TMPDIR", this.tempDir.getAbsolutePath()) .suppressEnvVariable(ENV_VAR_JAVA_TOOL_OPTIONS) .suppressEnvVariable(ENV_VAR_ES_JAVA_OPTS); } 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 6f3f6b4432b..264505f199e 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 @@ -44,7 +44,7 @@ public class EsJvmOptions extends JvmOptions { private static Map mandatoryOptions(File tmpDir, Props props) { Map res = new LinkedHashMap<>(30); fromJvmDotOptionsFile(tmpDir, res); - fromSystemJvmOptionsClass(res); + fromSystemJvmOptionsClass(tmpDir, res); if (!props.value("sonar.jdbc.url", "").contains("jdbc:h2") && !props.valueAsBoolean("sonar.es.bootstrap.checks.disable")) { res.put("-Des.enforce.bootstrap.checks=", "true"); @@ -76,7 +76,7 @@ public class EsJvmOptions extends JvmOptions { /** * JVM options from class "org.elasticsearch.tools.launchers.SystemJvmOptions" */ - private static void fromSystemJvmOptionsClass(Map res) { + private static void fromSystemJvmOptionsClass(File tmpDir, Map res) { /* * Cache ttl in seconds for positive DNS lookups noting that this overrides the JDK security property networkaddress.cache.ttl; * can be set to -1 to cache forever. @@ -97,6 +97,7 @@ public class EsJvmOptions extends JvmOptions { res.put("-Dfile.encoding=", "UTF-8"); // use our provided JNA always versus the system one res.put("-Djna.nosys=", "true"); + res.put("-Djna.tmpdir=", tmpDir.getAbsolutePath()); /* * Turn off a JDK optimization that throws away stack traces for common exceptions because stack traces are important for * debugging. 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 47d900b8277..b1689f8c304 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 @@ -60,6 +60,7 @@ public class EsJvmOptionsTest { "-Djava.awt.headless=true", "-Dfile.encoding=UTF-8", "-Djna.nosys=true", + "-Djna.tmpdir=" + tmpDir.getAbsolutePath(), "-XX:-OmitStackTraceInFastThrow", "-Dio.netty.noUnsafe=true", "-Dio.netty.noKeySetOptimization=true", @@ -142,6 +143,7 @@ public class EsJvmOptionsTest { "-Djava.awt.headless=true\n" + "-Dfile.encoding=UTF-8\n" + "-Djna.nosys=true\n" + + "-Djna.tmpdir=" + tmpDir.getAbsolutePath() + "\n" + "-XX:-OmitStackTraceInFastThrow\n" + "-Dio.netty.noUnsafe=true\n" + "-Dio.netty.noKeySetOptimization=true\n" + diff --git a/server/sonar-server-common/src/test/java/org/sonar/server/es/EsRequestDetailsTest.java b/server/sonar-server-common/src/test/java/org/sonar/server/es/EsRequestDetailsTest.java index 8cb3ca582f3..e624dedf909 100644 --- a/server/sonar-server-common/src/test/java/org/sonar/server/es/EsRequestDetailsTest.java +++ b/server/sonar-server-common/src/test/java/org/sonar/server/es/EsRequestDetailsTest.java @@ -50,7 +50,7 @@ public class EsRequestDetailsTest { + " ignore_throttled=true], types=[type], routing='null', preference='null', requestCache=null," + " scroll=null, maxConcurrentShardRequests=0, batchedReduceSize=512, preFilterShardSize=null," + " allowPartialSearchResults=null, localClusterAlias=null, getOrCreateAbsoluteStartMillis=-1," - + " ccsMinimizeRoundtrips=true, source={}}' on indices '[index]' on types '[type]'"); + + " ccsMinimizeRoundtrips=true, enableFieldsEmulation=false, source={}}' on indices '[index]' on types '[type]'"); } @Test diff --git a/sonar-application/build.gradle b/sonar-application/build.gradle index efdd644b223..c4ff3adde74 100644 --- a/sonar-application/build.gradle +++ b/sonar-application/build.gradle @@ -169,6 +169,7 @@ task zip(type: Zip, dependsOn: [configurations.compile, tasks.downloadLicenses, exclude '**/modules/transform/**' exclude '**/modules/unsigned-long/**' exclude '**/modules/vectors/**' + exclude '**/modules/vector-tile/**' exclude '**/modules/wildcard/**' exclude '**/modules/x-pack-*/**' includeEmptyDirs = false