temporalio / temporalio/temporal

Workflow reset does not recover child completion if child completed after original parent failed

Open
#10,639 0 comments 0 reactions 1 assignee View on GitHub

@spkane31 is already working on this.

Since Jun 11, 2026.

potential-bug
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:

  1. Parent workflow starts.
  2. Parent starts a child workflow.
  3. Parent fails before receiving the child completion.
  4. Child completes successfully after the parent is already closed.
  5. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.