Files
devx/docs/specs/DEVX-164.md
T
emil 0794c93066
CI / validate (pull_request) Successful in 1m4s
CI / auto-merge (pull_request) Successful in 15s
fix: increase HTTP 500 retry count to 5 with longer backoff and visible logging
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
2026-08-26 16:25:57 +02:00

1.3 KiB

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

  • 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