Skip to content

Bind draining payload upload retries to the current completion lease - #65

Merged
rmcdaniel merged 3 commits into
mainfrom
fix/leased-external-payload-draining
Sep 8, 2026
Merged

Bind draining payload upload retries to the current completion lease#65
rmcdaniel merged 3 commits into
mainfrom
fix/leased-external-payload-draining

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Sep 8, 2026

Copy link
Copy Markdown
Member

Companion to durable-workflow/server#146 and durable-workflow/server#147.

  • Keep ordinary uploads unchanged.
  • On a draining refusal only, use Server's advertised completion-context capability for one retry with the same bytes.
  • Bind task, attempt, worker owner, operation and immutable payload slot. Cover activity result/failure, query result, workflow commands/failure and stream payloads.
  • Preserve old-Server behavior, client-input refusals, namespace quotas, integrity checks and terminal errors. Do not rerun handlers or add a retry coordinator.
  • Prepare PHP SDK 2.0.9.

Validation: 633 tests / 3,609 assertions, one existing skip; PHPStan passes. Full PHP/framework CI passed at implementation commit 18b52e0. Real HTTP activity/workflow/query completion and cold payload readback passed against the Server fix, alongside Python and Rust: durable-workflow/server#147 (comment)

Release-metadata CI is running at the final head. Published-artifact bounded-storage qualification remains on Server #146; this PR does not claim a production deployment.

@rmcdaniel
rmcdaniel marked this pull request as ready for review September 8, 2026 17:37
@rmcdaniel
rmcdaniel merged commit 57e95f3 into main Sep 8, 2026
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants