temporalio / temporalio/temporal
Do not fail continue as new on a new signal
Nobody has claimed this yet.
- 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.
If a signal is received during a workflow task processing that created continue-as-new command the task is failed. This is to allow the workflow to process the newly received signal. The workflow handles such a signal by rolling back its state through replay from the beginning. This creates a problem if signals are constantly sent to the workflow. It keeps replaying without ever finishing. In reality, it reaches the hard limit of signals per workflow and then continue-as-new is executed.
Describe the solution you'd like
By default pass signal to the next run of the workflow. This way the continue-as-new is never blocked and the signal is not lost.
This behavior should be configurable through options as in some use cases signal shouldn't be transferred.
The diagram that illustrates the current handling of the signal received during a workflow task execution that completes a workflow run:

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.
Research direction
The issue does not name files, tests, or an entry point. Start by tracing the current signal handling when a workflow task creates a continue-as-new command, then identify how transfer behavior could be configured. Done means the default behavior passes the signal to the next run without blocking continue-as-new, while an option preserves the current handling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100