2 months ago
98fe9b8The retry_pending_operations function existed but was never called, leaving operations in RetryWait state indefinitely after a transient failure or app restart. The startup recovery pass transitions in-flight operations to RetryWait, but nothing re-executed them. Spawn a background thread in app_runtime that: 1. Runs an immediate pass on startup (handles operations transitioned to RetryWait by run_remote_recovery) 2. Polls every 30 seconds to retry rate-limited operations once their next_attempt_at_ms has passed Removed the #[allow(dead_code)] on retry_pending_operations since it is now called by the executor.
Parentbc4665f