Skip to content

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

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

Bind draining payload upload retries to the current completion lease#41
rmcdaniel merged 2 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 existing worker admission waits, preserve prepared bytes and try ordinary admission again after capacity recovers. No added coordinator or handler re-execution. Prepare Rust SDK 2.0.5.

Validation on Rust 1.86: formatting passed; all-target/all-feature tests passed (211 library and 23 integration/compile tests); 3 documentation tests also passed. Sixteen upload tests cover protocol payload slots, capability rejection, fencing, stale ownership and identical-byte recovery. Full public CI passed at 7db1f87.

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 c528ea6 into main Sep 8, 2026
9 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