fix(otel): set explicit span status OK on successful operation and attempt spans - #583
fix(otel): set explicit span status OK on successful operation and attempt spans#583SilanHe wants to merge 4 commits into
Conversation
Port the explicit success-status behavior from the Python OTel plugin (PR #604) to the Java plugins. Operation spans (onOperationEnd terminal path and the cross-invocation continuation-span path) and attempt spans (onUserFunctionEnd) now call span.setStatus(StatusCode.OK) on success, where previously they were left UNSET. Existing ERROR + recordException on failure is unchanged. Applied to both InvocationOtelPlugin and ExecutionOtelPlugin. The Invocation-span (applyInvocationStatus) and Workflow-span OK/ERROR mappings are untouched, and operation spans force-ended attribute-less at onInvocationEnd (still-running/suspended) remain UNSET. Adds OK-on-success tests for operation and attempt spans in both plugin test classes.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Addressed the Codex P1 / Claude finding in The Added 6 regression tests (3 per plugin): non- |
This comment has been minimized.
This comment has been minimized.
Claude AI reviewNo actionable findings. This change is correct, symmetric across I verified the two guards against the SDK's actual behavior:
Residual test risk (minor, non-blocking): The new tests assert OK on the this-invocation operation branch ( Reviewed commit |
This comment has been minimized.
This comment has been minimized.
Codex AI reviewNo actionable findings. Residual risk: success status is covered through direct plugin-hook tests, but not through an end-to-end durable runner lifecycle. Reviewed commit |
Summary
set explicit span status OK on successful operation and attempt spans
Testing
Coordination
Aligns Java with the operation-status/span-status model tracked by aws/aws-durable-execution-conformance-tests#52 and #53, matching Python #604 and the JS companion change.