temporalio / temporalio/temporal

Delay workflow completion until abandoned children start

Open
#685 5 comments 9 reactions 1 assignee View on GitHub

@yycptt is already working on this.

Since Jan 29, 2022.

enhancement
Dominant language
Go
Stars
23.2k
Forks
1.9k
Avg merge
2d 8h
Merged PRs (30d)
228

Description

Is your feature request related to a problem? Please describe.
Currently, if a parent workflow exits before a child workflow has started the child is not going to start at all. It is possible to resolve by waiting for a Promise returned from ChildWorkflowStub.getExecution(). But this is a pretty obscure and error-prone feature.

Describe the solution you'd like
The proposal is to automatically delay workflow completion if there is an outstanding start child request that has abandon parent policy until the child reported that it started successfully. It can be done by failing the decision task and scheduling it after children have started.

Describe alternatives you've considered
I tried implementing it at the SDK level. The problem was dealing with new events (like signals) received after the workflow code has completed.

Additional context
The original SDK issue.

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.