Adopt Workflow lease recovery in Server 2.4.35 - #292
Conversation
|
Reviewed exact head Only Workflow changes in the dependency graph, to published 2.3.1 at All normal source gates pass, including 2,252 feature cases / 47,202 assertions, corpus and package authority, chart install, MySQL HTTP topology, both database predecessor/successor checks and the final polling cache smoke. Workflow's source matrix and all 16 published Laravel/PHP upgrade combinations pass. Existing published Server 2.4.34 and PHP SDK 2.1.6 independently reproduce the defect with an ordinary signal and real lease expiry. Merge the qualified tree and publish the immutable images/chart through the protected release workflow. Verify installed engine identity and image provenance/readiness, run the unchanged focused recovery probe and the exact published PHP/Python/Rust lifecycle tuple, then adopt that verified tuple in Sample App. Keep Workflow #599 open until this outcome is complete. Shared #136 candidate qualification and activation are separate and retain their existing gates. Delete this merged head branch when the tree is retained on main. |
|
Merged the exact qualified Server tree at The clean source worktree is removed. The completed published baseline test stack and network are absent. Next verify the release's exact image digest/package identity, run the focused real-expiry recovery probe and the published PHP/Python/Rust lifecycle tuple, then update Sample App's locked engine and qualified artifact tuple. Keep Workflow #599 open through that outcome. The cooperative candidate is independently updated at |
Published native recovery delivery verifiedServer 2.4.35 is published from The identical ordinary-protocol published PHP probe fails on untouched Server 2.4.34 and passes on 2.4.35. After natural workflow lease expiry, a replacement reclaims the same workflow task at the next attempt while the older active activity remains unchanged. Stale workflow completion is rejected, the original activity owner completes successfully, and history has exactly one activity completion and one workflow completion. No database lease edits or installed-code patches are used. Published lifecycle run 36832820422 passes all 12 cells against Workflow 2.3.1, Server 2.4.35, PHP SDK 2.1.6, Python SDK 2.3.7, Rust SDK 2.1.2, CLI 2.1.3 and Waterline 2.0.9. There are no blocked or unproven cells. The release permanently retains publication/chart evidence, the installed-image assertion probe, before/after raw recovery JSON, the identical PHP reproducer, full lifecycle evidence, a report with the frozen tuple and commands, and SHA256SUMS. Every downloaded release asset matches its upload hash. Completed local test stacks, anonymous volumes, images, SDK dependencies and merged native/stable Server branches are removed. Sample App adoption remains in PR #129 through its exact-head gates and any devcontainer publication. The new cooperative protocol is still a separate draft qualification under shared #136. |
Customer outcome
Adopt published Workflow 2.3.1 at
fb3f3e59a4342fdebf8ced6160798906c3ee4387to carry the repair for durable-workflow/workflow#599 into the self-hosted Server image. A legitimately running activity must not hide an expired workflow task from the replacement worker's poll and native repair path.The Composer graph changes one dependency only. Prepare Server 2.4.35 and Helm chart 0.1.131 through the existing source-release authority and update the chart's change description. Server routes, worker protocol defaults and capability admission are unchanged.
Qualification and release follow-through
The cooperative candidate Server PR #291 and Python PR #90 will be requalified with this corrected package. Their protocol 1.20 activation remains governed by durable-workflow/.github#136. Cloud adoption and managed-plan qualification remain in their private owning record.