aws / aws/aws-durable-execution-sdk-python
Plugin conformance tests are flaky when CloudWatch logs are not yet visible
- Lenguaje dominante
- Python
- Estrellas
- 53
- Forks
- 25
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 40
Descripción
## 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`.
Guía de contribución
Línea de trabajo
Comienza con .github/workflows/conformance-tests.yml y el paso “Run conformance suite”; después, vuelve a ejecutar repetidamente la plugin suite contra el mismo commit. Investiga la propagación de CloudWatch o el tiempo de búsqueda del flujo de logs y captura los diagnósticos sugeridos de log-group, execution-filter, event-count y retrieved-record; se considera terminado cuando las conformance tests encuentren de forma fiable los registros esperados.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- aws, python
- Área
- ci-cd, observability, testing
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100