fix: increase HTTP 500 retry count to 5 with longer backoff and visible logging
CI / validate (pull_request) Successful in 1m4s
CI / auto-merge (pull_request) Successful in 15s

The Gitea registry's offset mismatch race condition needs more than
~15s to recover. Increase retries from 3 to 5 and backoff from 5-20s
to 10-60s exponential, giving up to ~2 minutes of recovery time.
Add before_sleep logging so retries are visible in CI output.

# Implements: REQ-1, REQ-2, REQ-3
This commit is contained in:
emil
2026-08-26 16:25:57 +02:00
parent 55bcd8fa01
commit 0794c93066
3 changed files with 52 additions and 2 deletions
+34
View File
@@ -0,0 +1,34 @@
# DEVX-164: Increase HTTP 500 retry count and backoff for docker push
## Problem
The HTTP 500 retry logic (DEVX-162, DEVX-163) works correctly — 3 retry
attempts are made. But all 3 attempts fail because the Gitea registry's
"offset mismatch" race condition needs more than ~15s to recover. The
current backoff is 5s-20s with 3 attempts (total ~15s of waiting).
## Approach
Increase retry count from 3 to 5 and backoff from 5-20s to 10-60s,
giving the registry up to ~2 minutes to recover. Add visible logging
between retry attempts so the CI logs show the retry happening.
REQ-1: Increase retry count from 3 to 5
REQ-2: Increase backoff from 5-20s to 10-60s exponential
REQ-3: Add visible logging between retry attempts (click.echo)
REQ-4: All tests pass with 100% coverage
## Test Plan
- Unit tests verify retry count and backoff parameters
- Unit tests verify logging output on retry
- Manual: trigger build-images workflow and verify retries visible in logs
## Deploy Plan
- Merge to master
## Rollback Plan
- Revert the merge commit
## Acceptance Criteria
- [x] REQ-1: Increase retry count from 3 to 5
- [x] REQ-2: Increase backoff from 5-20s to 10-60s exponential
- [x] REQ-3: Add visible logging between retry attempts (click.echo)
- [x] REQ-4: All tests pass with 100% coverage