[Feature]: Add targeted retries for retryable SerDes failures
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 52/100
Línea de trabajo
Comienza localizando la clasificación existente de RetryableSerDesError y la llamada configurada a SerDes descrita en el issue; compara el comportamiento a nivel de etapa en aws/aws-durable-execution-sdk-java#648. Se considera terminado cuando solo los fallos reintentables de SerDes se reintentan con pruebas de política acotadas y deterministas, mientras que los errores no reintentables y los detalles de la excepción final permanecen sin cambios.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What would you like?
Add a targeted retry decorator for transient SerDes failures.
Python already exposes RetryableSerDesError, but the configured SerDes call is currently propagated after the first failure. External-storage transformations such as S3 Files/EFS access can fail transiently without requiring the entire durable operation to be rerun.
Possible Implementation
- Provide a
RetrySerDesdecorator, and make it usable as a stage if/when a composable SerDes pipeline is added. - Retry only
RetryableSerDesError; propagateSerDesErrorand other non-retryable failures immediately. - Accept a bounded retry policy with maximum attempts and optional backoff/jitter, reusing existing retry-strategy concepts where that does not imply durable checkpoints.
- Pass the same value/data and
SerDesContextto every attempt. - Preserve the final exception type, causal chain, error data, and stack information after exhaustion.
- Ensure retries wrap only the selected SerDes transformation rather than restarting the value codec or durable operation.
- Add deterministic tests with an injected sleeper/clock so retry tests do not depend on real delays.
Is this a breaking change?
No.
Does this require an RFC?
No.
Additional Context
This builds on the existing RetryableSerDesError classification rather than introducing another recoverability mechanism. The Java SDK implementation in aws/aws-durable-execution-sdk-java#648 provides a stage-level retry decorator with the same targeted behavior.
- Lenguaje dominante
- Python
- Estrellas
- 58
- Forks
- 32
- Merge medio
- 1 d 6 h
- PR fusionados (30 d)
- 80
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de aws/aws-durable-execution-sdk-python
-
enhancement needs-triage
Dificultad 1/5 1-3 horas Aptitud para principiantes 72/100
aws/aws-durable-execution-sdk-python#927 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
aws/aws-durable-execution-sdk-python#875 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
aws/aws-durable-execution-sdk-python#794 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
aws/aws-durable-execution-sdk-python#921 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: JS examples CI still invokes Jest after Vitest migrationPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug needs-triage
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
aws/aws-durable-execution-sdk-python#918 ·
Los mantenedores suelen responder en 1 día
Todos los issues de aws/aws-durable-execution-sdk-python
Issues similares
-
physical
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
antonyrag/ragleap-core#1339 ·
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
AllenCell/SubCellSeg#5 ·
-
[🐛 Bug]: oidc_authverifier.py strips trailing slash causing "Invalid token: Invalid issuer" errorAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
keephq/keep#6934 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
bug game: 01008BA02525A000 ios
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
needs-triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 87/100
gke-labs/kube-agents#5501 ·
Los mantenedores suelen responder en 1 día