Skip to content

feat: add retry with exponential backoff for artifact downloads#326

Merged
honnix merged 2 commits intomasterfrom
feat/retry-artifact-downloads
Mar 24, 2026
Merged

feat: add retry with exponential backoff for artifact downloads#326
honnix merged 2 commits intomasterfrom
feat/retry-artifact-downloads

Conversation

@honnix
Copy link
Member

@honnix honnix commented Mar 24, 2026

Summary

  • Extract generic Retries class from GrpcRetries, parameterized with a Predicate<Exception> for retryability instead of hardcoded gRPC status codes
  • Apply retry with exponential backoff (5 retries, 1s initial, 10s max delay) in PackageLoader.handleArtifact to work around transient SSL failures (JDK SSLException/AEADBadTagException bug) during artifact downloads from cloud storage
  • FlyteAdminClient migrated to use the shared Retries class with its gRPC-specific retry predicate

Test plan

  • RetriesTest covers gRPC retry scenarios (max attempts, successful retry, non-retryable, other exception)
  • RetriesTest covers IO retry scenarios (max attempts, successful retry, non-retryable)
  • FlyteAdminClientTest passes with new Retries-based setup
  • All 184 jflyte-utils tests pass
  • Spotless check passes

🤖 Generated with Claude Code

@honnix honnix force-pushed the feat/retry-artifact-downloads branch 2 times, most recently from 50a9073 to 7d3e8ee Compare March 24, 2026 15:06
@honnix honnix enabled auto-merge (squash) March 24, 2026 15:52
honnix and others added 2 commits March 24, 2026 16:53
Extract generic Retries class from GrpcRetries and apply it in
PackageLoader.handleArtifact to work around transient SSL failures
(JDK SSLException/AEADBadTagException bug) during artifact downloads
from cloud storage.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Hongxin Liang <honnix@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Hongxin Liang <honnix@users.noreply.github.com>
@honnix honnix force-pushed the feat/retry-artifact-downloads branch from 7d3e8ee to ab60c6b Compare March 24, 2026 15:53
@honnix honnix merged commit 9bfdc21 into master Mar 24, 2026
2 of 3 checks passed
@honnix honnix deleted the feat/retry-artifact-downloads branch March 24, 2026 15:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants