aws / aws/aws-durable-execution-sdk-java

Plugin hook info records missing state/metadata fields at invocation, attempt, and change hooks

Đang mở
#604 0 bình luận 0 reaction 1 người được giao Được @wangyb-A nhận Xem trên GitHub
Ngôn ngữ chính
Java
Star
28
Fork
11
Merge trung bình
1 ngày 8 giờ
Pull request đã merge (30 ngày)
47

Mô tả

## Summary
Java's plugin info records lack metadata/state fields the Python/JS SDKs expose. Live cross-SDK conformance evidence exists per gap.

**GA scope update:** payload surfaces (execution input/result, operation `result`) have been moved OUT of GA conformance scope — experimental, no longer asserted by the field-shape requirements (see aws/aws-durable-execution-conformance-tests#72). They remain listed at the end as post-GA parity items; the operation-result gap is still evidenced by the untouched behavioral requirement 10-14 (#581).

## In-scope missing fields (verified against `sdk/src/main/java/software/amazon/lambda/durable/plugin/`)
**`InvocationInfo`** — missing `operations` and `updatedOperations` maps (JS exposes both on every invocation hook).
**`InvocationEndInfo`** — missing the `operations` map AND `executionStartTime` (present on the start info but dropped from the end record — confirmed by live probe).
**`UserFunctionStartInfo`/`UserFunctionEndInfo`** (attempt hooks) — missing the operation-level `isReplay` indicator (Python and JS carry it on attempt infos; Java only has the distinct `isReplayingChildren`).
**`OperationChangeItemInfo`** — missing `attempt` and a replay indicator (JS/Python change items are full operation infos).
Secondary: `UserFunctionEndInfo` uses `boolean succeeded` where JS/Python use a SUCCEEDED/FAILED outcome enum.

## Evidence
Field-shape requirements 10-19..10-23 (aws/aws-durable-execution-conformance-tests#72), canonical-dump handlers in #602 — live run 18/21: 10-19 (maps + end-side start time), 10-21 (`isReplay` presence), 10-22 (item attempt/replay) red; 10-20 and 10-23 green. Notably green: end-info `isFirstInvocation` (ahead of JS), `OperationInfo.status` (#597), attempt-end timestamps (ahead of JS), `isReplayingChildren` semantics.

## Post-GA / experimental parity items (not currently asserted)
- `executionInput`/`executionResult` on invocation infos; `result` on `OperationInfo`/`OperationEndInfo`/`OperationChangeItemInfo` (the OperationEndInfo result gap remains tracked by behavioral test 10-14 / #581)

## Suggested fix
Add the operations/updated-operations maps + end-side `executionStartTime` to the invocation infos (`DurableExecutor`/`ExecutionManager`), `isReplay` to the user-function infos, and `attempt`+replay indicator to `OperationChangeItemInfo` (via `PluginInfoConverter`). Conformance 10-19/10-21/10-22 flip green with no test changes.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.