aws / aws/aws-durable-execution-sdk-python

Plugin conformance tests are flaky when CloudWatch logs are not yet visible

オープン
#708 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug pkg:testing
主要言語
Python
スター
53
フォーク
25
平均マージ
1日 19時間
マージ済み PR(30日)
40

説明

## Summary

The `conformance (plugin)` job can fail because expected plugin log records are not returned by CloudWatch, even though the durable execution and history validation complete successfully.

## Evidence

- Previous successful run: `33907972521` at commit `4ce54bcf`.
- Failed run: `33922277509` at commit `676c75a`.
- Attempt 1, job `101185043031`: test `10-11` (`plugin_nested_parent_linkage`) failed because both expected `operation-end` records matched 0 logs: the inner step record and the child-context record.
- Retry attempt 2, job `101188790974`: test `10-11` passed, but unrelated test `10-7` (`plugin_terminal_failure`) failed because its `invocation-start` and `invocation-end` records matched 0 logs.

The failure moving between tests on the same commit strongly suggests CloudWatch ingestion/filter timing or log-stream lookup flakiness rather than a deterministic SDK regression. The diff from the previous successful commit only changes OTel release metadata and does not affect the regular core plugin suite.

## Suggested investigation

- Increase or make configurable the CloudWatch log propagation/polling window in the conformance runner.
- Log the resolved log group, execution ARN filter, event count, and final retrieved records when `ExpectedLogs` fails.
- Pin the conformance runner to a known commit in CI instead of installing `@main`.
- Re-run the plugin suite repeatedly against the same commit to confirm the failure rate.

Relevant workflow: `.github/workflows/conformance-tests.yml`, step `Run conformance suite`.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

.github/workflows/conformance-tests.yml と「Run conformance suite」ステップから始め、その後、同じコミットに対して plugin suite を繰り返し実行します。CloudWatch の伝播またはログストリーム検索のタイミングを調査し、提案されている log-group、execution-filter、event-count、retrieved-record の診断情報を取得します。完了の条件は、conformance tests が期待されるレコードを安定して見つけられることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
aws, python
領域
ci-cd, observability, testing
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
48/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。