EnhancementQueueWorker retry never re-triggers: transient failures stall until app restart #137
Labels
No labels
blocked:children
blocked:needs-decision
blocked:needs-human
blocked:verify-failed
bug
deferred
enhancement
feature-request
in-progress
needs-decompose
needs-triage
quickfix
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/transcriber#137
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
EnhancementQueueWorker.doWork() always returns Result.success() (line 84; early return at line 57 when no pending jobs). A transient failure marks the job row FAILED_RETRYABLE with incremented attemptCount (up to MAX_ATTEMPTS=3), but WorkManager's retry/backoff never engages because the worker never returns Result.retry(). The only schedule() call is App.onCreate(), so a transiently-failed job stays PENDING until the app process is restarted.
Actual:
Expected: transient failures return Result.retry() (or re-enqueue the worker) so WorkManager's EXPONENTIAL backoff (already configured in EnhancementQueueScheduler) re-triggers processing without app restart; job advances to FAILED after MAX_ATTEMPTS.
Reproduction: inspect EnhancementQueueWorker.doWork() — every path returns Result.success(); no Result.retry() anywhere.
Filed from kanban card t_a946c33c (post-deploy probe of Mark/transcriber#133).
Closed: implementation already shipped on
mainas0f9cec1(see commit message). Verified locally: feature is inmain.