PrefectHQ
prefect
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
Harden Docket task delivery semantics
codex/docket-background-task-ha
5 hours ago
fix: abandon (not crash) evicted runs when Kubernetes owns retries Closes #22620. With a Kubernetes work pool at backoffLimit > 0, a SIGTERM (eviction) made the in-pod engine finalize the run Crashed via handle_crash, but Kubernetes then retried the Job and re-ran the flow, so the run left a terminal state and executed twice. Add an "abandon" SIGTERM behavior: when backoffLimit > 0 the worker sets PREFECT_FLOW_RUN_EXECUTE_SIGTERM_BEHAVIOR=abandon, and the engine bubbles the raw SIGTERM without proposing a state. The run stays non-terminal while Kubernetes retries the pod; if retries are exhausted the worker's non-zero-exit crash proposal finalizes it. Prefect reschedule and k8s Job backoff remain mutually exclusive. A raw SIGTERM can reach an async flow as a cancellation rather than a TerminationSignal, so the bubble is gated on a latch set by the SIGTERM handler to avoid abandoning ordinary cancellations (e.g. flow timeouts).
chuqCTC:fix/22620-abandon-sigterm-backofflimit
5 hours ago
fix: abandon (not crash) evicted runs when Kubernetes owns retries Closes #22620. With a Kubernetes work pool at backoffLimit > 0, a SIGTERM (eviction) made the in-pod engine finalize the run Crashed via handle_crash, but Kubernetes then retried the Job and re-ran the flow, so the run left a terminal state and executed twice. Add an "abandon" SIGTERM behavior: when backoffLimit > 0 the worker sets PREFECT_FLOW_RUN_EXECUTE_SIGTERM_BEHAVIOR=abandon, and the engine bubbles the raw SIGTERM without proposing a state. The run stays non-terminal while Kubernetes retries the pod; if retries are exhausted the worker's non-zero-exit crash proposal finalizes it. Prefect reschedule and k8s Job backoff remain mutually exclusive.
chuqCTC:fix/22620-abandon-sigterm-backofflimit
6 hours ago
fix(concurrency): release lease when caller is cancelled after the future is running Co-Authored-By: bot_apk <apk@cognition.ai>
devin/1784924513-fix-cancelled-lease-acquire
6 hours ago
Use native Docket delivery lifecycle
codex/docket-background-task-ha
6 hours ago
fix(concurrency): release leases granted to cancelled callers A caller that is cancelled while awaiting slot acquisition cancels the concurrent future, so the in-flight lease was granted but never handed to anyone: the service crashed with InvalidStateError and the slots stayed occupied until lease expiry. The queue service now transitions the future to running before setting its result and releases the lease when the caller has already cancelled. Co-Authored-By: bot_apk <apk@cognition.ai>
devin/1784924513-fix-cancelled-lease-acquire
6 hours ago
Make ConcurrencyContext exit cleanup best-effort (#22619) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Alexander Streed <alex.s@prefect.io> Co-authored-by: alex.s <ajstreed1@gmail.com>
main
7 hours ago
Make Redis concurrency leases cluster-slot safe (#22560)
main
7 hours ago
Latest Branches
CodSpeed Performance Gauge
0%
Add highly available background task delivery
#22609
5 hours ago
906b582
codex/docket-background-task-ha
CodSpeed Performance Gauge
0%
Abandon (not crash) evicted flow runs when Kubernetes owns retries
#22622
5 hours ago
b6df6d9
chuqCTC:fix/22620-abandon-sigterm-backofflimit
CodSpeed Performance Gauge
0%
fix(concurrency): release leases granted to callers that were cancelled mid-acquire
#22621
6 hours ago
fa6e7e5
devin/1784924513-fix-cancelled-lease-acquire
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs