From 5f40d491774a583200a6b6dc190f6e7d5954d20d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Oct 2026 04:49:17 +0000 Subject: [PATCH 1/2] [maven]: Bump opentelemetry.version from 1.66.0 to 1.67.0 Bumps `opentelemetry.version` from 1.66.0 to 1.67.0. Updates `io.opentelemetry:opentelemetry-api` from 1.66.0 to 1.67.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-java/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-java/compare/v1.66.0...v1.67.0) Updates `io.opentelemetry:opentelemetry-sdk` from 1.66.0 to 1.67.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-java/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-java/compare/v1.66.0...v1.67.0) Updates `io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi` from 1.66.0 to 1.67.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-java/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-java/compare/v1.66.0...v1.67.0) Updates `io.opentelemetry:opentelemetry-context` from 1.66.0 to 1.67.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-java/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-java/compare/v1.66.0...v1.67.0) Updates `io.opentelemetry:opentelemetry-sdk-testing` from 1.66.0 to 1.67.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-java/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-java/compare/v1.66.0...v1.67.0) --- updated-dependencies: - dependency-name: io.opentelemetry:opentelemetry-api dependency-version: 1.67.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.opentelemetry:opentelemetry-sdk dependency-version: 1.67.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi dependency-version: 1.67.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.opentelemetry:opentelemetry-context dependency-version: 1.67.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.opentelemetry:opentelemetry-sdk-testing dependency-version: 1.67.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- otel-plugin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/otel-plugin/pom.xml b/otel-plugin/pom.xml index c4efa0f3df..02391a2ffb 100644 --- a/otel-plugin/pom.xml +++ b/otel-plugin/pom.xml @@ -15,7 +15,7 @@ OpenTelemetry instrumentation plugin for AWS Lambda Durable Execution SDK - 1.66.0 + 1.67.0 From 7c7a0714463975a3e04a09023b16a6f576b4a002 Mon Sep 17 00:00:00 2001 From: Frank Chen <65260095+zhongkechen@users.noreply.github.com> Date: Wed, 14 Oct 2026 22:38:54 +0000 Subject: [PATCH 2/2] fix: keep OpenTelemetry test tracer providers active OpenTelemetry 1.67 returns a no-op tracer when a provider has no span processors. Attach a simple processor with a no-op exporter to the test providers that need real ID generation and sampling behavior. Keep the existing assertions and avoid exporting spans outside the tests. --- .../otel/DeterministicIdGeneratorTest.java | 25 +++++++++++++------ .../otel/ReplacementSamplerPolicyTest.java | 3 +++ .../otel/RootStartProcessorIsolationTest.java | 3 +++ 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/DeterministicIdGeneratorTest.java b/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/DeterministicIdGeneratorTest.java index 5bb3820937..a5db39b32f 100644 --- a/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/DeterministicIdGeneratorTest.java +++ b/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/DeterministicIdGeneratorTest.java @@ -12,6 +12,8 @@ import io.opentelemetry.sdk.trace.IdGenerator; import io.opentelemetry.sdk.trace.SdkTracerProvider; import io.opentelemetry.sdk.trace.data.LinkData; +import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; +import io.opentelemetry.sdk.trace.export.SpanExporter; import io.opentelemetry.sdk.trace.samplers.Sampler; import io.opentelemetry.sdk.trace.samplers.SamplingResult; import java.time.Instant; @@ -54,8 +56,10 @@ void generateTraceId_withoutArn_returnsRandom() { @Test void scopedIds_delegateOutsideScope() { var providerGenerator = new DeterministicIdGenerator(); - try (var provider = - SdkTracerProvider.builder().setIdGenerator(providerGenerator).build()) { + try (var provider = SdkTracerProvider.builder() + .setIdGenerator(providerGenerator) + .addSpanProcessor(SimpleSpanProcessor.create(SpanExporter.noop())) + .build()) { var pluginTracer = provider.get("durable-plugin"); var unrelatedTracer = provider.get("unrelated-library"); @@ -85,8 +89,10 @@ void scopedIds_delegateOutsideScope() { @Test void scopedIds_bridgeAcrossGeneratorInstances() { var agentGenerator = new DeterministicIdGenerator(); - try (var provider = - SdkTracerProvider.builder().setIdGenerator(agentGenerator).build()) { + try (var provider = SdkTracerProvider.builder() + .setIdGenerator(agentGenerator) + .addSpanProcessor(SimpleSpanProcessor.create(SpanExporter.noop())) + .build()) { var workflowTraceId = generator.generateTraceIdForExecution("arn:exec1", EXECUTION_START_TIME); var workflowSpanId = generator.generateWorkflowSpanId("arn:exec1"); var workflow = generator.startSpan( @@ -112,6 +118,7 @@ void scopedTraceId_isConsumedBeforeSamplerStartsNestedRoot() { try (var provider = SdkTracerProvider.builder() .setIdGenerator(agentGenerator) .setSampler(sampler) + .addSpanProcessor(SimpleSpanProcessor.create(SpanExporter.noop())) .build()) { var tracer = provider.get("durable-plugin"); tracerReference.set(tracer); @@ -134,8 +141,10 @@ void scopedTraceId_isConsumedBeforeSamplerStartsNestedRoot() { void concurrentScopedIds_doNotOverwriteEachOther() throws Exception { var agentGenerator = new DeterministicIdGenerator(); var executor = Executors.newFixedThreadPool(2); - try (var provider = - SdkTracerProvider.builder().setIdGenerator(agentGenerator).build()) { + try (var provider = SdkTracerProvider.builder() + .setIdGenerator(agentGenerator) + .addSpanProcessor(SimpleSpanProcessor.create(SpanExporter.noop())) + .build()) { var tracer = provider.get("durable-plugin"); var barrier = new CyclicBarrier(2); var traceId1 = generator.generateTraceIdForExecution("arn:exec1", EXECUTION_START_TIME); @@ -165,7 +174,9 @@ void concurrentScopedIds_doNotOverwriteEachOther() throws Exception { void installOn_preservesConfiguredFallbackGenerator() { var fallbackTraceId = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"; var fallbackSpanId = "cccccccccccccccc"; - var builder = SdkTracerProvider.builder().setIdGenerator(fixedIds(fallbackTraceId, fallbackSpanId)); + var builder = SdkTracerProvider.builder() + .setIdGenerator(fixedIds(fallbackTraceId, fallbackSpanId)) + .addSpanProcessor(SimpleSpanProcessor.create(SpanExporter.noop())); var installedGenerator = DeterministicIdGenerator.installOn(builder); try (var provider = builder.build()) { diff --git a/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/ReplacementSamplerPolicyTest.java b/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/ReplacementSamplerPolicyTest.java index b682a9ea3f..03c601e09e 100644 --- a/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/ReplacementSamplerPolicyTest.java +++ b/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/ReplacementSamplerPolicyTest.java @@ -15,6 +15,8 @@ import io.opentelemetry.context.propagation.ContextPropagators; import io.opentelemetry.sdk.trace.SdkTracerProvider; import io.opentelemetry.sdk.trace.data.LinkData; +import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; +import io.opentelemetry.sdk.trace.export.SpanExporter; import io.opentelemetry.sdk.trace.samplers.Sampler; import io.opentelemetry.sdk.trace.samplers.SamplingResult; import java.time.Duration; @@ -71,6 +73,7 @@ public String getDescription() { try (var provider = SdkTracerProvider.builder() .setSampler(topology.equals("plain") ? configured : DurableSampler.wrap(configured)) .setIdGenerator(new DeterministicIdGenerator()) + .addSpanProcessor(SimpleSpanProcessor.create(SpanExporter.noop())) .build()) { var opaque = new TracerProvider() { public Tracer get(String name) { diff --git a/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/RootStartProcessorIsolationTest.java b/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/RootStartProcessorIsolationTest.java index df7f52dd0d..04277e3ec0 100644 --- a/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/RootStartProcessorIsolationTest.java +++ b/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/RootStartProcessorIsolationTest.java @@ -14,6 +14,8 @@ import io.opentelemetry.sdk.trace.SdkTracerProvider; import io.opentelemetry.sdk.trace.SpanProcessor; import io.opentelemetry.sdk.trace.data.LinkData; +import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; +import io.opentelemetry.sdk.trace.export.SpanExporter; import io.opentelemetry.sdk.trace.samplers.Sampler; import io.opentelemetry.sdk.trace.samplers.SamplingResult; import java.time.Instant; @@ -72,6 +74,7 @@ void durableStartCallbacksRetainTheirOwnSamplingAndRandomIds( : SdkTracerProvider.builder() .setSampler(DurableSampler.wrap(policy)) .setIdGenerator(new DeterministicIdGenerator()) + .addSpanProcessor(SimpleSpanProcessor.create(SpanExporter.noop())) .build()) { observer.tracer = unrelated.get("processor"); var original = Context.current();