Commits
Click on a commit to change the comparison rangeFix deployment concurrency slot starvation bug
When a flow run is rejected to AwaitingConcurrencySlot state, its
scheduled_time was set to now + 30 seconds (concurrency_slot_wait_seconds
default). However, workers poll for runs with scheduled_before = now + 10
seconds (prefetch_seconds default).
This mismatch caused runs to be invisible to workers for 20+ seconds,
and if the slot was still unavailable when finally polled, they'd be
rescheduled another 30 seconds out - creating indefinite starvation.
Fix: Reduce concurrency_slot_wait_seconds default from 30s to 5s, ensuring
runs become visible within the worker's prefetch window.
Adds regression tests:
- test_enqueued_runs_acquire_slots_after_release
- test_enqueued_runs_visible_in_worker_polling_query
- test_awaiting_concurrency_slot_visible_within_worker_prefetch_window
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>17 hours ago
by zzstoatzz