Browse Source

Use java8 variant of apm-agent (#132651)

This commit changes the apm-agent dependency to the java8 variant. The
current dependency has a minimum java7 version, which restricts the
dependency upgrades it can do.
Ryan Ernst 2 months ago
parent
commit
c91871f6f5

+ 1 - 1
distribution/tools/server-cli/src/main/java/org/elasticsearch/server/cli/APMJvmOptions.java

@@ -329,7 +329,7 @@ class APMJvmOptions {
 
         try (var apmStream = Files.list(apmModule)) {
             final List<Path> paths = apmStream.filter(
-                path -> path.getFileName().toString().matches("elastic-apm-agent-\\d+\\.\\d+\\.\\d+\\.jar")
+                path -> path.getFileName().toString().matches("elastic-apm-agent-java8-\\d+\\.\\d+\\.\\d+\\.jar")
             ).toList();
 
             if (paths.size() > 1) {

+ 1 - 1
distribution/tools/server-cli/src/test/java/org/elasticsearch/server/cli/APMJvmOptionsTests.java

@@ -141,7 +141,7 @@ public class APMJvmOptionsTests extends ESTestCase {
         Path tempFile = createTempFile();
         Path apmPathDir = tempFile.getParent().resolve("modules").resolve("apm");
         Files.createDirectories(apmPathDir);
-        Path apmAgentFile = apmPathDir.resolve("elastic-apm-agent-0.0.0.jar");
+        Path apmAgentFile = apmPathDir.resolve("elastic-apm-agent-java8-0.0.0.jar");
         Files.move(tempFile, apmAgentFile);
 
         return tempFile.getParent();

+ 5 - 0
docs/changelog/132651.yaml

@@ -0,0 +1,5 @@
+pr: 132651
+summary: Use java8 variant of apm-agent
+area: Infra/Core
+type: upgrade
+issues: []

+ 3 - 3
gradle/verification-metadata.xml

@@ -76,9 +76,9 @@
             <sha256 value="10fe288fd7a2cdaf5175332b73529f9abf8fd54dcfff317d6967c0c35ffb133b" origin="Generated by Gradle"/>
          </artifact>
       </component>
-      <component group="co.elastic.apm" name="elastic-apm-agent" version="1.55.0">
-         <artifact name="elastic-apm-agent-1.55.0.jar">
-            <sha256 value="3cbba96a64593c14568399dbc816fc36a5647e39449e1d4cf1eedce9880a9d3e" origin="Generated by Gradle"/>
+      <component group="co.elastic.apm" name="elastic-apm-agent-java8" version="1.55.0">
+         <artifact name="elastic-apm-agent-java8-1.55.0.jar">
+            <sha256 value="a4f3ae98e180dd5138cc8c719889366fe7d3afcecdb618da6db0b144a1717ac8" origin="Generated by Gradle"/>
          </artifact>
       </component>
       <component group="co.elastic.logging" name="ecs-logging-core" version="1.2.0">

+ 1 - 1
modules/apm/build.gradle

@@ -20,7 +20,7 @@ dependencies {
   implementation "io.opentelemetry:opentelemetry-api:${otelVersion}"
   implementation "io.opentelemetry:opentelemetry-context:${otelVersion}"
   implementation "io.opentelemetry:opentelemetry-semconv:${otelSemconvVersion}"
-  runtimeOnly    "co.elastic.apm:elastic-apm-agent:1.55.0"
+  runtimeOnly    "co.elastic.apm:elastic-apm-agent-java8:1.55.0"
 
   javaRestTestImplementation project(':modules:apm')
   javaRestTestImplementation project(':test:framework')

+ 0 - 0
modules/apm/licenses/elastic-apm-agent-LICENSE.txt → modules/apm/licenses/elastic-apm-agent-java8-LICENSE.txt


+ 0 - 0
modules/apm/licenses/elastic-apm-agent-NOTICE.txt → modules/apm/licenses/elastic-apm-agent-java8-NOTICE.txt


+ 1 - 1
server/src/main/java/org/elasticsearch/node/Node.java

@@ -219,7 +219,7 @@ public class Node implements Closeable {
                     "\\" + File.separator,
                     ".*modules",
                     "apm",
-                    "elastic-apm-agent-\\d+\\.\\d+\\.\\d+\\.jar"
+                    "elastic-apm-agent-java8-\\d+\\.\\d+\\.\\d+\\.jar"
                 );
                 if (parts[0].matches(APM_AGENT_CONFIG_FILE_REGEX)) {
                     if (parts.length == 2 && parts[1].startsWith("c=")) {