acoustic-carpenter-78188
03/24/2026, 8:24 AMRetries 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
flyteorg/flytekit-javaacoustic-carpenter-78188
03/24/2026, 3:53 PM