]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-15840 Fix SSF-219
authorJacek <jacek.poreda@sonarsource.com>
Tue, 14 Dec 2021 13:57:10 +0000 (14:57 +0100)
committersonartech <sonartech@sonarsource.com>
Fri, 17 Dec 2021 12:06:46 +0000 (12:06 +0000)
build.gradle
gradle.properties
server/sonar-main/src/main/java/org/sonar/application/command/CommandFactoryImpl.java
server/sonar-main/src/main/java/org/sonar/application/command/EsJvmOptions.java
server/sonar-main/src/test/java/org/sonar/application/command/EsJvmOptionsTest.java
server/sonar-server-common/src/test/java/org/sonar/server/es/EsRequestDetailsTest.java
sonar-application/build.gradle

index 6293825b4c57cdce2e3119e26eb5c842208e326e..ae6d88b65e15c0e7f807f5cc8ec97e84f0adda7b 100644 (file)
@@ -366,7 +366,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'
@@ -389,12 +389,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.13.0.202109080827-r'
       dependency 'org.tmatesoft.svnkit:svnkit:1.10.3'
       dependency 'org.hamcrest:hamcrest-all:1.3'
index 3da15ed8f38cba694e1884a7a5ff85e78252929a..c11e4cc62a008a4685b81267c369dd5280b69346 100644 (file)
@@ -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
index 5b89acf18ce83635294f898f72505ea43cc71ffa..4508eee5212fe10fe35d4089ce4a506ae228a5b1 100644 (file)
@@ -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";
@@ -110,6 +110,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);
   }
index 09ac20a21993824b66cf21f3e6a61f6603a51845..5bb7aaafd2e458e4ca019dbdd5beb5b6d47af901 100644 (file)
@@ -44,7 +44,7 @@ public class EsJvmOptions extends JvmOptions<EsJvmOptions> {
   private static Map<String, String> mandatoryOptions(File tmpDir, Props props) {
     Map<String, String> 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<EsJvmOptions> {
   /**
    * JVM options from class "org.elasticsearch.tools.launchers.SystemJvmOptions"
    */
-  private static void fromSystemJvmOptionsClass(Map<String, String> res) {
+  private static void fromSystemJvmOptionsClass(File tmpDir, Map<String, String> 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<EsJvmOptions> {
     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.
index 5740f761456743128c371fadb97571dab273ec69..fe9cc2b40ab4978dcfd736f37ad8881bee4ab837 100644 (file)
@@ -57,6 +57,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",
@@ -140,6 +141,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" +
index 8cb3ca582f3ca314daf21c9de39e1fbd011245a9..e624dedf909f7b215844a4ce86f1c84d5a4bbf78 100644 (file)
@@ -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
index 9cbb3c7f3fa80a69603ae13321b7964fb65a1862..2e9b5da6160561bbeaa030f365aa2ca86d6350ea 100644 (file)
@@ -185,6 +185,7 @@ task zip(type: Zip, dependsOn: [configurations.compileClasspath, tasks.downloadL
     exclude '**/modules/transform/**'
     exclude '**/modules/unsigned-long/**'
     exclude '**/modules/vectors/**'
+    exclude '**/modules/vector-tile/**'
     exclude '**/modules/wildcard/**'
     exclude '**/modules/x-pack-*/**'
     includeEmptyDirs = false