Skip to content

v1.5.11 — Fix infinite retry loop for unknown exceptions

Choose a tag to compare

@trek-e trek-e released this 25 Feb 01:43
· 131 commits to main since this release

Bug Fix

  • Fix infinite retry loop for unknown exceptions — The catch-all exception handler in the background worker was using bare nack_job() without incrementing retry_count, causing jobs that triggered unexpected error types to spin forever. Now uses proper retry progression with exponential backoff and DLQ escalation after 5 attempts, matching the existing TransientError behavior.

Testing

  • 30 new tests for worker/processor.py — coverage 54% → 78%
  • New TestWorkerLoop integration tests exercise the actual _worker_loop method end-to-end for all error paths (success, TransientError, PermanentError, PlexServerDown, PlexNotFound, unknown exceptions)
  • Helper method tests: _prepare_for_retry, _is_ready_for_retry, _requeue_with_metadata
  • Lifecycle tests: start(), stop(), DLQ startup logging
  • _fetch_stash_image auth header and error handling tests