From 45ce1a98ae793d31815822f683be84f4117ba114 Mon Sep 17 00:00:00 2001 From: Rene Groeschke Date: Thu, 25 Sep 2025 09:28:15 +0200 Subject: [PATCH 1/3] [CI] Handle git snapshot BWC versions correctly when calculating jdk fallback (#135399) In https://github.com/elastic/elasticsearch/pull/135300 we introduced a fallback to use adoptopenjdk17 when running bwc tests with older distributions. This fix handles the calculation of overriding requirement by taken 0.0.0 version into account which is used to represent versions representing git snapshots. (cherry picked from commit 6047a74b44ff49ba0e96d36eab9f39a0b6a42577) # Conflicts: # build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionDownloadPlugin.java # test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/AbstractLocalClusterFactory.java --- .../gradle/TestClustersPluginFuncTest.groovy | 2 +- .../main/java/org/elasticsearch/gradle/util/OsUtils.java | 2 +- .../test/cluster/local/AbstractLocalClusterFactory.java | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/build-tools/src/integTest/groovy/org/elasticsearch/gradle/TestClustersPluginFuncTest.groovy b/build-tools/src/integTest/groovy/org/elasticsearch/gradle/TestClustersPluginFuncTest.groovy index af83fbbd06326..fd51e5552a675 100644 --- a/build-tools/src/integTest/groovy/org/elasticsearch/gradle/TestClustersPluginFuncTest.groovy +++ b/build-tools/src/integTest/groovy/org/elasticsearch/gradle/TestClustersPluginFuncTest.groovy @@ -250,7 +250,7 @@ class TestClustersPluginFuncTest extends AbstractGradleFuncTest { buildFile << """ testClusters { - myCluster { + myCluster1 { testDistribution = 'default' version = '8.10.4' } diff --git a/build-tools/src/main/java/org/elasticsearch/gradle/util/OsUtils.java b/build-tools/src/main/java/org/elasticsearch/gradle/util/OsUtils.java index c0f38ece0c8d6..486edf4150ab2 100644 --- a/build-tools/src/main/java/org/elasticsearch/gradle/util/OsUtils.java +++ b/build-tools/src/main/java/org/elasticsearch/gradle/util/OsUtils.java @@ -38,7 +38,7 @@ private OsUtils() {} * This method returns true if the given version of the JDK is known to be incompatible */ public static boolean jdkIsIncompatibleWithOS(Version version) { - return version.onOrBefore("8.10.4") && isUbuntu2404OrLater(); + return version.after("0.0.0") && version.onOrBefore("8.10.4") && isUbuntu2404OrLater(); } private static boolean isUbuntu2404OrLater() { diff --git a/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/AbstractLocalClusterFactory.java b/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/AbstractLocalClusterFactory.java index f111d5a66fea9..6afea5787f39d 100644 --- a/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/AbstractLocalClusterFactory.java +++ b/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/AbstractLocalClusterFactory.java @@ -82,7 +82,7 @@ public abstract class AbstractLocalClusterFactory getEnvironmentVariables() { Map environment = new HashMap<>(spec.resolveEnvironment()); String esFallbackJavaHome = System.getenv("ES_FALLBACK_JAVA_HOME"); - if (spec.getVersion().before(DISTRO_WITH_JDK_LOWER_21) && esFallbackJavaHome != null && esFallbackJavaHome.isEmpty() == false) { + if (jdkIsIncompatible(spec.getVersion()) && esFallbackJavaHome != null && esFallbackJavaHome.isEmpty() == false) { environment.put("ES_JAVA_HOME", esFallbackJavaHome); } environment.put("ES_PATH_CONF", configDir.toString()); @@ -926,6 +926,10 @@ private Map getJvmOptionsReplacements() { "-XX:ErrorFile=logs/hs_err_pid%p.log", "-XX:ErrorFile=" + logsDir.resolve("hs_err_pid%p.log") ); + } + + private boolean jdkIsIncompatible(Version version) { + return version.after("0.0.0") && version.before(FIRST_DISTRO_WITH_JDK_21); } private void runToolScript(String tool, String input, String... args) { From da36000d333e2705a31384eedc38301fb8f16c81 Mon Sep 17 00:00:00 2001 From: elasticsearchmachine Date: Thu, 25 Sep 2025 08:44:06 +0000 Subject: [PATCH 2/3] [CI] Auto commit changes from spotless --- .../test/cluster/local/AbstractLocalClusterFactory.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/AbstractLocalClusterFactory.java b/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/AbstractLocalClusterFactory.java index 6afea5787f39d..612572ca7ed2a 100644 --- a/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/AbstractLocalClusterFactory.java +++ b/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/AbstractLocalClusterFactory.java @@ -926,8 +926,8 @@ private Map getJvmOptionsReplacements() { "-XX:ErrorFile=logs/hs_err_pid%p.log", "-XX:ErrorFile=" + logsDir.resolve("hs_err_pid%p.log") ); - } - + } + private boolean jdkIsIncompatible(Version version) { return version.after("0.0.0") && version.before(FIRST_DISTRO_WITH_JDK_21); } From 9382ff50a9358ffc1a70300d6f43b89c192d9743 Mon Sep 17 00:00:00 2001 From: Rene Groeschke Date: Thu, 25 Sep 2025 11:54:13 +0200 Subject: [PATCH 3/3] Fix typo --- .../org/elasticsearch/gradle/TestClustersPluginFuncTest.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-tools/src/integTest/groovy/org/elasticsearch/gradle/TestClustersPluginFuncTest.groovy b/build-tools/src/integTest/groovy/org/elasticsearch/gradle/TestClustersPluginFuncTest.groovy index fd51e5552a675..af83fbbd06326 100644 --- a/build-tools/src/integTest/groovy/org/elasticsearch/gradle/TestClustersPluginFuncTest.groovy +++ b/build-tools/src/integTest/groovy/org/elasticsearch/gradle/TestClustersPluginFuncTest.groovy @@ -250,7 +250,7 @@ class TestClustersPluginFuncTest extends AbstractGradleFuncTest { buildFile << """ testClusters { - myCluster1 { + myCluster { testDistribution = 'default' version = '8.10.4' }