temporalio / temporalio/temporal
Workflow reset does not recover child completion if child completed after original parent failed
@spkane31 is already working on this.
Since Jun 11, 2026.
- Dominant language
- Go
- Stars
- 23.2k
- Forks
- 1.9k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 228
Description
Problem
A parent workflow can get stuck after reset if a child workflow completed after the original parent had already failed/closed.
Timeline:
- Parent workflow starts.
- Parent starts a child workflow.
- Parent fails before receiving the child completion.
- Child completes successfully after the parent is already closed.
- Later, the parent is reset to a point after
ChildWorkflowExecutionStarted.
Expected behavior: the reset parent run should observe the already completed child and make progress.
Actual behavior: the reset parent run waits forever for the child completion. The child is already completed, but the completion was not recorded in the original parent history and reset does not synthesize/recover it.
Why this seems problematic
The child close transfer task appears to report completion to the parent while the parent is already closed, so the completion is effectively dropped. Later reset rebuilds the parent from parent history only, where the child completion event is missing.
Repro
https://github.com/st0ke/temporal/commit/ee0c81f645e9f49268f03a95686000e5376c845c - the reset run does not complete:
workflow_reset_with_child_test.go:743:
Received unexpected error:
context deadline exceeded
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.