This is an automated email from the ASF dual-hosted git repository. dsmiley pushed a commit to branch feature/SOLR-17458-rebased in repository https://gitbox.apache.org/repos/asf/solr.git
commit 70c02c9e3bd382cff82e5a93e0b229385dcc1db2 Author: David Smiley <[email protected]> AuthorDate: Tue Oct 14 10:07:19 2025 -0400 SOLR-17458: dependency matters (test runtime) --- .../apache/solr/metrics/OtelRuntimeJvmMetrics.java | 28 ++++++++++++++++++---- solr/licenses/spring-boot-actuator-3.3.3.jar.sha1 | 1 - ...ring-boot-actuator-autoconfigure-3.3.3.jar.sha1 | 1 - solr/modules/s3-repository/build.gradle | 12 ++-------- solr/modules/s3-repository/gradle.lockfile | 2 -- 5 files changed, 25 insertions(+), 19 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/metrics/OtelRuntimeJvmMetrics.java b/solr/core/src/java/org/apache/solr/metrics/OtelRuntimeJvmMetrics.java index 055e70efa70..19803372dae 100644 --- a/solr/core/src/java/org/apache/solr/metrics/OtelRuntimeJvmMetrics.java +++ b/solr/core/src/java/org/apache/solr/metrics/OtelRuntimeJvmMetrics.java @@ -16,8 +16,11 @@ */ package org.apache.solr.metrics; +import io.opentelemetry.api.OpenTelemetry; +import io.opentelemetry.api.metrics.MeterProvider; +import io.opentelemetry.api.trace.TracerProvider; +import io.opentelemetry.context.propagation.ContextPropagators; import io.opentelemetry.instrumentation.runtimemetrics.java17.RuntimeMetrics; -import io.opentelemetry.sdk.OpenTelemetrySdk; import java.lang.invoke.MethodHandles; import org.apache.solr.common.util.EnvUtils; import org.slf4j.Logger; @@ -39,11 +42,26 @@ public class OtelRuntimeJvmMetrics { SolrMetricManager solrMetricManager, String registryName) { if (!isJvmMetricsEnabled()) return this; + // a dummy instance; we only care to provide the MeterProvider + var otel = + new OpenTelemetry() { + @Override + public MeterProvider getMeterProvider() { + return solrMetricManager.meterProvider(registryName); + } + + @Override + public TracerProvider getTracerProvider() { + return OpenTelemetry.noop().getTracerProvider(); + } + + @Override + public ContextPropagators getPropagators() { + return OpenTelemetry.noop().getPropagators(); + } + }; this.runtimeMetrics = - RuntimeMetrics.builder( - OpenTelemetrySdk.builder() - .setMeterProvider(solrMetricManager.meterProvider(registryName)) - .build()) + RuntimeMetrics.builder(otel) // TODO: We should have this configurable to enable/disable specific JVM metrics .enableAllFeatures() .build(); diff --git a/solr/licenses/spring-boot-actuator-3.3.3.jar.sha1 b/solr/licenses/spring-boot-actuator-3.3.3.jar.sha1 deleted file mode 100644 index 43809f53bf0..00000000000 --- a/solr/licenses/spring-boot-actuator-3.3.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -cedbe2d79a7c1b9a3f3f38cd3626478f7c6e56e3 diff --git a/solr/licenses/spring-boot-actuator-autoconfigure-3.3.3.jar.sha1 b/solr/licenses/spring-boot-actuator-autoconfigure-3.3.3.jar.sha1 deleted file mode 100644 index c010cef8c1d..00000000000 --- a/solr/licenses/spring-boot-actuator-autoconfigure-3.3.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -49c44f2ef968ee4cc5c3adee03ecbc55d64aaa93 diff --git a/solr/modules/s3-repository/build.gradle b/solr/modules/s3-repository/build.gradle index d1f27267486..fe2cc7f0748 100644 --- a/solr/modules/s3-repository/build.gradle +++ b/solr/modules/s3-repository/build.gradle @@ -57,16 +57,7 @@ dependencies { testImplementation libs.hamcrest.hamcrest testImplementation(libs.adobe.testing.s3mock.junit4) { - // Don't pull in separate versions of these libs, just use what Solr already has - exclude group: 'org.apache.logging.log4j', module: 'log4j-to-slf4j' - exclude group: 'ch.qos.logback', module: 'logback-classic' - exclude group: 'org.eclipse.jetty', module: '*' - exclude group: 'io.netty', module: '*' - exclude group: 'commons-io', module: 'commons-io' - exclude group: 'commons-codec', module: 'commons-codec' - exclude group: 'org.apache.commons', module: 'commons-lang3' - exclude group: 'software.amazon.awssdk', module: 'netty-nio-client' - exclude group: 'org.codehaus.woodstox', module: 'stax2-api' + transitive = false } testImplementation(libs.adobe.testing.s3mock.testsupportcommon) { // Don't pull in separate versions of these libs, just use what Solr already has @@ -79,6 +70,7 @@ dependencies { exclude group: 'org.apache.commons', module: 'commons-lang3' exclude group: 'software.amazon.awssdk', module: 'netty-nio-client' exclude group: 'org.codehaus.woodstox', module: 'stax2-api' + exclude group: 'org.springframework.boot', module: 'spring-boot-actuator-autoconfigure' } testImplementation libs.commonsio.commonsio diff --git a/solr/modules/s3-repository/gradle.lockfile b/solr/modules/s3-repository/gradle.lockfile index 8ee385583df..058305c28e4 100644 --- a/solr/modules/s3-repository/gradle.lockfile +++ b/solr/modules/s3-repository/gradle.lockfile @@ -218,8 +218,6 @@ org.semver4j:semver4j:6.0.0=apiHelper,jarValidation,runtimeClasspath,runtimeLibs org.slf4j:jcl-over-slf4j:2.0.17=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.slf4j:jul-to-slf4j:2.0.17=jarValidation,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.slf4j:slf4j-api:2.0.17=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath -org.springframework.boot:spring-boot-actuator-autoconfigure:3.3.3=jarValidation,testCompileClasspath,testRuntimeClasspath -org.springframework.boot:spring-boot-actuator:3.3.3=jarValidation,testCompileClasspath,testRuntimeClasspath org.springframework.boot:spring-boot-autoconfigure:3.3.3=jarValidation,testCompileClasspath,testRuntimeClasspath org.springframework.boot:spring-boot-starter-actuator:3.3.3=jarValidation,testCompileClasspath,testRuntimeClasspath org.springframework.boot:spring-boot-starter-jetty:3.3.3=jarValidation,testCompileClasspath,testRuntimeClasspath
