Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

[Bug]: root handler instrumentation misses the canonical OTel execution context

Geschlossen
#770 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
40/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
java
Bereich
observability

Rechercherichtung

Start with Java conformance PR #769, case22, and the LocalDurableTestRunner regression on main61f5d103. Trace the core/plugin lifecycle hooks and handler-thread behavior; done means root probes join the canonical trace in both views, context is restored across success, failure, suspension, and resume, and older combinations retain behavior.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

needs-triage
Expected behavior

User instrumentation in the root durable handler should join the canonical execution trace in both OTel views, including before/after nested operations and after resume. Preserve a valid same-trace ambient Lambda span; otherwise activate the view root (Workflow for execution view, Invocation for invocation view). Restore the previous context on the same handler thread on success, failure and suspension.

Actual behavior

The plugins select the canonical trace for SDK spans but never activate context around the root handler body. Nested callbacks have scopes, while root instrumentation sees either an invalid context or an unrelated ambient trace. SpanContext.isValid() alone does not detect the latter.

Java conformance PR #769, head078ce3b719f8bebf5fe5ab77a6f06c148fa3cf7f, exposes this in case22 on both views and both deployed backends (ADOT/X-Ray and Community/S3). Root probes conformance.handler, conformance.handler-restored, and conformance.handler-after-resume are absent from the canonical trace; nested callback probes pass. Deployed run: https://github.com/aws/aws-durable-execution-sdk-java/actions/runs/37079677202

A local public LocalDurableTestRunner regression also reproduces invalid root context without an agent on current main61f5d103, both sampled and unsampled, while the plugins already know the canonical trace. Supplying a different valid ambient trace reproduces incorrect trace membership.

Scope

Provide a focused nonbreaking core/plugin lifecycle capability. The scope must close on the handler thread: invocation end hooks can run on a different CompletableFuture completion thread. Preserve source/binary APIs, seven-component InvocationInfo, existing config/replay identities, released core/plugin combinations and separate plugin layers. Older cores may lack the new capability but must retain existing behavior. No major factory migration, handler-fixture parent binding, or weaker conformance assertions.

Related topology issue #644 handled SDK span parent selection, not root handler activation. #721 is the separate breaking plugin-lifetime migration. Coverage searches found no current implementation of this handler scope.

Vorherrschende Sprache
Java
Sterne
28
Forks
16
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
68

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus aws/aws-durable-execution-sdk-java

Alle Issues in aws/aws-durable-execution-sdk-java

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.