Skip to content

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

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#59
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.

Ordinary uploads are unchanged. On a draining refusal and exact advertised capability, retry identical bytes bound to the current worker completion's task, attempt, owner and payload slot. Older runtimes, client inputs and hard fences do not receive this exception.

Reuse the existing storage retry policy, including late upload refusals, without rerunning handlers or weakening ordinary mutation retry safety. After waiting for capacity, try ordinary upload admission again. Prepare Python SDK 2.0.4.

Validation: 1,388 non-integration tests passed, 15 integration tests deselected locally; full public CI including integration passed at 452a9dc. Mypy and Ruff pass. Real HTTP activity/workflow/query completions and cold payload readback passed with all three SDKs: durable-workflow/server#147 (comment)

Release-metadata CI is running at the final head. Published-artifact bounded-storage qualification remains on Server #146; no production deployment is claimed.

@rmcdaniel
rmcdaniel marked this pull request as ready for review September 8, 2026 17:37
@rmcdaniel
rmcdaniel merged commit 74f1140 into main Sep 8, 2026
13 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