[Feature]: Add targeted retries for retryable SerDes failures
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 52/100
Direção de pesquisa
Comece localizando a classificação existente de RetryableSerDesError e a chamada configurada de SerDes descrita na issue; compare o comportamento no nível do stage em aws/aws-durable-execution-sdk-java#648. Considera-se concluído quando somente falhas de SerDes que podem ser repetidas são repetidas, com testes de policy limitados e determinísticos, enquanto os erros não repetíveis e os detalhes da exceção final permanecem inalterados.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Python
- Estrelas
- 58
- Forks
- 32
- Merge médio
- 1d 6h
- PRs com merge (30d)
- 80
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de aws/aws-durable-execution-sdk-python
-
enhancement needs-triage
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 72/100
aws/aws-durable-execution-sdk-python#927 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
aws/aws-durable-execution-sdk-python#875 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
aws/aws-durable-execution-sdk-python#794 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 58/100
aws/aws-durable-execution-sdk-python#921 ·
Mantenedores costumam responder em até 1 dia
-
[Bug]: JS examples CI still invokes Jest after Vitest migrationTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertabug needs-triage
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
aws/aws-durable-execution-sdk-python#918 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de aws/aws-durable-execution-sdk-python
Issues semelhantes
-
physical
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
antonyrag/ragleap-core#1339 ·
-
enhancement good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
AllenCell/SubCellSeg#5 ·
-
[🐛 Bug]: oidc_authverifier.py strips trailing slash causing "Invalid token: Invalid issuer" errorAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
bug game: 01008BA02525A000 ios
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
needs-triage
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 87/100
gke-labs/kube-agents#5501 ·
Mantenedores costumam responder em até 1 dia