Skip to content

Acknowledge pending replay without rejected empty completions - #99

Merged
rmcdaniel merged 1 commit into
mainfrom
fix/pending-history-ack
Oct 7, 2026
Merged

rmcdaniel merged 1 commit into
mainfrom
fix/pending-history-ack

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

Change

Use the established WorkflowTaskWaitingForHistory acknowledgement when replay has no new commands. Preserve the original task, lease owner, attempt and worker credential. Nonempty completion commands retain their wire contract. Refuse message-stream metadata without commands before a waiting request, preserving progress.

Delivered

Merged as 2fe5acc9f03664bd5fff5d298849931477247d81 and published as 2.4.2. Exact PR/main CI succeeds with 2,460 unit tests across Python 3.10/3.11/3.12 and 22 connected tests. Lint, mypy, regression corpus, package/smoke, docs, boundary, target-branch and publication gates pass. Five added regression cases reproduce the baseline failure.

The installed PyPI package passes published Server 2.3.12 to 2.5.6 recovery with PHP 2.2.3 and Rust 3.2.0. All nine original runs preserve external payloads and committed history prefixes. Waiting runs preserve one timer through repeated signals and process SIGKILL before its original deadline. Normal supervisors recover workers, and each run completes once. Full transport logs show zero HTTP 422s and six waiting acknowledgements. Python logs have no task completion error.

The live reference is verified, the merged remote branch is deleted and all disposable test resources are removed. Owning issue: #98.

@rmcdaniel
rmcdaniel marked this pull request as ready for review October 7, 2026 07:38
@rmcdaniel
rmcdaniel merged commit 2fe5acc into main Oct 7, 2026
13 checks passed
@rmcdaniel
rmcdaniel deleted the fix/pending-history-ack branch October 7, 2026 07:39
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